X-Git-Url: http://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/3857aba7ab25c50d64a6d7468d2b5b09bc4f5d60..876d022c03fb9e961c0e199b9b7c7e4edcec491c:/gnu/packages/gnome.scm diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 13769a7c88..2f390c6955 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -43,7 +43,7 @@ ;;; Copyright © 2019, 2020 Martin Becze ;;; Copyright © 2019 David Wilson ;;; Copyright © 2019, 2020 Raghav Gururajan -;;; Copyright © 2019 Jonathan Brielmaier +;;; Copyright © 2019, 2020 Jonathan Brielmaier ;;; Copyright © 2019, 2020 Leo Prikler ;;; Copyright © 2020 Oleg Pykhalov ;;; Copyright © 2020 Pierre Neidhardt @@ -1682,7 +1682,7 @@ forgotten when the session ends.") (define-public evince (package (name "evince") - (version "3.36.1") + (version "3.36.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/evince/" @@ -1690,7 +1690,7 @@ forgotten when the session ends.") "evince-" version ".tar.xz")) (sha256 (base32 - "1msbb66lasikpfjpkwsvi7h22hqmk275850ilpdqwbd0b39vzf4c")))) + "0z79jl0j9xq9wgwkfr0d1w1qrdy4447y8shs407n5srr0vixc3bg")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags '("--disable-nautilus" "--enable-introspection") @@ -2174,8 +2174,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.") "023gx8rj51njn8fsb6ma5kz1irjpxi4js0n8rwy22inc4ysldd8r")))) (build-system glib-or-gtk-build-system) (arguments - `(#:tests? #f ; needs X, GL, and software rendering - #:phases + `(#:phases (modify-phases %standard-phases (add-before 'configure 'fix-docbook (lambda* (#:key inputs #:allow-other-keys) @@ -2185,18 +2184,27 @@ API add-ons to make GTK+ widgets OpenGL-capable.") "/xml/xsl/docbook-xsl-" ,(package-version docbook-xsl) "/manpages/docbook.xsl"))) + #t)) + (add-before 'check 'pre-check + (lambda _ + (setenv "HOME" "/tmp") + ;; Tests require a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") #t))))) (inputs `(("gtk+" ,gtk+) ("libxml2" ,libxml2))) (native-inputs - `(("intltool" ,intltool) + `(("hicolor-icon-theme" ,hicolor-icon-theme) + ("intltool" ,intltool) ("itstool" ,itstool) ("libxslt" ,libxslt) ;for xsltproc ("docbook-xml" ,docbook-xml-4.2) ("docbook-xsl" ,docbook-xsl) ("python" ,python-2) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server-for-tests))) (home-page "https://glade.gnome.org") (synopsis "GTK+ rapid application development tool") (description "Glade is a rapid application development (RAD) tool to @@ -2344,7 +2352,7 @@ library.") (package (inherit librsvg) (name "librsvg") - (version "2.46.4") + (version "2.48.8") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/librsvg/" @@ -2352,13 +2360,10 @@ library.") "librsvg-" version ".tar.xz")) (sha256 (base32 - "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl")) + "14i6xzghcidv64cyd3g0wdjbl82rph737yxn9s3x29nzpcjs707l")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "vendor") - ;; Don't demand an exact version for string_cache - (substitute* "rsvg_internals/Cargo.toml" - (("\"=") "\"")) #t)))) (build-system cargo-build-system) (arguments @@ -2368,48 +2373,49 @@ library.") #:vendor-dir "vendor" #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) - ("rust-cairo-rs" ,rust-cairo-rs-0.7) + ("rust-cairo-rs" ,rust-cairo-rs-0.8) ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) - ("rust-cssparser" ,rust-cssparser-0.25) + ("rust-cast" ,rust-cast-0.2) + ("rust-cssparser" ,rust-cssparser-0.27) ("rust-data-url" ,rust-data-url-0.1) ("rust-downcast-rs" ,rust-downcast-rs-1.1) ("rust-encoding" ,rust-encoding-0.2) - ("rust-float-cmp" ,rust-float-cmp-0.5) - ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.7) + ("rust-float-cmp" ,rust-float-cmp-0.6) + ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8) ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9) - ("rust-gio" ,rust-gio-0.7) + ("rust-gio" ,rust-gio-0.8) ("rust-gio-sys" ,rust-gio-sys-0.9) - ("rust-glib" ,rust-glib-0.8) + ("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.8) ("rust-language-tags" ,rust-language-tags-0.2) - ("rust-lazy-static" ,rust-lazy-static-1) ("rust-libc" ,rust-libc-0.2) ("rust-locale-config" ,rust-locale-config-0.3) - ("rust-markup5ever" ,rust-markup5ever-0.9) - ("rust-nalgebra" ,rust-nalgebra-0.18) + ("rust-markup5ever" ,rust-markup5ever-0.10) + ("rust-nalgebra" ,rust-nalgebra-0.19) ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-once-cell" ,rust-once-cell-1.2) ("rust-pkg-config" ,rust-pkg-config-0.3) - ("rust-pango" ,rust-pango-0.7) + ("rust-pango" ,rust-pango-0.8) ("rust-pango-sys" ,rust-pango-sys-0.9) - ("rust-pangocairo" ,rust-pangocairo-0.8) - ("rust-phf" ,rust-phf-0.7) - ("rust-rayon" ,rust-rayon-1.3) + ("rust-pangocairo" ,rust-pangocairo-0.9) + ("rust-rayon" ,rust-rayon-1) ("rust-rctree" ,rust-rctree-0.3) - ("rust-string-cache" ,rust-string-cache-0.7) - ("rust-regex" ,rust-regex-1.3) + ("rust-rgb" ,rust-rgb-0.8) + ("rust-regex" ,rust-regex-1) + ("rust-selectors" ,rust-selectors-0.22) ("rust-url" ,rust-url-2.1) - ("rust-xml-rs" ,rust-xml-rs-0.8)) + ("rust-xml5ever" ,rust-xml5ever-0.16)) #:cargo-development-inputs - (("rust-cairo-rs" ,rust-cairo-rs-0.7) - ("rust-criterion" ,rust-criterion-0.2)) + (("rust-cairo-rs" ,rust-cairo-rs-0.8) + ("rust-criterion" ,rust-criterion-0.3)) #:phases (modify-phases %standard-phases (add-after 'unpack 'prepare-for-build (lambda _ ;; In lieu of #:make-flags - (setenv "CC" "gcc") + (setenv "CC" ,(cc-for-target)) ;; Something about the build environment resists building ;; successfully with the '--locked' flag. (substitute* '("Makefile.am" @@ -2430,12 +2436,13 @@ library.") "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n")) #t)) (add-after 'configure 'gnu-configure - (assoc-ref gnu:%standard-phases 'configure)) - ;(lambda* (#:key outputs #:allow-other-keys) - ; ((assoc-ref gnu:%standard-phases 'configure) - ; #:outputs outputs - ; #:configure-flags ("--disable-static" - ; "--enable-vala")))) + (lambda* (#:key inputs native-inputs outputs #:allow-other-keys) + ((assoc-ref gnu:%standard-phases 'configure) + #:native-inputs native-inputs + #:inputs inputs + #:outputs outputs + #:configure-flags (list "--disable-static" + "--enable-vala")))) (add-after 'configure 'dont-vendor-self (lambda* (#:key vendor-dir #:allow-other-keys) ;; Don't keep the whole tarball in the vendor directory @@ -2449,28 +2456,10 @@ library.") ((assoc-ref gnu:%standard-phases 'check) #:test-target "check"))) (replace 'install - (assoc-ref gnu:%standard-phases 'install)) - (add-before 'check 'remove-failing-tests - (lambda _ - (with-directory-excursion "tests/fixtures/reftests" - (for-each delete-file - '(;; The images produced by these tests differ slightly - ;; from their reference counterparts due to differences - ;; in the build environment (missing fonts, etc). See - ;; for details. - ;; These fail on x86_64. - "svg1.1/coords-viewattr-02-b.svg" - "svg1.1/filters-composite-04-f.svg" - "svg1.1/filters-image-01-b.svg" - "svg1.1/filters-conv-02-f.svg" - "svg1.1/filters-conv-04-f.svg" - ;; This test fails on i686: - "svg1.1/masking-path-04-b.svg" - ;; This test fails on armhf: - "svg1.1/masking-mask-01-b.svg" - ;; This test fails on aarch64: - "bugs/777834-empty-text-children.svg"))) - #t))))) + (assoc-ref gnu:%standard-phases 'install))))) + (inputs + `(("pango" ,pango) + ,@(alist-delete "pango" (package-inputs librsvg)))) (license license:lgpl2.1+))) (define-public libidl @@ -4560,7 +4549,7 @@ throughout GNOME for API documentation).") (define-public cogl (package (name "cogl") - (version "1.22.6") + (version "1.22.8") (source (origin (method url-fetch) @@ -4568,7 +4557,7 @@ throughout GNOME for API documentation).") (version-major+minor version) "/" "cogl-" version ".tar.xz")) (sha256 - (base32 "0x8v4n61q89qy27v824bqswpz6bmn801403w2q3pa1lcwk9ln4vd")))) + (base32 "0nfph4ai60ncdx7hy6hl1i1cmp761jgnyjfhagzi0iqq36qb41d8")))) ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to ;; cogl, corresponding changes may be appropriate in mutter as well. (build-system gnu-build-system) @@ -4606,6 +4595,17 @@ throughout GNOME for API documentation).") "/lib/libGL.so")) #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-build-with-mesa-20 + (lambda _ + ;; Work around a problem with Mesa 20 where some macros used by + ;; Cogl went missing from eglext.h. This can likely be removed + ;; for newer versions of Cogl or Mesa. + ;; https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/19 + (substitute* '("configure" + "cogl/winsys/cogl-winsys-egl-kms.c") + (("#include " all) + (string-append all "\n#include \n"))) + #t)) (add-before 'check 'start-xorg-server (lambda* (#:key tests? inputs #:allow-other-keys) (if tests? @@ -5783,7 +5783,7 @@ classes for commonly used data structures.") (define-public gexiv2 (package (name "gexiv2") - (version "0.12.0") + (version "0.12.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5791,7 +5791,7 @@ classes for commonly used data structures.") name "-" version ".tar.xz")) (sha256 (base32 - "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq")))) + "0xxxq8xdkgkn146my307jgws4qgxx477h0ybg1mqza1ycmczvsla")))) (build-system meson-build-system) (native-inputs `(("gcr" ,gcr) @@ -6192,7 +6192,21 @@ to display dialog boxes from the commandline and shell scripts.") ;; the remaining flags are needed for the bundled cogl (string-append "-Dopengl_libname=" (assoc-ref %build-inputs "mesa") - "/lib/libGL.so")))) + "/lib/libGL.so")) + #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-build-with-mesa-20 + (lambda _ + ;; Mimic upstream commit a444a4c5f58ea516ad for + ;; compatibility with Mesa 20. Remove for 3.36. + (substitute* '("src/backends/meta-egl-ext.h" + "src/backends/meta-egl.c" + "src/backends/meta-egl.h") + (("#include " all) + (string-append all "\n#include "))) + (substitute* "cogl/cogl/meson.build" + (("#include " all) + (string-append all "\\n#include "))) + #t))))) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. @@ -6755,8 +6769,7 @@ Compatible with Cisco VPN concentrators configured to use IPsec.") "/bin/modprobe")) (pretty-ovpn (string-append "\"" openconnect "\""))) (substitute* "src/nm-openconnect-service.c" - (("\"/usr/local/sbin/openconnect\"") pretty-ovpn) - (("\"/usr/sbin/openconnect\"") pretty-ovpn) + (("\"/usr(/local)?/s?bin/openconnect\"") pretty-ovpn) (("/sbin/modprobe") modprobe))) #t))))) (native-inputs @@ -10011,7 +10024,7 @@ integrate seamlessly with the GNOME desktop.") (define-public gnome-boxes (package (name "gnome-boxes") - (version "3.36.4") + (version "3.36.5") (source (origin (method url-fetch) @@ -10019,7 +10032,7 @@ integrate seamlessly with the GNOME desktop.") (version-major+minor version) "/" "gnome-boxes-" version ".tar.xz")) (sha256 - (base32 "16l0mq2ydmywcdya1795mcy8syg4zkmz9ws3pzjcqv5y4m7cjj03")))) + (base32 "1khvyhgd3p41fvvknga1hdl0p1ks4kj4cwsiaw28v1sy6nzclm2c")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -10399,3 +10412,151 @@ communicating using the GVariant serialization format instead of JSON when both peers support it. You might want that when communicating on a single host to avoid parser overhead and memory-allocator fragmentation.") (license license:lgpl2.1+))) + +(define-public feedbackd + (package + (name "feedbackd") + (version "0.0.0+git20200527") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://source.puri.sm/Librem5/feedbackd.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1wbkzxnqjydfgjvp7vz4ghczcz740zcb1yn90cb6gb5md4n6qx2y")))) + (build-system meson-build-system) + (native-inputs + `(("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (inputs + `(("dbus" ,dbus) + ("gsound" ,gsound) + ("json-glib" ,json-glib) + ("libgudev" ,libgudev))) + (propagated-inputs + `(("glib" ,glib))) ; in Requires of libfeedback-0.0.pc + (synopsis "Haptic/visual/audio feedback via DBus") + (description "Feedbackd provides a DBus daemon to act on events to provide +haptic, visual and audio feedback. It offers the libfeedbackd library and +GObject introspection bindings.") + (home-page "https://source.puri.sm/Librem5/feedbackd") + (license (list license:lgpl2.1+ ; libfeedbackd + license:lgpl3+)))) ; the rest + +(define-public sysprof + (package + (name "sysprof") + (version "3.34.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1l4kr1av7933vb4zql9c5lgzivlw64hyky4nr8xin1v5if6vnjw4")))) + (build-system meson-build-system) + (arguments + `(#:configure-flags + (list (string-append "-Dsystemdunitdir=" + %output + "/share/systemd")) + #:tests? #f ; 3/4 test-model-filter barfs some dbus nonsense + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-install-script + (lambda _ + (substitute* "build-aux/meson/post_install.sh" + (("gtk-update-icon-cache") "true") + (("update-desktop-database") "true")) + #t))))) + (inputs + `(("glib" ,glib) + ("gtk+" ,gtk+) + ("libdazzle" ,libdazzle) + ("polkit" ,polkit))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc. + ("itstool" ,itstool) + ("pkg-config" ,pkg-config) + ("xmllint" ,libxml2))) + (home-page "http://www.sysprof.com/") + (synopsis "System-wide performance profiler") + (description "Sysprof is a sampling profiler that uses a kernel module +to generate stacktraces which are then interpreted by the userspace program +@command{sysprof}.") + (license license:gpl3+))) + +(define-public gnome-builder + (package + (name "gnome-builder") + (version "3.36.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "17pvmd5jypar8dkr6w56hvf7jnq4l1wih2wwgkrv7sblr7rkkar2")))) + (build-system meson-build-system) + (arguments + `(#:configure-flags (list "-Dnetwork_tests=false" + ;; TODO: Enable all plugins... + "-Dplugin_clang=false" + "-Dplugin_flatpak=false" + "-Dplugin_glade=false" + ;; ... except this one. + "-Dplugin_update_manager=false") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-meson + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "build-aux/meson/post_install.py" + (("gtk-update-icon-cache") "true") + (("update-desktop-database") "true")) + (substitute* "src/libide/meson.build" + (("/usr/lib") + (string-append (assoc-ref inputs "python-pygobject") + "/lib"))) + #t)) + (add-before 'check 'pre-check + (lambda _ + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + #t))))) + (inputs + `(("devhelp" ,devhelp) + ("gspell" ,gspell) + ("gtk+" ,gtk+) + ("json-glib" ,json-glib) + ("jsonrpc-glib" ,jsonrpc-glib) + ("libdazzle" ,libdazzle) + ("libgit2-glib" ,libgit2-glib) + ("libpeas" ,libpeas) + ("python-pygobject" ,python-pygobject) + ("sysprof" ,sysprof) + ("template-glib" ,template-glib) + ("vte" ,vte) + ("webkitgtk" ,webkitgtk))) + (propagated-inputs + `(("gtksourceview" ,gtksourceview))) ;needed for settings + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate + ("glib:bin" ,glib "bin") + ("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config) + ("vala" ,vala) + ("xorg-server" ,xorg-server-for-tests))) + (home-page "https://wiki.gnome.org/Apps/Builder") + (synopsis "Toolsmith for GNOME-based applications") + (description "Builder aims to be an integrated development +environment (IDE) for writing GNOME-based software. It features fuzzy search, +auto-completion, a mini code map, documentation browsing, Git integration, an +integrated profiler via Sysprof, debugging support, and more.") + (license license:gpl3+)))