;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
-;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
+;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org>
-;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
+;;; Copyright © 2019, 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2019, 2020 Leo Prikler <leo.prikler@student.tugraz.at>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 raingloom <raingloom@riseup.net>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net>
+;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
+;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
+ #:use-module (gnu packages php)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)
#:use-module (gnu packages popt)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu artwork)
+ #:use-module ((guix build utils) #:select (modify-phases))
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk)
(define-public mm-common
(package
(name "mm-common")
- (version "1.0.0")
+ (version "1.0.1")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
+ (uri (string-append "mirror://gnome/sources/mm-common/"
(version-major+minor version) "/"
- name "-" version ".tar.xz"))
+ "mm-common-" version ".tar.xz"))
(sha256
(base32
- "1m4w33da9f4rx2d6kdj3ix3kl0gn16ml82v2mdn4hljr3q29nzdr"))))
+ "1jasx9a9g7nqf7jcv3mrg4qh5cp9sq724jxjaz4wa1dzmxsxg8i8"))))
(build-system meson-build-system)
(arguments
`(#:phases
("json-glib" ,json-glib)
("krb5" ,mit-krb5)
("libgweather" ,libgweather)
+ ("libnma" ,libnma)
("libsecret" ,libsecret)
("network-manager" ,network-manager)
- ("network-manager-applet" ,network-manager-applet)
("packagekit" ,packagekit)
("polkit" ,polkit)
("pwquality" ,libpwquality)
(define-public libnma
(package
- (name "libnma")
- (version "1.8.26")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1w9lld38risnk1krknfwln24kabdxnj274pyz4jhndphwigrshaf"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gtk-doc" ,gtk-doc)
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("adwaita-icon-theme" ,adwaita-icon-theme)
- ("gcr" ,gcr)
- ("gtk+" ,gtk+)
- ("iso-codes" ,iso-codes)
- ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
- ("network-manager" ,network-manager)))
- (synopsis "Network Manager's applet library")
- (description "Libnma is an applet library for Network Manager. It was
+ (name "libnma")
+ (version "1.8.28")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "09mp6k0hfam1vyyv9kcd8j4gb2r58i05ipx2nswb58ris599bxja"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-docbook-xml
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook")))
+ (substitute* "libnma-docs.xml"
+ (("http://.*/docbookx\\.dtd")
+ (string-append xmldoc "/docbookx.dtd")))
+ #t))))))
+ (native-inputs
+ `(("docbook-xml" ,docbook-xml-4.3)
+ ("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("gtk-doc" ,gtk-doc)
+ ("gobject-introspection" ,gobject-introspection)
+ ("pkg-config" ,pkg-config)
+ ("vala" ,vala)))
+ (inputs
+ `(("gcr" ,gcr)
+ ("gtk+" ,gtk+)
+ ("iso-codes" ,iso-codes)
+ ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
+ ("network-manager" ,network-manager)))
+ (synopsis "Network Manager's applet library")
+ (description "Libnma is an applet library for Network Manager. It was
initially part of network-manager-applet and has now become a separate
project.")
- (home-page "https://gitlab.gnome.org/GNOME/libnma")
-
- ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
- ;; "LGPL-2.1+".
- (license license:gpl2+)))
+ (home-page "https://gitlab.gnome.org/GNOME/libnma")
+ ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
+ ;; "LGPL-2.1+".
+ (license license:gpl2+)))
(define-public gnome-menus
(package
(define-public deja-dup
(package
(name "deja-dup")
- (version "34.3")
+ (version "40.6")
(source (origin
- (method url-fetch)
- (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
- (sha256
- (base32
- "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
- (patches
- (search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
- (build-system glib-or-gtk-build-system)
+ (method url-fetch)
+ (uri (string-append "https://gitlab.gnome.org/World/deja-dup/-/archive/"
+ version "/deja-dup-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0lwazh6crby5wpy9fg6zvwy4plqbhs2f98bm5lbizjdlbh88n5q0"))))
+ (build-system meson-build-system)
(arguments
- `(#:modules ((guix build gnu-build-system)
- ((guix build cmake-build-system) #:prefix cmake:)
- (guix build glib-or-gtk-build-system)
- (guix build utils))
- #:imported-modules (,@%glib-or-gtk-build-system-modules
- (guix build cmake-build-system))
- #:test-target "test"
- #:configure-flags (list (string-append
- "-DCMAKE_INSTALL_FULL_DATADIR=" %output)
- (string-append
- "-DCMAKE_INSTALL_LIBEXECDIR=" %output))
+ `(#:glib-or-gtk? #t
+ #:configure-flags
+ (list
+ ;; Otherwise, the RUNPATH will lack the final path component.
+ (string-append "-Dc_link_args=-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib/deja-dup"))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-lockfile-deletion
- (lambda rest
- (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
- (("/bin/rm")
- (which "rm")))))
- (replace 'configure
- (assoc-ref cmake:%standard-phases 'configure))
- (delete 'check) ;; Fails due to issues with DBus
- (add-after 'install 'wrap-deja-dup
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((python (assoc-ref inputs "python"))
- (python-path (getenv "PYTHONPATH"))
- (duplicity (assoc-ref inputs "duplicity"))
- (out (assoc-ref outputs "out")))
- (for-each
- (lambda (program)
- (wrap-program program
- `("PATH" ":" prefix (,(string-append python "/bin")
- ,(string-append duplicity "/bin"))))
- (wrap-program program
- `("PYTHONPATH" ":" prefix (,python-path))))
-
- (find-files (string-append out "/bin")))
- #t))))))
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((python (assoc-ref inputs "python")))
+ (substitute* '("libdeja/tools/duplicity/DuplicityInstance.vala"
+ "libdeja/tests/scripts/instance-error.test")
+ (("/bin/rm")
+ (which "rm")))
+ (substitute* "libdeja/tests/runner.vala"
+ (("/bin/sh")
+ (which "sh")))
+ (substitute* "libdeja/tests/scripts/instance-error.test"
+ (("`which python3`")
+ (string-append python "/bin/python3"))))))
+ (add-after 'unpack 'patch-libgpg-error
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((libgpg-error (assoc-ref inputs "libgpg-error")))
+ (substitute* "meson.build"
+ (("(gpgerror_libs = ).*" _ var)
+ (format #f "~a '-L~a/lib -lgpg-error'\n" var libgpg-error))))
+ #t))
+ (add-after 'unpack 'skip-gtk-update-icon-cache
+ ;; Don't create 'icon-theme.cache'.
+ (lambda _
+ (substitute* "data/post-install.sh"
+ (("gtk-update-icon-cache") "true"))
+ #t)))))
(inputs
`(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gobject-introspection" ,gobject-introspection)
("duplicity" ,duplicity)
- ("python" ,python-2)
- ("python-pygobject" ,python2-pygobject)
+ ("python" ,python)
+ ("python-pygobject" ,python-pygobject)
("gtk+" ,gtk+)
+ ("json-glib" ,json-glib)
("libnotify" ,libnotify)
- ("libpeas" ,libpeas)
+ ("libgpg-error" ,libgpg-error)
("libsecret" ,libsecret)
+ ("libsoup" ,libsoup)
("packagekit" ,packagekit)))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("vala" ,vala)
+ `(("appstream-glib" ,appstream-glib)
+ ("desktop-file-utils" ,desktop-file-utils)
("gettext" ,gettext-minimal)
+ ("glib" ,glib "bin") ; for glib-compile-schemas.
+ ("gobject-introspection" ,gobject-introspection)
("itstool" ,itstool)
- ("intltool" ,intltool)
- ("cmake" ,cmake-minimal)))
- (home-page "https://launchpad.net/deja-dup")
+ ("pkg-config" ,pkg-config)
+ ("vala" ,vala)))
+ (home-page "https://wiki.gnome.org/Apps/DejaDup")
(synopsis "Simple backup tool, for regular encrypted backups")
(description
"Déjà Dup is a simple backup tool, for regular encrypted backups. It
;; This version from GNOME's repository includes fixes for compiling with
;; recent versions of the build tools. The latest activity on the
;; pre-GNOME version has been in 2014, while GNOME has continued applying
- ;; fixes in 2016.
- (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
+ ;; fixes since.
+ (let ((commit "3cf7ec4c2e5bca139a7f3e17f9fc9009c237fcc5")
+ (revision "2"))
(package
(name "dia")
- (version (git-version "0.97.3" "1" commit))
+ (version (git-version "0.97.3" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
- (build-system gnu-build-system)
+ "04r8dspa6nmicrifhi3sh46hqvyy88hzq37xx99q3q1mwsrpmwy8"))))
+ (build-system meson-build-system)
(inputs
- `(("freetype" ,freetype)
- ("gdk-pixbuf" ,gdk-pixbuf)
+ `(("graphene" ,graphene)
("gtk+" ,gtk+-2)
- ("libart-lgpl" ,libart-lgpl)
("libxml2" ,libxml2)
- ("pango" ,pango)))
+ ("libxslt" ,libxslt)
+ ("poppler" ,poppler)
+ ;; Without Python 2, build fails: plug-ins/python/meson.build:4:0:
+ ;; ERROR: Unknown method "dependency" in object.
+ ("python-2" ,python-2)))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("intltool" ,intltool)
+ `(("appstream-glib" ,appstream-glib)
+ ("docbook-xsl" ,docbook-xsl)
("glib" ,glib "bin")
- ("libtool" ,libtool)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)
- ("python-wrapper" ,python-wrapper)))
+ ("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)))
(home-page "https://wiki.gnome.org/Apps/Dia")
(synopsis "Diagram creation for GNOME")
(description "Dia can be used to draw different types of diagrams, and
(("\"locale\"")
(string-append "\"" libc "/bin/locale\"")))
#t)))
+ (add-before 'configure 'patch-bubblewrap
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "libgnome-desktop/gnome-desktop-thumbnail-script.c"
+ (("\"bwrap\",")
+ (string-append "\"" (which "bwrap") "\","))
+ (("\"--ro-bind\", \"/usr\", \"/usr\",")
+ (string-append "\"--ro-bind\", \""
+ (%store-directory)
+ "\", \""
+ (%store-directory)
+ "\","))
+ (("\"--ro-bind\", \"/etc/ld.so.cache\", \"/etc/ld.so.cache\",") ""))
+ #t))
(add-before 'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys)
;; Tests require a running X server and locales.
(inputs
`(("gdk-pixbuf" ,gdk-pixbuf)
("glib" ,glib)
+ ("bubblewrap" ,bubblewrap)
("libxext" ,libxext)
("libxkbfile" ,libxkbfile)
("libxrandr" ,libxrandr)))
GNOME Desktop.")
(license license:lgpl2.1+)))
+(define-public gdl
+ (package
+ (name "gdl")
+ (version "3.34.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/GNOME/gdl.git")
+ (commit (string-append "GDL_" (string-map (match-lambda
+ (#\. #\_)
+ (c c))
+ version)))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "154qcr0x6f68f4q526y87imv0rscmp34n47nk1pp82rsq52h2zna"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("glib" ,glib "bin") ; for glib-genmarshal, etc.
+ ("gnome-common" ,gnome-common)
+ ("gtk-doc" ,gtk-doc)
+ ("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)
+ ("libtool" ,libtool)
+ ("which" ,which)))
+ (inputs
+ `(("libxml2" ,libxml2)))
+ (propagated-inputs
+ ;; The gdl-3.0.pc file 'Requires' GTK+.
+ `(("gtk+" ,gtk+)))
+ (home-page "https://gitlab.gnome.org/GNOME/gdl/")
+ (synopsis "GNOME docking library")
+ (description "This library provides docking features for gtk+.")
+ (license license:lgpl2.1+)))
+
+;;; A minimal variant used to break a cycle with Inkscape.
+(define-public gdl-minimal
+ (package
+ (inherit gdl)
+ (name "gdl-minimal")
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-doc-generation
+ ;; XXX: There is no easy way to disable generating the
+ ;; documentation.
+ (lambda _
+ (substitute* "configure.in"
+ (("GTK_DOC_CHECK.*") "")
+ (("docs/.*") ""))
+ (substitute* "Makefile.am"
+ (("gdl docs po") "gdl po"))
+ #t)))))
+ (native-inputs (alist-delete "gtk-doc" (package-native-inputs gdl)))))
+
(define-public libgnome-keyring
(package
(name "libgnome-keyring")
(define-public evince
(package
(name "evince")
- (version "3.34.2")
+ (version "3.36.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/evince/"
"evince-" version ".tar.xz"))
(sha256
(base32
- "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w"))))
+ "0z79jl0j9xq9wgwkfr0d1w1qrdy4447y8shs407n5srr0vixc3bg"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--disable-nautilus" "--enable-introspection")
("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
("xmllint" ,libxml2)))
- (home-page
- "https://www.gnome.org/projects/evince/")
+ (home-page "https://www.gnome.org/projects/evince/")
(synopsis "GNOME's document viewer")
(description
"Evince is a document viewer for multiple document formats. It
(define-public glade3
(package
(name "glade")
- (version "3.22.1")
+ (version "3.36.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z"))))
+ "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)
"/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
(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/"
"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
#: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"
"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
((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
- ;; <tests/README.md> 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
libraries written in C.")
(license license:lgpl2.1+)))
+(define-public vala-0.48
+ (package
+ (inherit vala)
+ (version "0.48.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/vala/"
+ (version-major+minor version) "/"
+ "vala-" version ".tar.xz"))
+ (sha256
+ (base32
+ "01wppzgacdmp8dgf8047myz1any2yffmrhgl8kqf1q0c0gnhi3fi"))))))
+
(define-public vte
(package
(name "vte")
- (version "0.58.3")
+ (version "0.60.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/vte/"
"vte-" version ".tar.xz"))
(sha256
(base32
- "0xa9ipwic4jnhhbzlnqbhssz10xkzv61cpkl1ammc6mdq95bbp12"))))
+ "19ccbw0yca78h5qcnm8claj4fg1pj68nj1fsjqqfpzhj7w72i81m"))))
(build-system meson-build-system)
+ (arguments
+ `(#:configure-flags
+ '("-Dvapi=true"
+ "-D_systemd=false")))
(native-inputs
`(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
+ ("gettext" ,gettext-minimal)
("vala" ,vala)
("gobject-introspection" ,gobject-introspection)
("glib" ,glib "bin") ; for glib-genmarshal, etc.
; or /etc/machine-id.
#:glib-or-gtk? #t
#:configure-flags '("-Denable-gtk-doc=true")))
- (home-page "https://developer.gnome.org/dconf")
+ (home-page "https://developer.gnome.org/dconf/")
(synopsis "Low-level GNOME configuration system")
(description "Dconf is a low-level configuration system. Its main purpose
is to provide a backend to GSettings on platforms that don't already have
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
("vala" ,vala)
- ;; These are needed for the tests.
- ;; FIXME: Add PHP once available.
+ ("php" ,php)
("curl" ,curl)
("gnutls" ,gnutls) ;for 'certtool'
("httpd" ,httpd)))
and the GLib main loop, to integrate well with GNOME applications.")
(license license:lgpl2.0+)))
+
+;;; A minimal version of libsoup used to prevent a cycle with Inkscape.
+(define-public libsoup-minimal
+ (package
+ (inherit libsoup)
+ (name "libsoup-minimal")
+ (outputs (delete "doc" (package-outputs libsoup)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments libsoup)
+ ((#:configure-flags configure-flags)
+ `(delete "-Dgtk_doc=true" ,configure-flags))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'move-doc)))))
+ (native-inputs (alist-delete "gtk-doc" (package-native-inputs libsoup)))))
+
(define-public libsecret
(package
(name "libsecret")
- (version "0.20.2")
+ (version "0.20.3")
(source (origin
(method url-fetch)
(uri (string-append
"libsecret-" version ".tar.xz"))
(sha256
(base32
- "1hzz34gmsxxf1jm1b7qin390rkwbg8sx198xdkwxqp3q6cw19sc1"))))
+ "1r4habxdzmn02id324m0m4mg5isf22q1z436bg3vjjmcz1b3rjsg"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
(define-public geoclue
(package
(name "geoclue")
- (version "2.5.5")
+ (version "2.5.6")
(source
(origin
(method url-fetch)
(string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
version "/geoclue-" version ".tar.bz2"))
(sha256
- (base32
- "1b7jqrsn4x7mxjxj8hvb2dl2cmhrpb9vibs4rvkkanky5nsx3sai"))
+ (base32 "0a833x5apzabxj80ywvsh8crd635vni2i9v9c1p095f6hvmfc45k"))
(patches (search-patches "geoclue-config.patch"))))
(build-system meson-build-system)
(arguments
#t))))
(build-system glib-or-gtk-build-system)
(arguments
- '( ;; The tests want to contact the system bus, which can't be done in the
- ;; build environment. The integration test can run, but the last of
- ;; the up-self-tests doesn't. Disable tests for now.
- #:tests? #f
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((umockdev (string-append (assoc-ref inputs "umockdev")
+ "/lib")))
+ (setenv "LD_LIBRARY_PATH" umockdev))
+ #t)))
#:configure-flags (list "--localstatedir=/var"
(string-append "--with-udevrulesdir="
(assoc-ref %outputs "out")
("intltool" ,intltool)
("python" ,python)
+ ;; For tests.
+ ("python-dbus" ,python-dbus)
+ ("python-dbusmock" ,python-dbusmock)
+ ("python-pygobject" ,python-pygobject)
+ ("umockdev" ,umockdev)
+
;; For man pages.
("libxslt" ,libxslt) ;for 'xsltproc'
("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
(define-public cogl
(package
(name "cogl")
- (version "1.22.4")
+ (version "1.22.8")
(source
(origin
(method url-fetch)
(version-major+minor version) "/"
"cogl-" version ".tar.xz"))
(sha256
- (base32 "1q0drs82a8f6glg1v29bb6g2nf15fw0rvdx3d0rgcgfarfaby5sj"))))
+ (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)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums
("gobject-introspection" ,gobject-introspection)
- ;;("xorg-server" ,xorg-server) ; for the test suite
+ ("xorg-server" ,xorg-server-for-tests)
("pkg-config" ,pkg-config)))
(propagated-inputs
`(("glib" ,glib)
("gst-plugins-base" ,gst-plugins-base)
("wayland" ,wayland)))
(arguments
- `(#:configure-flags (list "--enable-cogl-gst"
+ `(#:disallowed-references (,xorg-server-for-tests)
+ #:configure-flags (list "--enable-cogl-gst"
"--enable-wayland-egl-platform"
"--enable-wayland-egl-server"
(string-append "--with-gl-libname="
(assoc-ref %build-inputs "mesa")
"/lib/libGL.so"))
- ;; XXX FIXME: All tests fail, with many warnings printed like this:
- ;; _FontTransOpen: Unable to Parse address
- ;; ${prefix}/share/fonts/X11/misc/
- #:tests? #f
- #; #:phases
- #;
+ #: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 <EGL/eglext.h>" all)
+ (string-append all "\n#include <EGL/eglmesaext.h>\n")))
+ #t))
(add-before 'check 'start-xorg-server
- (lambda* (#:key inputs #:allow-other-keys)
- ;; The test suite requires a running X server.
- (system (format #f "~a/bin/Xvfb :1 &"
- (assoc-ref inputs "xorg-server")))
- (setenv "DISPLAY" ":1")
+ (lambda* (#:key tests? inputs #:allow-other-keys)
+ (if tests?
+ (begin
+ ;; The test suite requires a running X server.
+ (system (format #f "~a/bin/Xvfb :1 +extension GLX &"
+ (assoc-ref inputs "xorg-server")))
+ (setenv "DISPLAY" ":1")
+ #t)
+ (format #t "test suite not run~%"))
#t)))))
(home-page "https://www.cogl3d.org")
(synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
+ (uri (string-append "mirror://gnome/sources/totem/"
(version-major+minor version) "/"
- name "-" version ".tar.xz"))
+ "totem-" version ".tar.xz"))
(sha256
(base32
"028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b"))))
("intltool" ,intltool)
("itstool" ,itstool)
("xmllint" ,libxml2)
- ("python-pylint" ,python-pylint)
("xorg-server" ,xorg-server-for-tests)))
(propagated-inputs
`(("dconf" ,dconf)))
(define-public simple-scan
(package
(name "simple-scan")
- (version "3.36.0")
+ (version "3.36.3")
(source
(origin
(method url-fetch)
(version-major+minor version) "/"
"simple-scan-" version ".tar.xz"))
(sha256
- (base32 "198l3yhqhb2wzfdcgi8fzbwycr0njn44583dazz6wy1gqbiqnzgm"))))
+ (base32 "0gsz7jqk0fdj0mama3cnss9i1adw18cpdnlcjcjh4r5qijmvx0vh"))))
(build-system meson-build-system)
;; TODO: Fix icons in home screen, About dialogue, and scan menu.
(arguments
(define-public epiphany
(package
(name "epiphany")
- (version "3.34.2")
+ (version "3.34.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/epiphany/"
"epiphany-" version ".tar.xz"))
(sha256
(base32
- "18d48vcp2nxs63bddkdplslgbnlfq79pm2ivl8hk38kkggy3dahf"))))
+ "13ar3s40cds1rplwbzx0fzigf120w0rydiv05r3k6zpc0zy91qb0"))))
(build-system meson-build-system)
(arguments
- ;; FIXME: tests run under Xvfb, but fail with:
- ;; /src/bookmarks/ephy-bookmarks/create:
- ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
- ;; subsystem
- ;; FAIL
- '(#:tests? #f
- #:glib-or-gtk? #t
+ '(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
(lambda _
(substitute* "post_install.py"
(("gtk-update-icon-cache") "true"))
+ #t))
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ (substitute* "tests/meson.build"
+ ;; embed_shell fails, because webkitgtk apparently no longer supports
+ ;; overriding the ftp schema
+ ;; web_app_utils fails due to missing network access
+ (("(embed_shell|web_app_utils)_test,")
+ "find_program('sh'), args: ['-c', 'exit 77'],"))
+ #t))
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
#t)))
#:configure-flags
;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
("intltool" ,intltool)
("itstool" ,itstool)
("pkg-config" ,pkg-config)
- ("xmllint" ,libxml2)))
+ ("xmllint" ,libxml2)
+ ("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("avahi" ,avahi)
("gcr" ,gcr)
(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 "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
+ "0xxxq8xdkgkn146my307jgws4qgxx477h0ybg1mqza1ycmczvsla"))))
(build-system meson-build-system)
(native-inputs
`(("gcr" ,gcr)
(define-public shotwell
(package
(name "shotwell")
- (version "0.30.8")
+ (version "0.30.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/shotwell/"
"shotwell-" version ".tar.xz"))
(sha256
(base32
- "1f7m007g6w1sz8s60w6x81ghp2rrjmik8phd958b2hy8zz92wbbj"))))
+ "1y556yyzfya0310v5wqjkf17hy5lhf028iminvvgi2pdfva344id"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
;; 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 <EGL/eglext\\.h>" all)
+ (string-append all "\n#include <EGL/eglmesaext.h>")))
+ (substitute* "cogl/cogl/meson.build"
+ (("#include <EGL/eglext\\.h>" all)
+ (string-append all "\\n#include <EGL/eglmesaext.h>")))
+ #t)))))
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
(define-public network-manager
(package
(name "network-manager")
- (version "1.18.4")
+ (version "1.24.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/NetworkManager/"
(version-major+minor version) "/"
"NetworkManager-" version ".tar.xz"))
- (patches (search-patches "nm-plugin-path.patch"))
+ (patches (search-patches "network-manager-plugin-path.patch"))
(sha256
(base32
- "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3"))
+ "06044fl60bjlj7c6rqqfbm5795h61h6yzp7ch392hzcnm46wwhn3"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "src/devices/wwan/nm-modem-manager.c"
(("systemd") "elogind"))
#t))))
- (build-system gnu-build-system)
+ (build-system meson-build-system)
(outputs '("out"
"doc")) ; 8 MiB of gtk-doc HTML
(arguments
- '(#:configure-flags
+ `(#:configure-flags
(let ((out (assoc-ref %outputs "out"))
- (doc (assoc-ref %outputs "doc"))
(dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
"/sbin/dhclient")))
- (list "--with-libnm-glib" ; needed by network-manager-applet
- "--with-systemd-journal=no"
- "--with-session-tracking=elogind"
- "--with-suspend-resume=elogind"
- "--with-consolekit=no"
- "--with-crypto=gnutls"
- "--disable-config-plugin-ibft"
- "--sysconfdir=/etc"
- "--localstatedir=/var"
- (string-append "--with-udev-dir="
- out "/lib/udev")
- (string-append "--with-dbus-sys-dir="
- out "/etc/dbus-1/system.d")
- (string-append "--with-html-dir="
- doc "/share/gtk-doc/html")
- (string-append "--with-dhclient=" dhclient)))
+ (list
+ ;; Otherwise, the RUNPATH will lack the final 'NetworkManager' path
+ ;; component.
+ (string-append "-Dc_link_args=-Wl,-rpath="
+ out "/lib:"
+ out "/lib/NetworkManager/" ,version)
+ "-Dsystemd_journal=false"
+ "-Dsession_tracking=elogind"
+ "-Dsuspend_resume=elogind"
+ "-Dsystemdsystemunitdir=no"
+ "-Dsession_tracking_consolekit=false"
+ "-Ddhcpcd=no"
+ "-Ddhcpcanon=no"
+ "-Dcrypto=gnutls"
+ "-Diwd=true"
+ "-Dlibaudit=yes"
+ "-Dqt=false"
+ "-Ddocs=true"
+ "--sysconfdir=/etc"
+ "--localstatedir=/var"
+ (string-append "-Dudev_dir="
+ out "/lib/udev")
+ (string-append "-Ddbus_conf_dir="
+ out "/etc/dbus-1/system.d")
+
+ (string-append "-Ddhclient=" dhclient)))
#:phases
(modify-phases %standard-phases
- ;; This bare "ls" invocation breaks some tests.
- (add-after 'unpack 'patch-ls-invocation
- (lambda _
- (substitute* "build-aux/ltmain.sh"
- (("`ls -")
- (string-append "`" (which "ls") " -")))
- #t))
(add-before 'configure 'pre-configure
(lambda _
;; These tests try to test aspects of network-manager's
;; cope with being already in the Guix build jail as that jail
;; lacks some features that they would like to proxy over (like
;; a /sys mount).
- (substitute* '("Makefile.in")
- (("src/platform/tests/test-address-linux") " ")
- (("src/platform/tests/test-cleanup-linux") " ")
- (("src/platform/tests/test-link-linux") " ")
- (("src/platform/tests/test-route-linux") " ")
- (("src/devices/tests/test-acd") "")
- (("src/devices/tests/test-arping") " ")
- (("src/devices/tests/test-lldp") " ")
- (("src/tests/test-route-manager-linux") " "))
- #t))
- (add-after 'unpack 'delete-failing-tests
- (lambda _
- ;; FIXME: These three tests fail for unknown reasons.
- ;; ERROR:libnm-core/tests/test-general.c:5842:
- ;; _json_config_check_valid: assertion failed (res == expected): (1 == 0)
- ;; ERROR:libnm-core/tests/test-keyfile.c:647:
- ;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL)
- ;; ERROR:libnm-core/tests/test-setting.c:907:
- ;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner))
- (substitute* "Makefile.in"
- (("libnm-core/tests/test-general") " ")
- (("libnm-core/tests/test-keyfile") " ")
- (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " "))
+ (substitute* "src/platform/tests/meson.build"
+ ((".*test-address-linux.*") "")
+ ((".*test-cleanup-linux.*") "")
+ ((".*test-link-linux.*") "")
+ ((".*test-route-linux.*") ""))
+ (substitute* "src/devices/tests/meson.build"
+ ((".*test-acd.*") "")
+ ((".*test-lldp.*") ""))
#t))
+ (add-after 'unpack 'patch-docbook-xml
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook")))
+ (substitute* (find-files "." ".*\\.(xsl|xml)")
+ (("http://.*/docbookx\\.dtd")
+ (string-append xmldoc "/docbookx.dtd")))
+ #t)))
(add-before 'check 'pre-check
(lambda _
;; For the missing /etc/machine-id.
(setenv "DBUS_FATAL_WARNINGS" "0")
-
- ;; XXX: Regenerate some of the tests that are dependent on Python version.
- ;; Try removing this variable for newer versions of NetworkManager.
- (setenv "NM_TEST_REGENERATE" "1")
#t))
- (replace 'install
+ (add-before 'install 'no-polkit-magic
+ ;; Meson ‘magically’ invokes pkexec, which fails (not setuid).
(lambda _
- (invoke "make"
- "sysconfdir=/tmp"
- "rundir=/tmp"
- "statedir=/tmp"
- "nmstatedir=/tmp/nm"
- "install")
- #t)))))
+ (setenv "PKEXEC_UID" "something")
+ #t))
+ (add-after 'install 'move-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc "/share"))
+ (for-each (lambda (directory)
+ (copy-recursively (string-append out directory)
+ (string-append doc directory))
+ (delete-file-recursively
+ (string-append out directory)))
+ '("/share/doc" "/share/gtk-doc"))
+ #t))))))
(propagated-inputs
`(("glib" ,glib)))
(native-inputs
- `(("glib:bin" ,glib "bin") ; for gdbus-codegen
+ `(("glib:bin" ,glib "bin") ; for gdbus-codegen
+ ("gtk-doc" ,gtk-doc)
("gobject-introspection" ,gobject-introspection)
+ ("docbook-xml" ,docbook-xml)
("docbook-xsl" ,docbook-xsl)
("intltool" ,intltool)
("libxslt" ,libxslt)
("libxml2" ,libxml2)
("pkg-config" ,pkg-config)
+ ("vala" ,vala)
;; For testing.
("python" ,python-wrapper)
("python-dbus" ,python-dbus)
("python-pygobject" ,python-pygobject)))
(inputs
- `(("coreutils" ,coreutils) ; for ls
- ("curl" ,curl)
+ `(("curl" ,curl)
("cyrus-sasl" ,cyrus-sasl)
("dbus-glib" ,dbus-glib)
("dnsmasq" ,dnsmasq)
("gnutls" ,gnutls)
("iptables" ,iptables)
("isc-dhcp" ,isc-dhcp)
+ ("iwd" ,iwd) ; wpa_supplicant alternative
("jansson" ,jansson)
+ ("libaudit" ,audit)
("libgcrypt" ,libgcrypt)
("libgudev" ,libgudev)
("libndp" ,libndp)
("libnl" ,libnl)
("libsoup" ,libsoup)
+ ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
("modem-manager" ,modem-manager)
("newt" ,newt) ;for the 'nmtui' console interface
+ ("openresolv" ,openresolv) ; alternative resolv.conf manager
("polkit" ,polkit)
("ppp" ,ppp)
("readline" ,readline)
("util-linux" ,util-linux)
("elogind" ,elogind)))
(synopsis "Network connection manager")
- (home-page "https://www.gnome.org/projects/NetworkManager/")
+ (home-page "https://wiki.gnome.org/Projects/NetworkManager")
(description
"NetworkManager is a system network service that manages your network
devices and connections, attempting to keep active network connectivity when
available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
devices, and provides VPN integration with a variety of different VPN
services.")
- (license license:gpl2+)
+ ;; “This NetworkManager project consists of the daemon, client tools, and
+ ;; libnm. libnm is licensed LGPL-2.1+, while the rest is licensed under
+ ;; GPL-2.0+.”
+ (license (list license:gpl2+
+ license:lgpl2.1+))
(properties '((upstream-name . "NetworkManager")))))
(define-public network-manager-openvpn
(package
(name "network-manager-openvpn")
- ;; Updating? Check whether network-manager-applet still needs libnm_gtk.
- (version "1.8.10")
+ (version "1.8.12")
(source (origin
(method url-fetch)
(uri (string-append
"/NetworkManager-openvpn-" version ".tar.xz"))
(sha256
(base32
- "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g"))))
+ "062kh4zj7jfbwy4zzcwpq2m457bzbpm3l18s0ysnw3mgia3siz8f"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
("kmod" ,kmod)
("openvpn" ,openvpn)
("network-manager" ,network-manager)
- ("network-manager-applet" ,network-manager-applet) ;for libnma
+ ("libnma" ,libnma)
("libsecret" ,libsecret)))
(home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
(synopsis "OpenVPN plug-in for NetworkManager")
"1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
+ `(#:configure-flags '("--enable-absolute-paths"
+ "--localstatedir=/var"
+ ;; libnm-glib has been removed from network-manager
+ ;; 1de8383ad9fdfc8f552117e5d109bdfa7005634b
+ "--with-libnm-glib=no")
#:phases
(modify-phases %standard-phases
(add-after 'configure 'patch-path
("kmod" ,kmod)
("vpnc" ,vpnc)
("network-manager" ,network-manager)
- ("network-manager-applet" ,network-manager-applet) ;for libnma
+ ("libnma" ,libnma)
("libsecret" ,libsecret)))
(home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
(synopsis "VPNC plug-in for NetworkManager")
"/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
`(("intltool" ,intltool)
- ("network-manager-applet" ,network-manager-applet) ;for libnma
+ ("libnma" ,libnma)
("pkg-config" ,pkg-config)))
(inputs
`(("gcr" ,gcr)
("kmod" ,kmod)
("libsecret" ,libsecret)
("libxml2" ,libxml2)
+ ("lz4" ,lz4)
("network-manager" ,network-manager)
("openconnect" ,openconnect)))
(home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
(define-public network-manager-applet
(package
(name "network-manager-applet")
- (version "1.8.24")
+ (version "1.16.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/network-manager-applet/"
"network-manager-applet-" version ".tar.xz"))
(sha256
(base32
- "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi"))))
+ "1rf3nm0hjcy9f8ajb4vmvwy503w8yj8d4daxkcb7w7i7b92qmyfn"))))
(build-system meson-build-system)
(arguments
- '(#:configure-flags
- ;; ‘Nobody should be using this’ but network-manager-openvpn 1.8.10 does.
- (list "-Dlibnm_gtk=true")
- #:glib-or-gtk? #t))
+ '(#:glib-or-gtk? #t))
(native-inputs
`(("intltool" ,intltool)
("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
;; libnm-gtk.pc refers to all these.
`(("dbus-glib" ,dbus-glib)
("gtk+" ,gtk+)
- ("network-manager" ,network-manager)))
+ ("network-manager" ,network-manager)
+ ;; nm-applet need by org.gnome.nm-applet.gschema.xml
+ ("libnma" ,libnma)))
(inputs
`(("gcr" ,gcr)
- ("iso-codes" ,iso-codes)
("libgudev" ,libgudev)
("libnotify" ,libnotify)
("libsecret" ,libsecret)
("libselinux" ,libselinux)
("jansson" ,jansson) ; for team support
- ("modem-manager" ,modem-manager)
- ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)))
+ ("modem-manager" ,modem-manager)))
(synopsis "Applet for managing network connections")
- (home-page "https://www.gnome.org/projects/NetworkManager/")
+ (home-page "https://wiki.gnome.org/Projects/NetworkManager")
(description
"This package contains a systray applet for NetworkManager. It displays
the available networks and allows users to easily switch between them.")
("libgnomekbd" ,libgnomekbd)
("libgudev" ,libgudev)
("libgtop" ,libgtop)
+ ("libnma" ,libnma)
("libpwquality" ,libpwquality)
("libsecret" ,libsecret)
("libsoup" ,libsoup)
("libcroco" ,libcroco)
("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
("libgweather" ,libgweather)
+ ("libnma" ,libnma)
("libsoup" ,libsoup)
("mesa-headers" ,mesa-headers)
("mutter" ,mutter)
("gnome-desktop" ,gnome-desktop)
("libgweather" ,libgweather)))
(arguments
- `(#:phases
+ `(#:glib-or-gtk? #t
+ #:phases
(modify-phases %standard-phases
(add-after 'install 'fix-desktop-file
;; FIXME: "gapplication launch org.gnome.Weather" fails for some reason.
(let* ((out (assoc-ref outputs "out"))
(applications (string-append out "/share/applications")))
(substitute* (string-append applications "/org.gnome.Weather.desktop")
- (("Exec=.*") "Exec=gnome-weather\n"))))))))
+ (("Exec=.*") "Exec=gnome-weather\n"))
+ #t)))
+ (add-after 'install 'wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
+ ;; GNOME Weather needs the typelib files of GTK+, Pango etc at runtime.
+ (wrap-program (string-append out "/bin/gnome-weather")
+ `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
+ #t))))))
(synopsis "Weather monitoring for GNOME desktop")
(description "GNOME Weather is a small application that allows you to
monitor the current weather conditions for your city, or anywhere in the
("evince" ,evince)
("file-roller" ,file-roller)
("gedit" ,gedit)
- ; TODO: ("gnome-boxes" ,gnome-boxes)
+ ("gnome-boxes" ,gnome-boxes)
("gnome-calculator" ,gnome-calculator)
("gnome-calendar" ,gnome-calendar)
("gnome-characters" ,gnome-characters)
name "-" version ".tar.xz"))
(sha256
(base32
- "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))))
+ "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))
+ (patches
+ (search-patches "gnome-todo-delete-esource-duplicate.patch"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("python" ,python)
- ("python-pygobject" ,python-pygobject)))
+ `(("python" ,python)))
+ (propagated-inputs
+ `(("python-pygobject" ,python-pygobject)))
(synopsis "Python client bindings for D-Bus AT-SPI")
(home-page "https://wiki.linuxfoundation.org/accessibility\
/atk/at-spi/at-spi_on_d-bus")
(license license:lgpl2.0)
(properties '((upstream-name . "pyatspi")))))
+(define-public python2-pyatspi
+ (package
+ (inherit python-pyatspi)
+ (name "python2-pyatspi")
+ (inputs
+ `(("python" ,python-2)))
+ (propagated-inputs
+ `(("python-pygobject" ,python2-pygobject)))))
+
(define-public orca
(package
(name "orca")
(define-public soundconverter
(package
(name "soundconverter")
- (version "3.0.1")
+ (version "3.0.2")
(source
(origin
(method url-fetch)
"soundconverter-" version ".tar.xz"))
(sha256
- (base32 "1d6x1yf8psqbd9zbybxivfqg55khcnngp2mn92l161dfdk9512c5"))
- (patches
- (search-patches
- "soundconverter-remove-gconf-dependency.patch"))))
+ (base32 "1jv8m82hi23ilrgdznlc1jhp2jm8bw1yrw0chh3qw2l0sixvkl11"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:imported-modules ((guix build python-build-system)
(define-public gnome-boxes
(package
(name "gnome-boxes")
- (version "3.35.91")
+ (version "3.36.5")
(source
(origin
(method url-fetch)
(version-major+minor version) "/"
"gnome-boxes-" version ".tar.xz"))
(sha256
- (base32
- "0l96spz6pc8q4l5p9a58cc0kgvdr7pbc89hy6ixn72k5pl3s7fxj"))))
+ (base32 "1khvyhgd3p41fvvknga1hdl0p1ks4kj4cwsiaw28v1sy6nzclm2c"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
;; snowball
license:bsd-2))))
+(define-public glabels
+ (package
+ (name "glabels")
+ (version "3.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ "glabels-" version ".tar.xz"))
+ (sha256
+ (base32 "0f2rki8i27pkd9r0gz03cdl1g4vnmvp0j49nhxqn275vi8lmgr0q"))))
+ (build-system glib-or-gtk-build-system)
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("intltool" ,intltool)
+ ("itstool" ,itstool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("gtk+" ,gtk+)
+ ("librsvg" ,librsvg)
+ ("libxml2" ,libxml2)))
+ (home-page "https://glabels.org/")
+ (synopsis "Program for creating labels and business cards")
+ (description
+ "gLabels is a program for creating labels and business cards. It is
+designed to work with various laser/ink-jet peel-off label and business
+card sheets that you’ll find at most office supply stores.")
+ (license license:gpl3+)))
+
(define-public libratbag
(package
(name "libratbag")
(define-public piper
(package
(name "piper")
- (version "0.4")
+ (version "0.5")
(source
(origin
(method git-fetch)
(url "https://github.com/libratbag/piper.git")
(commit version)))
(sha256
- (base32 "17h06j8lxpbfygq8fzycl7lml4vv7r05bsyhh3gga2hp0zms4mvg"))))
+ (base32 "00vrcsbsv2477l1ncpyzc61lhxgac84dsgr3sjs8qxw3nh1gaasv"))
+ (file-name (git-file-name name version))))
(build-system meson-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
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+)))