;;; 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 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 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")
; 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")
(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.6")
+ (version "1.22.8")
(source
(origin
(method url-fetch)
(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)
"/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 <EGL/eglext.h>" all)
+ (string-append all "\n#include <EGL/eglmesaext.h>\n")))
+ #t))
(add-before 'check 'start-xorg-server
(lambda* (#:key tests? inputs #:allow-other-keys)
(if tests?
(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.2.1")
+ (version "3.36.3")
(source
(origin
(method url-fetch)
(version-major+minor version) "/"
"simple-scan-" version ".tar.xz"))
(sha256
- (base32 "0aq1pf0wk536b91as54684xgmhl7lps0k2xcwha5wh6h1isyb35v"))))
+ (base32 "0gsz7jqk0fdj0mama3cnss9i1adw18cpdnlcjcjh4r5qijmvx0vh"))))
(build-system meson-build-system)
;; TODO: Fix icons in home screen, About dialogue, and scan menu.
(arguments
(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)
;; 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.
"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)
(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)
("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)
(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 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
(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+)))