;;; 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)
("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
(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
; 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")
#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'
(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)))
"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")
(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.
("network-manager" ,network-manager)))
(inputs
`(("gcr" ,gcr)
- ("iso-codes" ,iso-codes)
+ ("libnma" ,libnma)
("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.4")
(source
(origin
(method url-fetch)
(version-major+minor version) "/"
"gnome-boxes-" version ".tar.xz"))
(sha256
- (base32
- "0l96spz6pc8q4l5p9a58cc0kgvdr7pbc89hy6ixn72k5pl3s7fxj"))))
+ (base32 "16l0mq2ydmywcdya1795mcy8syg4zkmz9ws3pzjcqv5y4m7cjj03"))))
(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)