diff options
Diffstat (limited to 'gnu/packages/gnome.scm')
-rw-r--r-- | gnu/packages/gnome.scm | 970 |
1 files changed, 403 insertions, 567 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f651459631..9adc5af49a 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -73,6 +73,7 @@ ;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com> ;;; Copyright © 2022 Alexandros Theodotou <alex@zrythm.org> ;;; Copyright © 2022 Arjan Adriaanse <arjan@adriaan.se> +;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -373,9 +374,7 @@ features to enable users to create their discs easily and quickly.") "-Denable-gtk-doc=false" "-Dvapigen=false"))) (native-inputs - `(("glib:bin" ,glib "bin") - ("pkg-config" ,pkg-config) - ("vala" ,vala))) + (list `(,glib "bin") pkg-config vala)) (inputs (list glib glib-networking)) (synopsis "Cloudproviders Integration API") @@ -1205,7 +1204,10 @@ as a \"boring window manager for the adult in you.\"") "mm-common-" version ".tar.xz")) (sha256 (base32 - "1x8yvjy0yg17qyhmqws8xh2k8dvzrhpwqz7j1cfwzalrb1i9c5g8")))) + "1x8yvjy0yg17qyhmqws8xh2k8dvzrhpwqz7j1cfwzalrb1i9c5g8")) + (patches + (search-patches + "mm-common-reproducible-tarball.patch")))) (build-system meson-build-system) (arguments `(#:phases @@ -1647,44 +1649,35 @@ tour of all gnome components and allows the user to set them up.") (define-public gnome-user-share (package - (name "gnome-user-share") - (version "3.34.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "04r9ck9v4i0d31grbli1d4slw2d6dcsfkpaybkwbzi7wnj72l30x")))) - (build-system meson-build-system) - (arguments - `(#:glib-or-gtk? #t - #:meson ,meson-0.60 - #:configure-flags - `("-Dsystemduserunitdir=/tmp/empty" - ;; Enable nautilus extension for file sharing. - "-Dnautilus_extension=true"))) - (native-inputs - `(("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") - ("gobject-introspection" ,gobject-introspection) - ("gtk+:bin" ,gtk+ "bin") - ("pkg-config" ,pkg-config) - ("yelp-tools" ,yelp-tools))) - (inputs - (list glib - gnome-bluetooth - gtk+ - libcanberra - libnotify - nautilus)) ; For nautilus extension. - (synopsis "File sharing for GNOME desktop") - (description "GNOME User Share is a small package that binds together + (name "gnome-user-share") + (version "43.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1kiq2n39yz7szcf7wrs5vhd2hdn04zx1pxgp7qskycaq0nm0dwqd")))) + (build-system meson-build-system) + (arguments + (list #:glib-or-gtk? #t + #:configure-flags + #~(list "-Dsystemduserunitdir=/tmp/empty"))) + (native-inputs + (list gettext-minimal + `(,glib "bin") + gobject-introspection + `(,gtk "bin") + pkg-config + yelp-tools)) + (inputs (list glib gtk)) + (synopsis "File sharing for GNOME desktop") + (description "GNOME User Share is a small package that binds together various free software projects to bring easy to use user-level file sharing to the masses.") - (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share") - (license license:gpl2+))) + (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share") + (license license:gpl2+))) (define-public sushi (package @@ -2338,7 +2331,7 @@ The gnome-about program helps find which version of GNOME is installed.") (define-public gnome-disk-utility (package (name "gnome-disk-utility") - (version "42.0") + (version "44.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -2346,18 +2339,22 @@ The gnome-about program helps find which version of GNOME is installed.") name "-" version ".tar.xz")) (sha256 (base32 - "02q906gn420xbf1f0apazryzqfv5b1ammz1vrci66hk79m2n8r8v")))) + "1vx3wyvidjyzr4141p3zrvgx88rp7vwj6n3sf7c3gnvci6bi00q2")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Dlogind=libelogind") - #:meson ,meson-0.60 #:phases (modify-phases %standard-phases (add-after 'unpack 'skip-gtk-update-icon-cache ;; Don't create 'icon-theme.cache'. (lambda _ - (substitute* "meson_post_install.py" - (("gtk-update-icon-cache") "true"))))))) + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false") + (("glib_compile_schemas: true") + "glib_compile_schemas: false") + (("update_desktop_database: true") + "update_desktop_database: false"))))))) (native-inputs (list docbook-xml docbook-xsl @@ -2379,7 +2376,7 @@ The gnome-about program helps find which version of GNOME is installed.") libpwquality libsecret udisks)) - (home-page "https://git.gnome.org/browse/gnome-disk-utility") + (home-page "https://gitlab.gnome.org/GNOME/gnome-disk-utility") (synopsis "Disk management utility for GNOME") (description "Disk management utility for GNOME.") (license license:gpl2+))) @@ -2508,7 +2505,7 @@ GNOME Desktop.") (define-public gdl (package (name "gdl") - (version "3.34.0") + (version "3.40.0") (source (origin (method git-fetch) (uri (git-reference @@ -2520,7 +2517,7 @@ GNOME Desktop.") (file-name (git-file-name name version)) (sha256 (base32 - "154qcr0x6f68f4q526y87imv0rscmp34n47nk1pp82rsq52h2zna")))) + "11hp93gqk7m64h84q5hndzlwj4w6hl0cbmzrk2pkdn04ikm2zj4v")))) (build-system gnu-build-system) (native-inputs (list autoconf @@ -2705,7 +2702,7 @@ update_desktop_database): true" _ tool) libgnome-keyring adwaita-icon-theme gdk-pixbuf - atk + at-spi2-core pango gtk+ glib @@ -2737,7 +2734,7 @@ on the GNOME Desktop with a single simple application.") (define-public gsettings-desktop-schemas (package (name "gsettings-desktop-schemas") - (version "41.0") + (version "42.0") (source (origin (method url-fetch) @@ -2746,7 +2743,7 @@ on the GNOME Desktop with a single simple application.") name "-" version ".tar.xz")) (sha256 (base32 - "1v9jagk679m01nji0acirynxinziv036618c7xc49l4nwmr9ja3p")))) + "1li3fcqwnw20f4j0i21i88fygm0hli8gmzkn4apgf8ynkrd371k6")))) (build-system meson-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -3300,7 +3297,8 @@ API add-ons to make GTK+ widgets OpenGL-capable.") '()) (list gtk+ libxml2))) (native-inputs - (list docbook-xml-4.2 + (list at-spi2-core ;for tests + docbook-xml-4.2 docbook-xsl gettext-minimal `(,glib "bin") @@ -3559,7 +3557,7 @@ for dealing with different structured file formats.") (define-public librsvg (package (name "librsvg") - (version "2.50.7") + (version "2.54.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/librsvg/" @@ -3567,154 +3565,127 @@ for dealing with different structured file formats.") "librsvg-" version ".tar.xz")) (sha256 (base32 - "1g3f8byg5w08fx1bka12mmpl59v6a4q2p827w6m2la6mijq63yzz")) + "0cs8qbn2khibb5w1r0f6cibfmkfb7zg713526vhc0hva7wj2l5ga")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "vendor"))))) (build-system cargo-build-system) (outputs '("out" "doc" "debug")) (arguments - `(#:install-source? #f - #:modules - ((guix build cargo-build-system) + (list + #:install-source? #f + #:modules + '((guix build cargo-build-system) (guix build utils) ((guix build gnu-build-system) #:prefix gnu:)) - #:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-cairo-rs" ,rust-cairo-rs-0.8) - ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) - ("rust-cast" ,rust-cast-0.2) - ("rust-cssparser" ,rust-cssparser-0.27) + #:cargo-inputs + `(("rust-byteorder" ,rust-byteorder-1) + ("rust-cairo-rs" ,rust-cairo-rs-0.15) + ("rust-cast" ,rust-cast-0.3) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-clap" ,rust-clap-2) + ("rust-cssparser" ,rust-cssparser-0.28) ("rust-data-url" ,rust-data-url-0.1) ("rust-encoding" ,rust-encoding-0.2) - ("rust-float-cmp" ,rust-float-cmp-0.8) - ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8) - ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9) - ("rust-gio" ,rust-gio-0.8) - ("rust-gio-sys" ,rust-gio-sys-0.9) - ("rust-glib" ,rust-glib-0.9) - ("rust-glib-sys" ,rust-glib-sys-0.9) - ("rust-gobject-sys" ,rust-gobject-sys-0.9) - ("rust-itertools" ,rust-itertools-0.9) - ("rust-language-tags" ,rust-language-tags-0.2) + ("rust-float-cmp" ,rust-float-cmp-0.9) + ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.15) + ("rust-gio" ,rust-gio-0.15) + ("rust-glib" ,rust-glib-0.15) + ("rust-itertools" ,rust-itertools-0.10) + ("rust-language-tags" ,rust-language-tags-0.3) ("rust-libc" ,rust-libc-0.2) ("rust-locale-config" ,rust-locale-config-0.3) ("rust-markup5ever" ,rust-markup5ever-0.10) - ("rust-nalgebra" ,rust-nalgebra-0.21) + ("rust-nalgebra" ,rust-nalgebra-0.29) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-once-cell" ,rust-once-cell-1) - ("rust-pkg-config" ,rust-pkg-config-0.3) - ("rust-pango" ,rust-pango-0.8) - ("rust-pango-sys" ,rust-pango-sys-0.9) - ("rust-pangocairo" ,rust-pangocairo-0.9) + ("rust-pango" ,rust-pango-0.15) + ("rust-pangocairo" ,rust-pangocairo-0.15) ("rust-rayon" ,rust-rayon-1) - ("rust-rctree" ,rust-rctree-0.3) + ("rust-rctree" ,rust-rctree-0.4) ("rust-rgb" ,rust-rgb-0.8) ("rust-regex" ,rust-regex-1) - ("rust-selectors" ,rust-selectors-0.22) + ("rust-selectors" ,rust-selectors-0.23) ("rust-string-cache" ,rust-string-cache-0.8) - ("rust-tinyvec" ,rust-tinyvec-0.3) + ("rust-tinyvec" ,rust-tinyvec-1) ("rust-url" ,rust-url-2) ("rust-xml5ever" ,rust-xml5ever-0.16)) - #:cargo-development-inputs - (("rust-assert-cmd" ,rust-assert-cmd-1) - ("rust-cairo-rs" ,rust-cairo-rs-0.8) + #:cargo-development-inputs + `(("rust-anyhow" ,rust-anyhow-1) + ("rust-assert-cmd" ,rust-assert-cmd-2) + ("rust-cairo-rs" ,rust-cairo-rs-0.15) ("rust-chrono" ,rust-chrono-0.4) ("rust-criterion" ,rust-criterion-0.3) - ("rust-float-cmp" ,rust-float-cmp-0.8) + ("rust-glib" ,rust-glib-0.15) + ("rust-libc" ,rust-libc-0.2) ("rust-lopdf" ,rust-lopdf-0.26) - ("rust-png" ,rust-png-0.16) - ("rust-predicates" ,rust-predicates-1) - ("rust-tempfile" ,rust-tempfile-3)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "doc" - (substitute* "rsvg-docs.xml" - (("http://www.oasis-open.org/docbook/xml/4.3/") - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/")))))) - (add-after 'unpack 'prepare-for-build - (lambda _ - ;; In lieu of #:make-flags - (setenv "CC" ,(cc-for-target)) - ;; Something about the build environment resists building - ;; successfully with the '--locked' flag. - (substitute* '("Makefile.am" "Makefile.in") - (("--locked") "")))) - (add-before 'configure 'pre-configure - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "gdk-pixbuf-loader/Makefile.in" - ;; By default the gdk-pixbuf loader is installed under - ;; gdk-pixbuf's prefix. Work around that. - (("gdk_pixbuf_moduledir = .*$") - (string-append "gdk_pixbuf_moduledir = " - "$(prefix)/" - ,(dirname %gdk-pixbuf-loaders-cache-file) "/" - "loaders\n"))) - (substitute* "configure" - (("gdk_pixbuf_cache_file=.*") - (string-append "gdk_pixbuf_cache_file=" - (assoc-ref outputs "out") "/" - ,%gdk-pixbuf-loaders-cache-file "\n"))))) - (add-after 'configure 'gnu-configure - (lambda* (#:key outputs #:allow-other-keys #:rest args) - (apply (assoc-ref gnu:%standard-phases 'configure) - #:configure-flags - (list "--disable-static" - "--enable-vala" - (string-append "--with-html-dir=" - (assoc-ref outputs "doc") - "/share/gtk-doc/html")) - args))) - (add-after 'configure 'dont-vendor-self - (lambda* (#:key vendor-dir #:allow-other-keys) - ;; Don't keep the whole tarball in the vendor directory - (delete-file-recursively - (string-append vendor-dir "/" ,name "-" ,version ".tar.xz")))) - (replace 'build - (assoc-ref gnu:%standard-phases 'build)) - (add-before 'check 'ignore-failing-tests - ;; stderr=```/tmp/guix-build-.../librsvg-2.50.1/rsvg-convert: line 150: ls: command not found - (lambda _ - (substitute* "tests/src/cmdline/rsvg_convert.rs" - (("fn background_color_option_invalid_color_yields_error" all) - (string-append "#[ignore] " all)) - (("fn empty_input_yields_error" all) - (string-append "#[ignore] " all)) - (("fn empty_svg_yields_error" all) - (string-append "#[ignore] " all)) - (("fn env_source_data_epoch_empty" all) - (string-append "#[ignore] " all)) - (("fn env_source_data_epoch_no_digits" all) - (string-append "#[ignore] " all)) - (("fn env_source_data_epoch_trailing_garbage" all) - (string-append "#[ignore] " all)) - (("fn export_id_option_error" all) - (string-append "#[ignore] " all)) - (("fn huge_zoom_factor_yields_error" all) - (string-append "#[ignore] " all)) - (("fn multiple_input_files_not_allowed_for_png_output" all) - (string-append "#[ignore] " all)) - (("fn stylesheet_option_error" all) - (string-append "#[ignore] " all))))) - (replace 'check - (lambda* args - ((assoc-ref gnu:%standard-phases 'check) - #:test-target "check"))) - (replace 'install - (assoc-ref gnu:%standard-phases 'install))))) - (native-inputs - (list docbook-xml-4.3 - `(,glib "bin") - gobject-introspection - pkg-config - vala)) - (inputs - (list freetype harfbuzz libxml2 pango)) - (propagated-inputs - (list cairo gdk-pixbuf glib)) + ("rust-matches" ,rust-matches-0.1) + ("rust-png" ,rust-png-0.17) + ("rust-predicates" ,rust-predicates-2) + ("rust-proptest" ,rust-proptest-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-test-generator" ,rust-test-generator-0.3) + ("rust-yeslogic-fontconfig-sys" ,rust-yeslogic-fontconfig-sys-2)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-gdk-pixbuf-thumbnailer + (lambda* (#:key inputs #:allow-other-keys) + ;; The gdk-pixbuf-thumbnailer location is assumed to be relative + ;; to librsvg's own installation prefix (see: + ;; https://gitlab.gnome.org/GNOME/librsvg/-/issues/955). + (substitute* "gdk-pixbuf-loader/librsvg.thumbnailer.in" + (("@bindir@/gdk-pixbuf-thumbnailer") + (search-input-file inputs "bin/gdk-pixbuf-thumbnailer"))))) + (add-after 'unpack 'prepare-for-build + (lambda _ + ;; In lieu of #:make-flags + (setenv "CC" #$(cc-for-target)) + ;; Something about the build environment resists building + ;; successfully with the '--locked' flag. + (substitute* '("Makefile.am" "Makefile.in") + (("--locked") "")))) + (add-before 'configure 'pre-configure + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "gdk-pixbuf-loader/Makefile.in" + ;; By default the gdk-pixbuf loader is installed under + ;; gdk-pixbuf's prefix. Work around that. + (("gdk_pixbuf_moduledir = .*$") + (string-append "gdk_pixbuf_moduledir = " + "$(prefix)/" + #$(dirname %gdk-pixbuf-loaders-cache-file) "/" + "loaders\n"))) + (substitute* "configure" + (("gdk_pixbuf_cache_file=.*") + (string-append "gdk_pixbuf_cache_file=" + #$output "/" + #$%gdk-pixbuf-loaders-cache-file "\n"))))) + (add-after 'configure 'gnu-configure + (lambda* (#:key outputs #:allow-other-keys #:rest args) + (apply (assoc-ref gnu:%standard-phases 'configure) + #:configure-flags + (list "--disable-static" + "--enable-vala" + (string-append "--with-html-dir=" #$output + "/share/gtk-doc/html")) + args))) + (add-after 'configure 'dont-vendor-self + (lambda* (#:key vendor-dir #:allow-other-keys) + ;; Don't keep the whole tarball in the vendor directory + (delete-file-recursively + (string-append vendor-dir "/" #$name "-" #$version ".tar.xz")))) + (replace 'build + (assoc-ref gnu:%standard-phases 'build)) + (replace 'check + (lambda* args + ((assoc-ref gnu:%standard-phases 'check) + #:test-target "check"))) + (replace 'install + (assoc-ref gnu:%standard-phases 'install))))) + (native-inputs (list `(,glib "bin") gobject-introspection pkg-config vala)) + (inputs (list freetype harfbuzz libxml2 pango)) + (propagated-inputs (list cairo gdk-pixbuf glib)) (synopsis "SVG rendering library") (description "Librsvg is a library to render SVG images to Cairo surfaces. GNOME uses this to render SVG icons. Outside of GNOME, other desktop @@ -3723,34 +3694,6 @@ diagrams.") (home-page "https://wiki.gnome.org/LibRsvg") (license license:lgpl2.1+))) -;; This copy of librsvg uses the bundled rust libraries. It is useful for -;; packages which have too many dependencies to be rebuilt as frequently -;; as the rust inputs are updated. -;; TODO: Remove this package and use packaged rust libraries! -(define-public librsvg-bootstrap - (package - (inherit librsvg) - (name "librsvg") - (version "2.50.7") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/librsvg/" - (version-major+minor version) "/" - "librsvg-" version ".tar.xz")) - (sha256 - (base32 - "1g3f8byg5w08fx1bka12mmpl59v6a4q2p827w6m2la6mijq63yzz")) - (modules '((guix build utils))) - (snippet - '(begin - (for-each delete-file (find-files "vendor" "\\.a$")))))) - (arguments - (substitute-keyword-arguments (package-arguments librsvg) - ((#:vendor-dir _ "vendor") "vendor") - ((#:cargo-inputs _) '()) - ((#:cargo-development-inputs _) '()))) - (properties '((hidden? . #t))))) - (define-public librsvg-2.40 ;; This is the last version implemented in C. (package @@ -3782,6 +3725,12 @@ diagrams.") (("gdk_pixbuf_cache_file = .*$") "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n")) #t)) + (add-before 'check 'fix-test-with-pango-1.50 + (lambda _ + ;; Changes between pango 1.48 and 1.50 caused the text to be one + ;; pixel lower in the output image compared to the reference. + (substitute* "tests/fixtures/reftests/bugs/587721-text-transform.svg" + (("660\\.9") "659.9")))) (add-before 'check 'remove-failing-tests (lambda _ (with-directory-excursion "tests/fixtures/reftests" @@ -4549,60 +4498,6 @@ passwords in the GNOME keyring.") (define-public vala (package (name "vala") - (version "0.54.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/vala/" - (version-major+minor version) "/" - "vala-" version ".tar.xz")) - (sha256 - (base32 - "048k5c6c6y7jyb961krnrb7m0kghr0yrkpnfx3j5ckbx652yfkc8")))) - (build-system glib-or-gtk-build-system) - (arguments - '(#:configure-flags '("--enable-coverage") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "doc/manual" - (substitute* '("manual.xml" "version.xml.in") - (("http://www.oasis-open.org/docbook/xml/4.4/") - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/")))))) - (add-before 'check 'pre-check - (lambda _ - (setenv "CC" "gcc") - (substitute* "valadoc/tests/libvaladoc\ -/tests-extra-environment.sh" - (("export PKG_CONFIG_PATH=" m) - (string-append m "$PKG_CONFIG_PATH:")))))))) - (native-inputs - `(("bison" ,bison) - ("dbus" ,dbus) ; for dbus tests - ("docbook-xml" ,docbook-xml-4.4) - ("docbook-xsl" ,docbook-xsl) - ("flex" ,flex) - ("gobject-introspection" ,gobject-introspection) ; for gir tests - ("help2man" ,help2man) - ("perl" ,perl) - ("pkg-config" ,pkg-config) - ("xsltproc" ,libxslt))) - (propagated-inputs - `(("glib" ,glib) ; required by libvala-0.40.pc - ("libgvc" ,graphviz))) - (home-page "https://wiki.gnome.org/Projects/Vala/") - (synopsis "Compiler using the GObject type system") - (description "Vala is a programming language using modern high level -abstractions without imposing additional runtime requirements and without using -a different ABI compared to applications and libraries written in C. Vala uses -the GObject type system and has additional code generation routines that make -targeting the GNOME stack simple.") - (license license:lgpl2.1+))) - -(define-public vala-next - (package - (inherit vala) (version "0.56.3") (source (origin (method url-fetch) @@ -4612,6 +4507,7 @@ targeting the GNOME stack simple.") (sha256 (base32 "1gwrnr0d0bqkh6m4bgz39mh3pcswcj43hyijlwgwp2bvpwhn41p1")))) + (build-system glib-or-gtk-build-system) (arguments (list #:configure-flags #~(list "CC=gcc" "--enable-coverage") @@ -4636,7 +4532,29 @@ targeting the GNOME stack simple.") ;; Wrapping the binaries breaks vala's behavior adaptations based on ;; the file name of the program executed (vala: compile and execute, ;; valac: compile into a binary). - (delete 'glib-or-gtk-wrap)))))) + (delete 'glib-or-gtk-wrap)))) + (native-inputs + (list bison + dbus ; for dbus tests + docbook-xml-4.4 + docbook-xsl + flex + gobject-introspection ; for gir tests + help2man + perl + pkg-config + libxslt)) + (propagated-inputs + (list glib ; required by libvala-0.40.pc + graphviz)) + (home-page "https://wiki.gnome.org/Projects/Vala/") + (synopsis "Compiler using the GObject type system") + (description "Vala is a programming language using modern high level +abstractions without imposing additional runtime requirements and without using +a different ABI compared to applications and libraries written in C. Vala uses +the GObject type system and has additional code generation routines that make +targeting the GNOME stack simple.") + (license license:lgpl2.1+))) ;;; An older variant kept to build libsoup-minimal-2. (define-public vala-0.52 @@ -4987,7 +4905,7 @@ indicators etc).") (define-public glib-networking (package (name "glib-networking") - (version "2.70.0") + (version "2.72.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/glib-networking/" @@ -4995,24 +4913,12 @@ indicators etc).") "glib-networking-" version ".tar.xz")) (sha256 (base32 - "0dbg1na239mbavn4hknkax5sns9q2dbdnqw9wcpmhv58mzkhid36")) + "0s42l6dkajciqc99zp6dc9l8yv9g8w7d8mgv97l7h7drgd60hand")) (patches (search-patches "glib-networking-gnutls-binding.patch")))) (build-system meson-build-system) - (arguments - (if (target-64bit?) - '() - (list #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'work-around-32-bit-time-t - (lambda _ - (invoke "patch" "--force" "-p1" "-i" - #$(local-file - (search-patch - "glib-networking-32-bit-time.patch"))))))))) (native-inputs - `(("pkg-config" ,pkg-config) - ("gettext" ,gettext-minimal))) + (list pkg-config gettext-minimal)) (inputs (list glib gnutls gsettings-desktop-schemas libproxy)) (home-page "https://wiki.gnome.org/Projects/GLib") @@ -5041,8 +4947,7 @@ from the GSettings schemas in gsettings-desktop-schemas.") "0ll9220d6qf9m7wdi5xhq69p8h8whs7l5h5nzdhlbn99qh5388bz")))) (build-system meson-build-system) (arguments - (list #:meson meson-0.63 - #:phases + (list #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-paths (lambda* (#:key inputs #:allow-other-keys) @@ -5095,14 +5000,10 @@ files.") #:configure-flags '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt"))) (native-inputs - `(("glib-mkenums" ,glib "bin") - ("gobject-introspection" ,gobject-introspection) - ("pkg-config" ,pkg-config))) + (list `(,glib "bin") gobject-introspection pkg-config)) (propagated-inputs ;; rest-0.7.pc refers to all these. - `(("glib" ,glib) - ("libsoup" ,libsoup-minimal-2) - ("libxml2" ,libxml2))) + (list glib libsoup-minimal-2 libxml2)) (home-page "https://www.gtk.org/") (synopsis "RESTful web api query library") (description @@ -5151,7 +5052,7 @@ libxml to ease remote use of the RESTful API.") (inputs (list json-glib)) (propagated-inputs (modify-inputs (package-propagated-inputs rest) - (replace "libsoup" libsoup) + (replace "libsoup-minimal" libsoup) (append json-glib))))) (define-public libshumate @@ -5202,7 +5103,7 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.") (define-public libsoup-minimal (package (name "libsoup-minimal") - (version "3.0.4") + (version "3.0.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsoup/" @@ -5210,7 +5111,7 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.") "libsoup-" version ".tar.xz")) (sha256 (base32 - "0ysnvvfd2f6w2z6g31spqqb8wgyamixc7mryzbbpyw0z15g8plsv")))) + "1j7p3cz6hwi9js9rp0pbas7cdln97yg9v2l1nv5imhcr6p7r1pzb")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Dgtk_doc=false") @@ -5235,7 +5136,6 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.") (native-inputs (list `(,glib "bin") ;for glib-mkenums gobject-introspection - intltool pkg-config python-wrapper vala @@ -5264,8 +5164,9 @@ and the GLib main loop, to integrate well with GNOME applications.") ;;; An older variant kept to build the 'rest' package. (define-public libsoup-minimal-2 - (package/inherit libsoup-minimal - (version "2.72.0") + (package + (inherit libsoup-minimal) + (version "2.74.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsoup/" @@ -5273,7 +5174,7 @@ and the GLib main loop, to integrate well with GNOME applications.") "libsoup-" version ".tar.xz")) (sha256 (base32 - "11skbyw2pw32178q3h8pi7xqa41b2x4k6q4k9f75zxmh8s23y30p")))) + "0n8is108n0dn4dw7nm2wq9rydcm1vy47w40wywfrxqazdrjjg97h")))) (arguments (substitute-keyword-arguments (package-arguments libsoup-minimal) ((#:phases phases) @@ -5725,65 +5626,66 @@ file.") (define-public colord-minimal (package (name "colord-minimal") - (version "1.4.5") + (version "1.4.6") (source (origin (method url-fetch) (uri (string-append "https://www.freedesktop.org/software/colord/releases/" "colord-" version ".tar.xz")) (sha256 - (base32 "05sydi6qqqx1rrqwnga1vbg9srkf89wdcfw5w4p4m7r37m2flx5p")))) + (base32 "0vwfx06k1in8hci3kdxpc3c0bh81f1vl5bp7favd3rdz4wd661vl")))) (build-system meson-build-system) (arguments - '( ;; FIXME: One test fails: - ;; /colord/icc-store (in lib/colord/colord-self-test-private): - ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got - ;; application/x-zerosize - #:tests? #f - #:glib-or-gtk? #t - #:configure-flags (list "-Dargyllcms_sensor=false" ;requires spotread - "-Dbash_completion=false" - "-Ddaemon_user=colord" - "-Ddocs=false" - "-Dlocalstatedir=/var" - "-Dman=false" - "-Dsane=true" - "-Dsystemd=false") ;no systemd - #:phases - (modify-phases %standard-phases - (add-before 'configure 'patch-build-system - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "rules/meson.build" - (("udev.get_pkgconfig_variable\\('udevdir'\\)") - (string-append "'" (assoc-ref outputs "out") "/lib/udev'"))))) - (add-before 'configure 'set-sqlite3-file-name - (lambda* (#:key inputs #:allow-other-keys) - ;; "colormgr dump" works by invoking the "sqlite3" command. - ;; Record its absolute file name. - (let ((sqlite (assoc-ref inputs "sqlite"))) - (substitute* "client/cd-util.c" - (("\"sqlite3\"") - (string-append "\"" sqlite "/bin/sqlite3\""))))))))) - (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc. - ("gettext" ,gettext-minimal) - ("pkg-config" ,pkg-config) - ("vala" ,vala))) + (list + #:glib-or-gtk? #t + #:configure-flags #~(list "-Dargyllcms_sensor=false" ;requires spotread + "-Dbash_completion=false" + "-Ddaemon_user=colord" + "-Ddocs=false" + "-Dlocalstatedir=/var" + "-Dman=false" + "-Dsystemd=false") ;no systemd + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-problematic-tests + (lambda _ + ;; Skip the colord-test-private, which requires a *system* D-Bus + ;; session, which wants to run as root, among other requirements + ;; (see: https://github.com/hughsie/colord/issues/97). + (substitute* "lib/colord/meson.build" + ((".*test\\('colord-test-private'.*") "")))) + (add-before 'configure 'patch-build-system + (lambda _ + (substitute* "rules/meson.build" + (("udev.get_pkgconfig_variable\\('udevdir'\\)") + (string-append "'" #$output "/lib/udev'"))))) + (add-before 'configure 'set-sqlite3-file-name + (lambda* (#:key inputs #:allow-other-keys) + ;; "colormgr dump" works by invoking the "sqlite3" command. + ;; Record its absolute file name. + (substitute* "client/cd-util.c" + (("\"sqlite3\"") + (format #f "~s" (search-input-file inputs + "bin/sqlite3"))))))))) + (native-inputs + (list `(,glib "bin") ; for glib-compile-resources, etc. + gettext-minimal + pkg-config + vala)) (propagated-inputs ;; colord.pc refers to all these. - `(("glib" ,glib) - ("lcms" ,lcms) - ("udev" ,eudev))) + (list glib + lcms + eudev)) (inputs - `(("dbus-glib" ,dbus-glib) - ("gobject-introspection" ,gobject-introspection) - ("gusb" ,gusb-minimal) - ("libgudev" ,libgudev) - ("libusb" ,libusb) - ("polkit" ,polkit) - ("python" ,python-wrapper) - ("sqlite" ,sqlite) - ("sane-backends" ,sane-backends))) + (list dbus-glib + gobject-introspection + gusb-minimal + libgudev + libusb + polkit + python-wrapper + sqlite)) (home-page "https://www.freedesktop.org/software/colord/") (synopsis "Color management service") (description "Colord is a system service that makes it easy to manage, @@ -5810,6 +5712,7 @@ output devices.") (append '("-Dbash_completion=true" "-Ddocs=true" "-Dman=true" + "-Dsane=true" "-Dvapi=true") (fold delete #$flags '("-Dbash_completion=false" "-Ddocs=false" @@ -5830,6 +5733,7 @@ output devices.") gtk-doc/stable libxml2 ;for XML_CATALOG_FILES libxslt + sane-backends vala))))) ;for VAPI, needed by simple-scan (define-public geoclue @@ -6458,7 +6362,7 @@ without stepping on each others toes.") libxslt pkg-config)) (propagated-inputs - (list atk + (list at-spi2-core cairo cogl glib @@ -6845,7 +6749,7 @@ discovery protocols.") (inputs (list gtk+ gdk-pixbuf - atk + at-spi2-core cairo dbus-glib xorgproto @@ -6967,7 +6871,7 @@ which can read a large number of file formats.") ;;clutter-gtk ;;clutter-gst (list adwaita-icon-theme - atk + at-spi2-core bash-minimal brasero json-glib @@ -7296,76 +7200,6 @@ supports any scanner for which a suitable SANE driver is available, which is almost all of them.") (license license:gpl3+))) -(define-public eolie - (package - (name "eolie") - (version "0.9.101") - (source (origin - (method url-fetch) - (uri (string-append "https://adishatz.org/eolie/eolie-" - version ".tar.xz")) - (sha256 - (base32 - "1v8n21y75abdzsnx5idyd0q6yfb6cd0sqbknlbkwh5fdgvjzyvwn")))) - (build-system meson-build-system) - (arguments - `(#:glib-or-gtk? #t - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'skip-gtk-update-icon-cache - ;; Don't create 'icon-theme.cache'. - (lambda _ - (substitute* "meson_post_install.py" - (("gtk-update-icon-cache") "true")) - #t)) - (add-after 'wrap 'wrap-more - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - ;; These libraries must be on LD_LIBRARY_PATH. - (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret" - "atk" "gtk+" "gsettings-desktop-schemas" - "gobject-introspection")) - (path (string-join - (map (lambda (lib) - (string-append (assoc-ref inputs lib) "/lib")) - libs) - ":"))) - (wrap-program (string-append out "/bin/eolie") - `("LD_LIBRARY_PATH" ":" prefix (,path)) - `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))) - `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))) - #t))))) - (native-inputs - `(("intltool" ,intltool) - ("itstool" ,itstool) - ("pkg-config" ,pkg-config) - ("python" ,python) - ("glib:bin" ,glib "bin"))) - (inputs - `(("gobject-introspection" ,gobject-introspection) - ("glib-networking" ,glib-networking) - ("cairo" ,cairo) - ("gtk+" ,gtk+) - ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH - ("python" ,python-wrapper) - ("python-dateutil" ,python-dateutil) - ("python-pyfxa" ,python-pyfxa) - ("python-pygobject" ,python-pygobject) - ("python-pycairo" ,python-pycairo) - ("python-pycrypto" ,python-pycrypto) - ("libhandy" ,libhandy) - ("libsecret" ,libsecret) - ("gtkspell3" ,gtkspell3) - ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) - ("gnome-settings-daemon" ,gnome-settings-daemon) ; desktop-schemas are not enough - ("webkitgtk" ,webkitgtk-with-libsoup2))) - (home-page "https://wiki.gnome.org/Apps/Eolie") - (synopsis "Web browser for GNOME") - (description - "Eolie is a new web browser for GNOME. It features Firefox sync support, -a secret password store, an adblocker, and a modern UI.") - (license license:gpl3+))) - (define-public epiphany (package (name "epiphany") @@ -7550,16 +7384,13 @@ environments.") (base32 "19d46rkajvr0f04560vlrzwvac88x5j8ilvzwkawbn5vjg069kf8")))) (build-system gnu-build-system) (arguments - `(#:configure-flags - (list - "--enable-doc"))) + '(#:configure-flags '("--enable-doc"))) (native-inputs - `(("ducktype" ,mallard-ducktype) - ("gettext" ,gettext-minimal) - ("intltool" ,intltool) - ("itstool" ,itstool) - ("xmllint" ,libxml2) - ("xsltproc" ,libxslt))) + (list mallard-ducktype + gettext-minimal + itstool + libxml2 + libxslt)) (synopsis "XSL stylesheets for Yelp") (description "Yelp-XSL is a collection of programs and data files to help you build, maintain, and distribute documentation. It provides XSLT stylesheets @@ -7753,8 +7584,7 @@ metadata in photo and video files of various formats.") `(,glib "bin") itstool pkg-config - python - vala-next)) + python)) (inputs (list gcr gexiv2 @@ -7885,7 +7715,8 @@ configuration program to choose applications starting on login.") (define-public gjs (package (name "gjs") - (version "1.72.2") + ;; Note: We use a pre-release for compatibility with recent LibFFI. + (version "1.73.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7893,7 +7724,7 @@ configuration program to choose applications starting on login.") name "-" version ".tar.xz")) (sha256 (base32 - "0xrrv9lsi087yb9yf146a1aarf5yh6rf4jw9blx30zasvjdkgvnx")) + "0xfspsc1q4xm7p500lmy17b9csyaqps1kilylq8wjjd0fjqq8ayg")) (modules '((guix build utils))) (snippet '(begin @@ -7924,7 +7755,7 @@ configuration program to choose applications starting on login.") xorg-server-for-tests)) (propagated-inputs ;; These are all in the Requires.private field of gjs-1.0.pc. - (list cairo gobject-introspection mozjs-91)) + (list cairo gobject-introspection mozjs)) (inputs (list gtk+ readline)) (synopsis "Javascript bindings for GNOME") @@ -8067,10 +7898,12 @@ to display dialog boxes from the commandline and shell scripts.") #~(list ;; Otherwise, the RUNPATH will lack the final path component. (string-append "-Dc_link_args=-Wl,-rpath=" - #$output "/lib:" - #$output "/lib/mutter-9") + #$output "/lib,-rpath=" + #$output "/lib/mutter-10") ;; Disable systemd support. "-Dsystemd=false" + ;; Don't install tests. + "-Dinstalled_tests=false" ;; The following flags are needed for the bundled clutter (string-append "-Dxwayland_path=" (search-input-file %build-inputs "bin/Xwayland")) @@ -8084,15 +7917,13 @@ to display dialog boxes from the commandline and shell scripts.") #:test-options '(list "--verbose") #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'adjust-runpath-linker-directives + (add-after 'unpack 'use-RUNPATH-instead-of-RPATH (lambda _ - ;; By default Mutter uses RPATH instead of RUNPATH, which our - ;; customized linker script makes use of. Some libraries are - ;; also installed under lib/mutter-10 and need to be added to - ;; the RUNPATH. + ;; The build system disables RUNPATH in favor of RPATH to work + ;; around a peculiarity of their CI system. Ignore that. (substitute* "meson.build" - (("'-Wl,--disable-new-dtags'") - (string-append "'-Wl,-rpath=" #$output "/lib/mutter-10'"))))) + (("disable-new-dtags") + "enable-new-dtags")))) (add-after 'unpack 'patch-dlopen-calls (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/wayland/meta-wayland-egl-stream.c" @@ -8180,7 +8011,7 @@ to display dialog boxes from the commandline and shell scripts.") autoconf automake libtool - wayland-protocols-next + wayland-protocols ;; For tests. ;; Warnings are configured to be fatal during the tests; add an icon ;; theme to please libxcursor. @@ -8195,7 +8026,7 @@ to display dialog boxes from the commandline and shell scripts.") (list gsettings-desktop-schemas-next ;required by libmutter.pc gtk+ ;required by libmutter.pc ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these: - atk + at-spi2-core cairo eudev gdk-pixbuf @@ -8401,7 +8232,6 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") libphonenumber mit-krb5 openldap - pango-next ;remove after it's the default webkitgtk)) (synopsis "Store address books and calendars") (home-page "https://wiki.gnome.org/Apps/Evolution") @@ -8709,8 +8539,7 @@ services.") libnma libsecret network-manager - openvpn - pango-next)) ;remove after it's the default + openvpn)) (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN") (synopsis "OpenVPN plug-in for NetworkManager") (description @@ -8760,8 +8589,7 @@ to virtual private networks (VPNs) via OpenVPN.") vpnc network-manager libnma - libsecret - pango-next)) ;TODO: remove after it's the default + libsecret)) ;TODO: remove after it's the default (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN") (synopsis "VPNC plug-in for NetworkManager") (description @@ -8813,8 +8641,7 @@ Compatible with Cisco VPN concentrators configured to use IPsec.") libxml2 lz4 network-manager - openconnect - pango-next)) ;TODO: remove after it's the default + openconnect)) (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN") (synopsis "OpenConnect plug-in for NetworkManager") (description @@ -8877,7 +8704,6 @@ Cisco's AnyConnect SSL VPN.") libsecret network-manager openfortivpn - pango-next ;TODO: remove after it's the default ppp)) (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN") (synopsis "Fortinet SSLVPN plug-in for NetworkManager") @@ -9304,8 +9130,6 @@ usage and information about running processes.") (list eudev gsound libnotify - ;; TODO: Delete pango-next after it's the default. - pango-next python-dbus upower)) (synopsis "GNOME Bluetooth subsystem") @@ -10018,10 +9842,9 @@ files.") python vala)) (inputs - (list gtk libadwaita libhandy - ;; XXX: Ensure pango-next is used instead of the equally propagated - ;; 'pango'. - pango-next)) + (list gtk + libadwaita + libhandy)) (synopsis "Disk usage analyzer for GNOME") (description "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk @@ -10034,7 +9857,7 @@ is complete it provides a graphical representation of each selected folder.") (define-public gnome-backgrounds (package (name "gnome-backgrounds") - (version "41.0") + (version "42.0") (source (origin (method url-fetch) @@ -10043,7 +9866,7 @@ is complete it provides a graphical representation of each selected folder.") name "-" version ".tar.xz")) (sha256 (base32 - "0i9id5z72dqddh94648zylyf41amqq5lhny8sbyg1v8v4q6sr88x")))) + "0p99q434c8qgj5wxcma9jj4dh1ff9x984ncs31vmz725kyhf2zsc")))) (build-system meson-build-system) (native-inputs (list gettext-minimal)) (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds") @@ -10059,73 +9882,81 @@ can add your own files to the collection.") license:cc-by-sa3.0)))) (define-public gnome-screenshot - (package - (name "gnome-screenshot") - (version "41.0") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "15wmikwk62cdi93gas77nqh4fbhlrxrncyfmcd1gfa34jbn7vnsa")))) - (build-system meson-build-system) - (arguments - `(#:meson ,meson-0.60 - #:glib-or-gtk? #t - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'skip-gtk-update-icon-cache - ;; Don't create 'icon-theme.cache'. - (lambda _ - (substitute* "build-aux/postinstall.py" - (("gtk-update-icon-cache") "true"))))))) - (native-inputs - (list appstream-glib - desktop-file-utils ; for update-desktop-database - gettext-minimal - `(,glib "bin") ; for glib-compile-schemas, etc. - pkg-config - python)) - (inputs - (list gtk+ - libhandy - libx11 - libxext)) - (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot") - (synopsis "Take pictures of your screen") - (description - "GNOME Screenshot is a utility used for taking screenshots of the entire + ;; GNOME Screenshot hasn't had a release in a long time, and the last one + ;; (41) doesn't build with a recent Meson. + (let ((commit "9f067cf428b6bac78ffac31c1a17a20fb2c24843") + (revision "0")) + (package + (name "gnome-screenshot") + (version (git-version "41.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/gnome-screenshot") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10a3yd9qmfhxiw984a9fyvgrfq6i3w2yxayac0n7qqjl9ysxwb31")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "build-aux/postinstall.py" + (("gtk-update-icon-cache") "true"))))))) + (native-inputs + (list appstream-glib + desktop-file-utils ; for update-desktop-database + gettext-minimal + `(,glib "bin") ; for glib-compile-schemas, etc. + pkg-config + python)) + (inputs + (list gtk+ + libhandy + libx11 + libxext)) + (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot") + (synopsis "Take pictures of your screen") + (description + "GNOME Screenshot is a utility used for taking screenshots of the entire screen, a window or a user defined area of the screen, with optional beautifying border effects.") - (license license:gpl2+))) + (license license:gpl2+)))) (define-public dconf-editor (package (name "dconf-editor") - (version "3.38.3") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1qvrxrk1h8bd75xwasxbvlkqrw6xkavjimvc7sslkw6lvb3z86jp")))) + (version "43.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0dli166qzfphqlyvdx4nncg13ys7756sbsdfslyakhkcswnkqnlk")))) (build-system meson-build-system) (arguments - (list #:meson meson-0.60)) + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'disable-gtk-update-icon-cache + (lambda _ + (setenv "DESTDIR" "/")))))) (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0. - ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache - ("intltool" ,intltool) - ("pkg-config" ,pkg-config) - ("vala" ,vala))) + (list `(,glib "bin") ;for glib-compile-schemas, gio-2.0 + `(,gtk "bin") ;for gtk-update-icon-cache + intltool + pkg-config + vala)) (inputs - (list dconf gtk+ libxml2)) + (list dconf + gtk+ + libhandy + libxml2)) (home-page "https://gitlab.gnome.org/GNOME/dconf-editor") (synopsis "Graphical editor for GNOME's dconf configuration system") (description @@ -10344,7 +10175,7 @@ world.") ;; Packages not part of GNOME proper but that are needed for a good ;; experience. See <https://bugs.gnu.org/39646>. ;; XXX: Find out exactly which ones are needed and why. - at-spi2-core-minimal + at-spi2-core dbus dconf desktop-file-utils @@ -10431,23 +10262,26 @@ specified duration and save it as a GIF encoded animated image file.") (base32 "1c4r9rnrz5gazrfg0z2rcwax4nscs7z391bcjcl74k6ln3blwzpr")))) (build-system meson-build-system) (arguments - `(#:meson ,meson-0.59 - #:glib-or-gtk? #t - #:phases - (modify-phases %standard-phases - (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((prog (string-append (assoc-ref outputs "out") - "/bin/authenticator")) - (pylib (string-append (assoc-ref outputs "out") - "/lib/python" - ,(version-major+minor - (package-version - (this-package-input "python"))) - "/site-packages"))) - (wrap-program prog - `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) - `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))) + (list + #:glib-or-gtk? #t + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-meson.build + (lambda _ + (substitute* "data/meson.build" + (("^ 'desktop',.*") "") + (("^ 'appdata',.*") "")))) + (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((prog (search-input-file outputs "bin/authenticator")) + (pylib (string-append #$output "/lib/python" + #$(version-major+minor + (package-version + (this-package-input "python"))) + "/site-packages"))) + (wrap-program prog + `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))) (native-inputs (list desktop-file-utils gettext-minimal @@ -10565,7 +10399,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.") `(,glib "bin") ; for glib-compile-resources itstool pkg-config - vala-next)) + vala)) (inputs (list geoclue geocode-glib-with-libsoup2 @@ -10619,9 +10453,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.") gsettings-desktop-schemas libadwaita libdazzle - libgweather4-with-libsoup2 - ;; Remove pango-next when it's the default. - pango-next)) + libgweather4-with-libsoup2)) (home-page "https://wiki.gnome.org/Apps/Calendar") (synopsis "GNOME's calendar application") (description @@ -11839,7 +11671,7 @@ micro-pauses and rest breaks, and restricts you to your daily limit.") pkg-config yelp-tools)) (inputs - (list atk + (list at-spi2-core gtk)) (synopsis "GNOME hexadecimal editor") (description "The GHex program can view and edit files in two ways: @@ -12331,39 +12163,44 @@ library which detects when a file or a directory has been modified.") (license license:gpl2+))) (define-public gnome-mahjongg - (package - (name "gnome-mahjongg") - (version "3.38.3") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" name "-" - version ".tar.xz")) - (sha256 - (base32 - "144ia3zn9rhwa1xbdkvsz6m0dsysl6mxvqw9bnrlh845hmyy9cfj")))) - (build-system meson-build-system) - (arguments - `(#:meson ,meson-0.59 - #:glib-or-gtk? #t)) - (native-inputs - `(("appstream-glib" ,appstream-glib) - ("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") ;; For glib-compile-resources - ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache - ("itstool" ,itstool) - ("pkg-config" ,pkg-config) - ("vala" ,vala))) - (propagated-inputs - (list dconf)) - (inputs - (list glib gtk+)) - (synopsis "Mahjongg tile-matching game") - (description "GNOME Mahjongg is a game based on the classic Chinese + ;; There hasn't been a GNOME Mahjongg release in a long time, and the last + ;; release doesn't build with a recent Meson, so use the latest commit. + (let ((commit "e9e73e5165e5968ff897e568f8eba10fc1eb207b") + (revision "0")) + (package + (name "gnome-mahjongg") + (version (git-version "3.38.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cj0c076h7qfz77wpz8ypli60inj37fgw0cl9cc39b1kjfqcy3mb")))) + (build-system meson-build-system) + (arguments (list #:glib-or-gtk? #t)) + (native-inputs + (list appstream-glib + gettext-minimal + `(,glib "bin") ;for glib-compile-resources + `(,gtk "bin") ;for gtk-update-icon-cache + itstool + pkg-config + vala)) + (propagated-inputs + (list dconf)) + (inputs + (list glib + gtk + libadwaita)) + (synopsis "Mahjongg tile-matching game") + (description "GNOME Mahjongg is a game based on the classic Chinese tile-matching game Mahjongg. It features multiple board layouts, tile themes, and a high score table.") - (home-page "https://wiki.gnome.org/Apps/Mahjongg") - (license license:gpl2+))) + (home-page "https://wiki.gnome.org/Apps/Mahjongg") + (license license:gpl2+)))) (define-public gnome-themes-extra (package @@ -12549,13 +12386,13 @@ integrate seamlessly with the GNOME desktop.") itstool pkg-config python - vala-next)) + vala)) (inputs (list glib-networking ;for TLS support gsettings-desktop-schemas gtk gtk-vnc - gtksourceview + gtksourceview-4 json-glib libarchive libgudev @@ -13314,7 +13151,6 @@ profiler via Sysprof, debugging support, and more.") (arguments (list #:glib-or-gtk? #t - #:meson meson-0.63 #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-sources @@ -13461,7 +13297,7 @@ your data.") libgda libhandy libsoup - pango-next)) + pango)) (propagated-inputs (list gtksourceview-4)) ; required for source view (home-page "https://wiki.gnome.org/Apps/Gtranslator") |