summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim@guixotic.coop>2026-03-30 12:12:21 +0900
committerNoé Lopez <noelopez@free.fr>2026-08-25 01:15:29 +0200
commit3f03582d1406e1ce1c27bdb2a6a4ffb55e7d6d81 (patch)
treedddde6b6a63fdd0fd864561e991c2da33d03426c /gnu
parentd566f63a8b8b363072e4bcb6fb35d7d6041006a4 (diff)
gnu: gjs: Update to 1.88.0.
* gnu/packages/gnome.scm (gjs): Update to 1.88.0. [source] <snippet>: Update; unbundle most subprojects. [#:modules]: New. [#:configure-flags]: Delete. [#:phases] {pre-check}: Delete, moving relevant bits to... {check}: ... this new override phase, which is ordered after install. {sanitize-pkg-config-files}: New. [native-inputs]: Add gnome-desktop-testing, sysprof. Replace xorg-server-for-tests with xvfb-run. [propagated-inputs]: Remove cairo. Add glib. Move mozjs to... [inputs]: ... here. Change-Id: I13d20c931dc68cdedebb8952ebf44d31caa6b684
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/gnome.scm139
1 files changed, 85 insertions, 54 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 2cf7f3dd501..1766a0a89f5 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7948,57 +7948,88 @@ configuration program to choose applications starting on login.")
7948(define-public gjs 7948(define-public gjs
7949 (package 7949 (package
7950 (name "gjs") 7950 (name "gjs")
7951 (version "1.86.0") 7951 (version "1.88.0")
7952 (source (origin 7952 (source
7953 (method url-fetch) 7953 (origin
7954 (uri (string-append "mirror://gnome/sources/" name "/" 7954 (method url-fetch)
7955 (version-major+minor version) "/" 7955 (uri (string-append "mirror://gnome/sources/" name "/"
7956 name "-" version ".tar.xz")) 7956 (version-major+minor version) "/"
7957 (sha256 7957 name "-" version ".tar.xz"))
7958 (base32 7958 (sha256
7959 "1687l3nshrbc0wn18q6mn974vl14wa85wzqcilm4qkc0axx8yi33")) 7959 (base32
7960 (modules '((guix build utils))) 7960 "0ly43lcpafl0an3k4g4mvwrwvc78f0y91ckdi6qn13ky67rvk81h"))
7961 (snippet 7961 (modules '((guix build utils)
7962 '(begin 7962 (ice-9 ftw)
7963 (substitute* "installed-tests/scripts/testCommandLine.sh" 7963 (srfi srfi-26)))
7964 (("Valentín") "") 7964 (snippet
7965 (("☭") "")) 7965 #~(begin
7966 (substitute* "modules/script/package.js" 7966 ;; XXX: 'delete-all-but' is copied from the turbovnc package.
7967 (("type_default_interface_ref") 7967 (define (delete-all-but directory . preserve)
7968 "type_default_interface_get")))))) 7968 (with-directory-excursion directory
7969 (let* ((pred (negate (cut member <>
7970 (cons* "." ".." preserve))))
7971 (items (scandir "." pred)))
7972 (for-each (cut delete-file-recursively <>) items))))
7973 (delete-all-but "subprojects"
7974 "gobject-introspection-tests")))))
7969 (build-system meson-build-system) 7975 (build-system meson-build-system)
7970 (arguments 7976 (arguments
7971 '(#:configure-flags '("-Dinstalled_tests=false") 7977 (list
7972 #:phases 7978 #:modules '((guix build meson-build-system)
7973 (modify-phases %standard-phases 7979 (guix build utils)
7974 (add-before 'check 'pre-check 7980 (ice-9 match))
7975 (lambda _ 7981 #:configure-flags #~(list "-Dinstalled_tests=false")
7976 ;; The test suite requires a running X server. 7982 #:phases
7977 (system "Xvfb :1 &") 7983 #~(modify-phases %standard-phases
7978 (setenv "DISPLAY" ":1") 7984 (add-after 'install 'wrap-gi
7979 7985 (lambda* (#:key inputs #:allow-other-keys)
7980 ;; For the missing /etc/machine-id. 7986 (wrap-program (string-append #$output "/bin/gjs")
7981 (setenv "DBUS_FATAL_WARNINGS" "0") 7987 `("GI_TYPELIB_PATH" suffix
7982 (setenv "HOME" (getcwd)))) 7988 (,(dirname
7983 (add-after 'unpack 'skip-failing-tests 7989 (search-input-file
7984 (lambda _ 7990 inputs
7985 ;; Expects to test against 2.84, but we're using 2.86. 7991 "lib/girepository-1.0/GObject-2.0.typelib"))
7986 (substitute* "installed-tests/js/testIntrospection.js" 7992 ,(dirname
7987 (("const skip = imports.gi.versions.GioUnix !== '2\\.0';") 7993 (search-input-file
7988 "const skip = true;")))) 7994 inputs
7989 (add-after 'install 'wrap-gi 7995 "lib/girepository-1.0/GIRepository-2.0.typelib")))))))
7990 (lambda* (#:key inputs outputs #:allow-other-keys) 7996 (replace 'check
7991 (wrap-program (string-append (assoc-ref outputs "out") 7997 (lambda* (#:key tests? parallel-tests? #:allow-other-keys)
7992 "/bin/gjs") 7998 (when tests?
7993 `("GI_TYPELIB_PATH" suffix 7999 ;; For the missing /etc/machine-id.
7994 (,(dirname 8000 (setenv "DBUS_FATAL_WARNINGS" "0")
7995 (search-input-file 8001 (setenv "HOME" (getcwd))
7996 inputs 8002 ;; In Guix, gobject-introspection is patched to always embed
7997 "lib/girepository-1.0/GObject-2.0.typelib")) 8003 ;; the absolute path of a typelib library; unfortunately it
7998 ,(dirname 8004 ;; does this also for test typelibs not meant to be installed;
7999 (search-input-file 8005 ;; work around it via temporary symlinks.
8000 inputs 8006 (let* ((test-libraries (find-files (getcwd)
8001 "lib/girepository-1.0/GIRepository-2.0.typelib")))))))))) 8007 "\\.so(\\.[0-9]*)?$"))
8008 (test-library-links (map (lambda (x)
8009 (cons x (string-append
8010 #$output "/lib/"
8011 (basename x))))
8012 test-libraries)))
8013 (for-each (match-lambda
8014 ((old . new)
8015 (symlink old new)))
8016 test-library-links)
8017 (invoke "xvfb-run" "--" "dbus-run-session"
8018 "meson" "test" "--print-errorlogs" "-t" "0"
8019 "-j" (if parallel-tests?
8020 (number->string (parallel-job-count))
8021 "1"))
8022 (for-each delete-file (map cdr test-library-links))))))
8023 (add-after 'install 'delete-installed-tests
8024 (lambda _
8025 ;; Installed tests libraries are installed despite
8026 ;; -Dinstalled_tests=false.
8027 (delete-file-recursively
8028 (string-append #$output "/libexec/installed-tests"))))
8029 (add-after 'install 'sanitize-pkg-config-files
8030 (lambda _
8031 (substitute* (find-files #$output "\\.pc$")
8032 (("^Requires.private:.*") "")))))))
8002 (native-inputs 8033 (native-inputs
8003 (list `(,glib "bin") ;for glib-compile-resources 8034 (list `(,glib "bin") ;for glib-compile-resources
8004 pkg-config 8035 pkg-config
@@ -8007,13 +8038,13 @@ configuration program to choose applications starting on login.")
8007 dbus 8038 dbus
8008 dconf ;required to properly store settings 8039 dconf ;required to properly store settings
8009 gtk+ 8040 gtk+
8041 sysprof
8010 util-linux 8042 util-linux
8011 xorg-server-for-tests)) 8043 xvfb-run))
8044 (inputs (list mozjs readline))
8012 (propagated-inputs 8045 (propagated-inputs
8013 ;; These are all in the Requires.private field of gjs-1.0.pc. 8046 ;; These are all in the Requires field of gjs-1.0.pc.
8014 ;; Check the version of mozjs required in meson.build. 8047 (list glib gobject-introspection))
8015 (list cairo gobject-introspection mozjs))
8016 (inputs (list readline))
8017 (synopsis "Javascript bindings for GNOME") 8048 (synopsis "Javascript bindings for GNOME")
8018 (home-page "https://gitlab.gnome.org/GNOME/gjs") 8049 (home-page "https://gitlab.gnome.org/GNOME/gjs")
8019 (description 8050 (description