diff options
| author | Maxim Cournoyer <maxim@guixotic.coop> | 2026-03-30 12:12:21 +0900 |
|---|---|---|
| committer | Noé Lopez <noelopez@free.fr> | 2026-08-25 01:15:29 +0200 |
| commit | 3f03582d1406e1ce1c27bdb2a6a4ffb55e7d6d81 (patch) | |
| tree | dddde6b6a63fdd0fd864561e991c2da33d03426c /gnu | |
| parent | d566f63a8b8b363072e4bcb6fb35d7d6041006a4 (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.scm | 139 |
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 |
