X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/9b043df7403a10b35b93d133aac796fd277a7339..dac3fc069287ca2233e941c12d305954ad30f947:/gnu/packages/gnome.scm diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f48c4aa59a..d727f18ed8 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2014 Ian Denhardt -;;; Copyright © 2014, 2016 Eric Bavier +;;; Copyright © 2014, 2016, 2020 Eric Bavier ;;; Copyright © 2014, 2015 Federico Beffa ;;; Copyright © 2015, 2016 Sou Bunnbu ;;; Copyright © 2015 Mathieu Lirzin @@ -43,7 +43,7 @@ ;;; Copyright © 2019, 2020 Martin Becze ;;; Copyright © 2019 David Wilson ;;; Copyright © 2019, 2020 Raghav Gururajan -;;; Copyright © 2019 Jonathan Brielmaier +;;; Copyright © 2019, 2020 Jonathan Brielmaier ;;; Copyright © 2019, 2020 Leo Prikler ;;; Copyright © 2020 Oleg Pykhalov ;;; Copyright © 2020 Pierre Neidhardt @@ -54,6 +54,7 @@ ;;; Copyright © 2020 Vinicius Monego ;;; Copyright © 2020 Brice Waegeneire ;;; Copyright © 2020 Arun Isaac +;;; Copyright © 2020 Michael Rohleder ;;; ;;; This file is part of GNU Guix. ;;; @@ -106,6 +107,7 @@ #:use-module (gnu packages game-development) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages gimp) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) @@ -124,6 +126,7 @@ #:use-module (gnu packages iso-codes) #:use-module (gnu packages kerberos) #:use-module (gnu packages libcanberra) + #:use-module (gnu packages libffi) #:use-module (gnu packages libunistring) #:use-module (gnu packages libunwind) #:use-module (gnu packages libusb) @@ -138,8 +141,10 @@ #:use-module (gnu packages nettle) #:use-module (gnu packages networking) #:use-module (gnu packages ninja) + #:use-module (gnu packages node) #:use-module (gnu packages nss) #:use-module (gnu packages openldap) + #:use-module (gnu packages package-management) #:use-module (gnu packages password-utils) #:use-module (gnu packages pcre) #:use-module (gnu packages pdf) @@ -150,17 +155,21 @@ #:use-module (gnu packages polkit) #:use-module (gnu packages popt) #:use-module (gnu packages pretty-print) + #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages rdesktop) + #:use-module (gnu packages rdf) #:use-module (gnu packages readline) #:use-module (gnu packages ruby) #:use-module (gnu packages rust) #:use-module (gnu packages samba) #:use-module (gnu packages scanner) + #:use-module (gnu packages sdl) + #:use-module (gnu packages search) #:use-module (gnu packages selinux) #:use-module (gnu packages slang) #:use-module (gnu packages speech) @@ -258,6 +267,694 @@ Desktop. It is designed to be as simple as possible and has some unique features to enable users to create their discs easily and quickly.") (license license:gpl2+))) +(define-public libcloudproviders + (package + (name "libcloudproviders") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "0aars24myf6n8b8hm1n12hsgcm54097kpbpm4ba31zp1l4y22qs7")))) + (build-system meson-build-system) + (outputs '("out" "doc")) + (arguments + `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + #:configure-flags + (list + "-Denable-gtk-doc=true") + #:phases + (modify-phases %standard-phases + (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")) + (rename-file + (string-append out "/share/gtk-doc") + (string-append doc "/share/gtk-doc")) + #t)))))) + (native-inputs + `(("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (inputs + `(("glib" ,glib) + ("glib-networking" ,glib-networking))) + (synopsis "Cloudproviders Integration API") + (description "Libcloudproviders is a DBus API that allows cloud storage sync +clients to expose their services. Clients such as file managers and desktop +environments can then provide integrated access to the cloud providers +services.") + (home-page "https://csorianognome.wordpress.com/2015/07/07/cloud-providers/") + (license license:lgpl3+))) + +(define-public libgrss + (package + (name "libgrss") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "1nalslgyglvhpva3px06fj6lv5zgfg0qmj0sbxyyl5d963vc02b7")))) + (build-system glib-or-gtk-build-system) + (outputs '("out" "doc")) + (arguments + `(#:configure-flags + (list + "--enable-gtk-doc" + (string-append "--with-html-dir=" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "doc/reference" + (substitute* "libgrss-docs.sgml" + (("http://www.oasis-open.org/docbook/xml/4.1.2/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) + #t))))) + (native-inputs + `(("docbook-xml" ,docbook-xml-4.1.2) + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("glib" ,glib) + ("libsoup" ,libsoup) + ("libxml2" ,libxml2))) + (synopsis "Glib library for feeds") + (description "LibGRSS is a Glib abstaction to handle feeds in RSS, Atom and +other formats.") + (home-page "https://wiki.gnome.org/Projects/Libgrss") + (license license:lgpl3+))) + +(define-public gnome-js-common + (package + (name "gnome-js-common") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.gz")) + (sha256 + (base32 "1zv5b9bcbclzj64xd9kgql4ndmbwvvi6cl937ykw8fp21xgh8z7y")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:configure-flags + (list + "--disable-static"))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (synopsis "Common JS Modules") + (description "GNOME-JS-Common provides common modules for GNOME JavaScript +bindings.") + (home-page "https://wiki.gnome.org/Projects/Seed") + (license license:gpl3+))) + +(define-public seed + (package + (name "seed") + (version "3.8.1") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "0cmcxaggcdcy13j27gy8id2qsf2p2sl4bz2mwb9zhv3gzavlvjw0")) + (patches + (search-patches "seed-webkit.patch")))) + (build-system glib-or-gtk-build-system) + (outputs '("out" "doc")) + (arguments + `(#:configure-flags + (list + "--disable-static" + "--enable-xorg-module" + (string-append "--with-html-dir=" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html") + "--with-webkit=4.0") + #:phases + (modify-phases %standard-phases + ;; The seed-webkit.patch patches configure.ac. + ;; So the source files need to be re-bootstrapped. + (add-after 'unpack 'trigger-bootstrap + (lambda _ + (for-each delete-file + (list + "configure" + "Makefile.in")) + #t)) + (add-after 'unpack 'patch-tests + (lambda* (#:key outputs #:allow-other-keys) + (substitute* (find-files "." "\\.js$") + (("#!/usr/bin/env seed") + (string-append "#!" (getcwd) "/src/seed"))) + #t)) + (add-before 'build 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "doc" + (substitute* '("reference/seed-docs.sgml" "modules/book.xml") + (("http://www.oasis-open.org/docbook/xml/4.1.2/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("docbook-xml" ,docbook-xml-4.1.2) + ("gettext" ,gettext-minimal) + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("intltool" ,intltool) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs + `(("cairo" ,cairo) + ("dbus" ,dbus) + ("dbus-glib" ,dbus-glib) + ("gnome-js-common" ,gnome-js-common) + ("gtk+" ,gtk+) + ("gtk+-2" ,gtk+-2) + ("libffi" ,libffi) + ("libxml2" ,libxml2) + ("mpfr" ,mpfr) + ("readline" ,readline) + ("sqlite" ,sqlite) + ("xscrnsaver" ,libxscrnsaver))) + (propagated-inputs + `(("glib" ,glib) + ("webkit" ,webkitgtk))) + (synopsis "GObject JavaScriptCore bridge") + (description "Seed is a library and interpreter, dynamically bridging +(through GObjectIntrospection) the WebKit JavaScriptCore engine, with the +GNOME platform. It serves as something which enables you to write standalone +applications in JavaScript, or easily enable your application to be extensible +in JavaScript.") + (home-page "https://wiki.gnome.org/Projects/Seed") + (license license:lgpl2.0+))) + +(define-public libdmapsharing + (package + (name "libdmapsharing") + (version "3.9.10") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.flyn.org/projects/" + name "/" name "-" version ".tar.gz")) + (sha256 + (base32 "152hnddwxv590cn802awv3mn27ixc3s6ac691a7z02d1c5fl45p2")))) + (build-system glib-or-gtk-build-system) + (outputs '("out" "doc")) + (arguments + `(#:tests? #f ; Tests require networking. + #:configure-flags + (list + "--disable-static" + (string-append "--with-html-dir=" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "doc" + (substitute* "libdmapsharing-4.0-docs.xml" + (("http://www.oasis-open.org/docbook/xml/4.3/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) + #t))))) + (native-inputs + `(("check" ,check) + ("docbook-xml" ,docbook-xml-4.3) + ("gobject-introspection" ,gobject-introspection) + ("pedansee" ,pedansee) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (inputs + `(("avahi" ,avahi) + ("gdk-pixbuf" ,gdk-pixbuf+svg) + ("gee" ,libgee) + ("gst-plugins-base" ,gst-plugins-base) + ("gtk+" ,gtk+))) + (propagated-inputs + `(("glib" ,glib) + ("glib-networking" ,glib-networking) + ("gstreamer" ,gstreamer) + ("libsoup" ,libsoup))) + (synopsis "Media management library") + (description "Libdmapsharing is a library which allows programs to access, +share and control the playback of media content using DMAP (DAAP, DPAP & DACP). +It is written in C using GObject and libsoup.") + (home-page "https://launchpad.net/gtx") + (license license:lgpl2.1+))) + +(define-public gtx + (package + (name "gtx") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri + (string-append "https://launchpad.net/gtx/trunk/" + version "/+download/gtx-" version ".tar.gz")) + (sha256 + (base32 "0i4zvn5v4rf0cw3fxylk6j2pyy5lkrswdiw8jdxkys0ph0nan33n")))) + (build-system glib-or-gtk-build-system) + (outputs '("out" "doc")) + (arguments + `(#:configure-flags + (list + "--disable-static" + "--enable-gtk-doc" + (string-append "--with-html-dir=" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html")))) + (native-inputs + `(("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("glib" ,glib))) + (synopsis "GLib Testing Framework") + (description "GTX is a small collection of convenience functions intended to +enhance the GLib testing framework. With specific emphasis on easing the pain +of writing test cases for asynchronous interactions.") + (home-page "https://launchpad.net/gtx") + (license license:lgpl2.1+))) + +(define-public dee + (package + (name "dee") + (version "1.2.7") + (source + (origin + (method url-fetch) + (uri + (string-append "https://launchpad.net/dee/1.0/" + version "/+download/dee-" version ".tar.gz")) + (sha256 + (base32 "12mzffk0lyd566y46x57jlvb9af152b4dqpasr40zal4wrn37w0v")) + (patches + (search-patches "dee-vapi.patch")))) + (build-system glib-or-gtk-build-system) + (outputs '("out" "doc")) + (arguments + `(#:configure-flags + (list + "--disable-maintainer-flags" + (string-append "--with-pygi-overrides-dir=" + (assoc-ref %outputs "out") + "/lib/python" + ,(version-major+minor + (package-version python)) + "/site-packages/gi/overrides") + (string-append "--with-html-dir=" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "doc/reference/dee-1.0" + (substitute* "dee-1.0-docs.sgml" + (("http://www.oasis-open.org/docbook/xml/4.3/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) + #t)) + (add-after 'patch-docbook-xml 'disable-failing-tests + (lambda _ + (substitute* "tests/test-icu.c" + (("g_test_add \\(DOMAIN\"/Default/AsciiFolder\", Fixture, 0,") + "") + (("setup, test_ascii_folder, teardown\\);") + "")) + #t)) + (add-before 'check 'pre-check + (lambda _ + ;; Tests require a running dbus-daemon. + (system "dbus-daemon &") + ;; For missing '/etc/machine-id'. + (setenv "DBUS_FATAL_WARNINGS" "0") + #t))))) + (native-inputs + `(("dbus" ,dbus) + ("dbus-test-runner" ,dbus-test-runner) + ("docbook-xml" ,docbook-xml-4.3) + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ;; Would only be required by configure flag "--enable-extended-tests". + ;("gtx" ,gtx) + ("pkg-config" ,pkg-config) + ("pygobject" ,python-pygobject) + ("python" ,python-wrapper) + ("vala" ,vala))) + (inputs + `(("icu" ,icu4c))) + (propagated-inputs + `(("glib" ,glib))) + (synopsis "Model to synchronize multiple instances over DBus") + (description "Dee is a library that uses DBus to provide objects allowing +you to create Model-View-Controller type programs across DBus. It also consists +of utility objects which extend DBus allowing for peer-to-peer discoverability +of known objects without needing a central registrar.") + (home-page "https://launchpad.net/dee") + (license + ;; Dual-licensed + (list + license:lgpl3+ + license:gpl3+)))) + +(define-public zeitgeist + (package + (name "zeitgeist") + (version "1.0.2") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://gitlab.freedesktop.org/zeitgeist/zeitgeist.git") + (commit + (string-append "v" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "0ig3d3j1n0ghaxsgfww6g2hhcdwx8cljwwfmp9jk1nrvkxd6rnmv")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:configure-flags + (list + "--enable-explain-queries" + "--enable-fts" + "--enable-docs") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "doc/libzeitgeist" + (substitute* "zeitgeist-gtkdoc-index.sgml" + (("http://www.oasis-open.org/docbook/xml/4.3/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) + #t)) + (add-after 'patch-docbook-xml 'disable-failing-tests + (lambda _ + (substitute* "test/direct/Makefile.am" + ((" log-test ") + "")) + (substitute* "test/c/Makefile.am" + ((" test-log ") + "")) + #t)) + (add-before 'bootstrap 'remove-autogen-script + (lambda _ + ;; To honor `autoreconf -vif` by build-system. + (delete-file "autogen.sh") + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("docbook-xml" ,docbook-xml-4.3) + ("gettext" ,gettext-minimal) + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("vala" ,vala) + ("xorg-server-for-tests" ,xorg-server-for-tests))) + (inputs + `(("dee-icu" ,dee) + ("gtk+" ,gtk+) + ("json-glib" ,json-glib) + ("sqlite" ,sqlite) + ("telepathy-glib" ,telepathy-glib) + ("python" ,python-wrapper) + ("python-rdflib" ,python-rdflib) + ("xapian-config" ,xapian))) + (propagated-inputs + `(("glib" ,glib))) + (synopsis "Desktop Activity Logging") + (description "Zeitgeist is a service which logs the users’s activities and +events, anywhere from files opened to websites visited and conversations. It +makes this information readily available for other applications to use. It is +able to establish relationships between items based on similarity and usage +patterns.") + (home-page "https://zeitgeist.freedesktop.org/") + (license + ;; Dual-licensed + (list + license:lgpl2.1+ + license:gpl2+)))) + +(define-public gnome-photos + (package + (name "gnome-photos") + (version "3.34.2") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "06ml5sf8xhpan410msqz085hmfc7082d368pb82yq646y9pcfn9w")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:configure-flags + (list "-Ddogtail=false" ; Not available + ;; Required for RUNPATH validation. + (string-append "-Dc_link_args=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib/gnome-photos")) + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-gnome-photos + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* + ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/gnome-photos") + `("GRL_PLUGIN_PATH" = (,(getenv "GRL_PLUGIN_PATH"))))) + #t))))) + (native-inputs + `(("dbus" ,dbus) + ("desktop-file-utils" ,desktop-file-utils) + ("gettext" ,gettext-minimal) + ("git" ,git-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gtk+:bin" ,gtk+ "bin") + ("itstool" ,itstool) + ("pkg-config" ,pkg-config))) + (inputs + `(("babl" ,babl) + ("cairo" ,cairo) + ("gdk-pixbuf" ,gdk-pixbuf+svg) + ("gegl" ,gegl) + ("geocode-glib" ,geocode-glib) + ("gexiv2" ,gexiv2) + ("gnome-online-accounts" ,gnome-online-accounts) + ("gnome-online-miners" ,gnome-online-miners) + ("grilo" ,grilo) + ("grilo-plugins" ,grilo-plugins) + ("gtk+" ,gtk+) + ("libdazzle" ,libdazzle) + ("libgdata" ,libgdata) + ("libgfbgraph" ,gfbgraph) + ("libjpeg" ,libjpeg-turbo) + ("libpng" ,libpng) + ("librest" ,rest) + ("pygobject" ,python-pygobject) + ("tracker" ,tracker) + ("tracker-miners" ,tracker-miners))) + (synopsis "Access, organize and share your photos on GNOME desktop") + (description "GNOME Photos is a simple and elegant replacement for using a +file manager to deal with photos. Enhance, crop and edit in a snap. Seamless +cloud integration is offered through GNOME Online Accounts.") + (home-page "https://wiki.gnome.org/Apps/Photos") + (license license:gpl3+))) + +(define-public gnome-music + (package + (name "gnome-music") + (version "3.34.5") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1r5sfw5cbd6qqh27lzhblazir0bfi3k7nqppw66qw990isqm5psy")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-gnome-music + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* + ((out (assoc-ref outputs "out")) + (pylib (string-append out "/lib/python" + ,(version-major+minor + (package-version python)) + "/site-packages"))) + (wrap-program (string-append out "/bin/gnome-music") + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))) + `("GST_PLUGIN_SYSTEM_PATH" = (,(getenv "GST_PLUGIN_SYSTEM_PATH"))) + `("GRL_PLUGIN_PATH" = (,(getenv "GRL_PLUGIN_PATH"))) + `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)))) + #t))))) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk+:bin" ,gtk+ "bin") + ("itstools" ,itstool) + ("pkg-config" ,pkg-config))) + (inputs + `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib") + ("grilo" ,grilo) + ("grilo-plugins" ,grilo-plugins) + ("gst-plugins-base" ,gst-plugins-base) + ("gstreamer" ,gstreamer) + ("gvfs" ,gvfs) + ("libdazzle" ,libdazzle) + ("libmediaart" ,libmediaart) + ("libsoup" ,libsoup) + ("pycairo" ,python-pycairo) + ("pygobject" ,python-pygobject) + ("tracker" ,tracker) + ("tracker-miners" ,tracker-miners))) + (synopsis "Simple music player for GNOME desktop") + (description "GNOME Music is the new GNOME music playing application that +aims to combine an elegant and immersive browsing experience with simple +and straightforward controls.") + (home-page "https://wiki.gnome.org/Apps/Music") + (license license:gpl2+))) + +(define-public portablexdr + (package + (name "portablexdr") + (version "4.9.1") + (source + (origin + (method url-fetch) + (uri + (string-append "https://people.redhat.com/~rjones/" name "/files/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "0b77ipvvi520nv7rr6jb1c3xryhc3m2mywhby7m48kfgag8vvx2w")))) + (build-system gnu-build-system) + (synopsis "External Data Representation Library") + (description "PortableXDR is an implementation of External Data +Representation (XDR) Library. It is a standard data serialization format, for +uses such as computer network protocols. It allows data to be transferred +between different kinds of computer systems.") + (home-page "https://people.redhat.com/~rjones/portablexdr/") + (license + (list + license:gpl2+ + license:lgpl2.1+)))) + +(define-public tepl + (package + (name "tepl") + (version "4.4.0") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0mm2z849hnni7597an05mrv0dckrxjngpf2xfa0g5s17i8x6gxp6")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:tests? #f)) ; FIX-ME: Requires gvfs + (native-inputs + `(("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config))) + (inputs + `(("amtk" ,amtk) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("gtksourceview" ,gtksourceview) + ("libxml2" ,libxml2) + ("uchardet" ,uchardet))) + (synopsis "Text editor product line") + (description "Tepl is a library that eases the development of +GtkSourceView-based text editors and IDEs.") + (home-page "https://wiki.gnome.org/Projects/Tepl") + (license license:lgpl2.1+))) + +(define-public krb5-auth-dialog + (package + (name "krb5-auth-dialog") + (version "3.26.1") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1w91gsvmifqhiam3xqf88i5rk2w6qadjalmbvvamjdc37j0vdc6x")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("intltool" ,intltool) + ("itstool" ,itstool) + ("libxml2" ,libxml2) + ("pkg-config" ,pkg-config) + ("python-wrapper" ,python-wrapper))) + (inputs + `(("glib" ,glib) + ("gtk+" ,gtk+) + ("libnotify" ,libnotify) + ("mit-krb5" ,mit-krb5) + ("network-manager" ,network-manager))) + (synopsis "Popup dialogs for Kerberos 5") + (description "krb5-auth-dialog is a simple dialog that monitors Kerberos +tickets, and pops up a dialog when they are about to expire.") + (home-page "https://gitlab.gnome.org/GNOME/krb5-auth-dialog") + (license license:gpl2+))) + (define-public notification-daemon (package (name "notification-daemon") @@ -332,7 +1029,7 @@ Library reference documentation.") (define-public phodav (package (name "phodav") - (version "2.4") + (version "2.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -340,10 +1037,21 @@ Library reference documentation.") name "-" version ".tar.xz")) (sha256 (base32 - "1hxq8c5qfah3w7mxcyy3yhzdgswplll31a69p5mqdl04bsvw5pbx")))) + "045rdzf8isqmzix12lkz6z073b5qvcqq6ad028advm5gf36skw3i")))) (build-system meson-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'start-virtual-dir-server + ;; The same server when started by tests/virtual-dir returns an + ;; unexpected status (4 instead of 200) and fails a test. It is + ;; unclear why starting it manually here makes it pass. + (lambda _ + (system "tests/virtual-dir-server &") + #t))))) (native-inputs - `(("gettext" ,gettext-minimal) + `(("docbook-xml" ,docbook-xml-4.3) + ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("gtk-doc" ,gtk-doc) ("pkg-config" ,pkg-config))) @@ -449,7 +1157,7 @@ It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.") (define-public gssdp (package (name "gssdp") - (version "1.2.2") + (version "1.2.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -457,7 +1165,7 @@ It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.") name "-" version ".tar.xz")) (sha256 (base32 - "195hi10vrsvh6i927mm6rm1ld5sxah3h5sr3bsjm90vb8lxrxfya")))) + "1s57i8a8wnnxnsfl27cq4503dkdlzbrhry5zpg23sfqfffvdqqx2")))) (build-system meson-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -480,7 +1188,7 @@ a debugging tool, @command{gssdp-device-sniffer}.") (define-public gupnp (package (name "gupnp") - (version "1.2.2") + (version "1.2.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -488,7 +1196,7 @@ a debugging tool, @command{gssdp-device-sniffer}.") name "-" version ".tar.xz")) (sha256 (base32 - "12cr3isww4zl0d4himpd2fhl2wmy3jh8sbxp4snp51sw7savv04s")))) + "1ld7mrpdv9cszmfzh7i19qx4li25j3fr7x1jp38l8phzlmz3187p")))) (build-system meson-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -1286,6 +1994,19 @@ offline sources, providing a centralized place for managing your contacts.") (("\"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. @@ -1315,6 +2036,7 @@ offline sources, providing a centralized place for managing your contacts.") (inputs `(("gdk-pixbuf" ,gdk-pixbuf) ("glib" ,glib) + ("bubblewrap" ,bubblewrap) ("libxext" ,libxext) ("libxkbfile" ,libxkbfile) ("libxrandr" ,libxrandr))) @@ -1668,7 +2390,7 @@ forgotten when the session ends.") (define-public evince (package (name "evince") - (version "3.36.1") + (version "3.36.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/evince/" @@ -1676,7 +2398,7 @@ forgotten when the session ends.") "evince-" version ".tar.xz")) (sha256 (base32 - "1msbb66lasikpfjpkwsvi7h22hqmk275850ilpdqwbd0b39vzf4c")))) + "0z79jl0j9xq9wgwkfr0d1w1qrdy4447y8shs407n5srr0vixc3bg")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags '("--disable-nautilus" "--enable-introspection") @@ -1974,6 +2696,7 @@ database is translated at Transifex.") ("gobject-introspection" ,gobject-introspection) ("python" ,python) ("cups" ,cups) + ("gtk+" ,gtk+) ("python-dbus" ,python-dbus) ("python-pygobject" ,python-pygobject) ("python-pycups" ,python-pycups) @@ -2160,8 +2883,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.") "023gx8rj51njn8fsb6ma5kz1irjpxi4js0n8rwy22inc4ysldd8r")))) (build-system glib-or-gtk-build-system) (arguments - `(#:tests? #f ; needs X, GL, and software rendering - #:phases + `(#:phases (modify-phases %standard-phases (add-before 'configure 'fix-docbook (lambda* (#:key inputs #:allow-other-keys) @@ -2171,24 +2893,39 @@ API add-ons to make GTK+ widgets OpenGL-capable.") "/xml/xsl/docbook-xsl-" ,(package-version docbook-xsl) "/manpages/docbook.xsl"))) + #t)) + (add-before 'check 'pre-check + (lambda _ + (setenv "HOME" "/tmp") + ;; Tests require a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") #t))))) (inputs `(("gtk+" ,gtk+) ("libxml2" ,libxml2))) (native-inputs - `(("intltool" ,intltool) + `(("hicolor-icon-theme" ,hicolor-icon-theme) + ("intltool" ,intltool) ("itstool" ,itstool) ("libxslt" ,libxslt) ;for xsltproc ("docbook-xml" ,docbook-xml-4.2) ("docbook-xsl" ,docbook-xsl) ("python" ,python-2) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server-for-tests))) (home-page "https://glade.gnome.org") (synopsis "GTK+ rapid application development tool") (description "Glade is a rapid application development (RAD) tool to enable quick & easy development of user interfaces for the GTK+ toolkit and the GNOME desktop environment.") - (license license:lgpl2.0+))) + (license license:lgpl2.0+) + (native-search-paths (list (search-path-specification + (variable "GLADE_CATALOG_SEARCH_PATH") + (files '("share/glade/catalogs"))) + (search-path-specification + (variable "GLADE_MODULE_SEARCH_PATH") + (files '("lib/glade/modules"))))))) (define-public libcroco (package @@ -2328,9 +3065,8 @@ library.") (define-public librsvg-next (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/" @@ -2338,68 +3074,74 @@ library.") "librsvg-" version ".tar.xz")) (sha256 (base32 - "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl")) + "14i6xzghcidv64cyd3g0wdjbl82rph737yxn9s3x29nzpcjs707l")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "vendor") - ;; Don't demand an exact version for string_cache - (substitute* "rsvg_internals/Cargo.toml" - (("\"=") "\"")) #t)))) (build-system cargo-build-system) + (outputs '("out" "doc")) (arguments - `(#:modules ((guix build cargo-build-system) - (guix build utils) - ((guix build gnu-build-system) #:prefix gnu:)) - #:vendor-dir "vendor" + `(#:modules + ((guix build cargo-build-system) + (guix build utils) + ((guix build gnu-build-system) #:prefix gnu:)) #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) - ("rust-cairo-rs" ,rust-cairo-rs-0.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 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "doc" + (substitute* "rsvg-docs.xml" + (("http://www.oasis-open.org/docbook/xml/4.3/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) + #t)) (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" - "Makefile.in") + (substitute* '("Makefile.am" "Makefile.in") (("--locked") "")) #t)) (add-before 'configure 'pre-configure @@ -2410,23 +3152,28 @@ library.") (("gdk_pixbuf_moduledir = .*$") (string-append "gdk_pixbuf_moduledir = " "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/" - "loaders\n")) + "loaders\n")) ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg. (("gdk_pixbuf_cache_file = .*$") "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" + (string-append "--with-html-dir=" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html"))))) (add-after 'configure 'dont-vendor-self (lambda* (#:key vendor-dir #:allow-other-keys) ;; Don't keep the whole tarball in the vendor directory (delete-file-recursively - (string-append vendor-dir "/" ,name "-" ,version ".tar.xz")) + (string-append vendor-dir "/" ,name "-" ,version ".tar.xz")) #t)) (replace 'build (assoc-ref gnu:%standard-phases 'build)) @@ -2435,28 +3182,34 @@ library.") ((assoc-ref gnu:%standard-phases 'check) #:test-target "check"))) (replace 'install - (assoc-ref gnu:%standard-phases 'install)) - (add-before 'check 'remove-failing-tests - (lambda _ - (with-directory-excursion "tests/fixtures/reftests" - (for-each delete-file - '(;; The images produced by these tests differ slightly - ;; from their reference counterparts due to differences - ;; in the build environment (missing fonts, etc). See - ;; for details. - ;; These fail on x86_64. - "svg1.1/coords-viewattr-02-b.svg" - "svg1.1/filters-composite-04-f.svg" - "svg1.1/filters-image-01-b.svg" - "svg1.1/filters-conv-02-f.svg" - "svg1.1/filters-conv-04-f.svg" - ;; This test fails on i686: - "svg1.1/masking-path-04-b.svg" - ;; This test fails on armhf: - "svg1.1/masking-mask-01-b.svg" - ;; This test fails on aarch64: - "bugs/777834-empty-text-children.svg"))) - #t))))) + (assoc-ref gnu:%standard-phases 'install))))) + (native-inputs + `(("docbook-xml" ,docbook-xml-4.3) + ("glib" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("ruby" ,ruby) + ("vala" ,vala))) + (inputs + `(("bzip2" ,bzip2) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("harfbuzz" ,harfbuzz) + ("libcroco" ,libcroco) + ("libgsf" ,libgsf) + ("libxml2" ,libxml2) + ("pango" ,pango))) + (propagated-inputs + `(("cairo" ,cairo) + ("gdk-pixbuf" ,gdk-pixbuf) + ("glib" ,glib))) + (synopsis "SVG rendering library") + (description "Librsvg is a library to render SVG images to Cairo surfaces. +GNOME uses this to render SVG icons. Outside of GNOME, other desktop +environments use it for similar purposes. Wikimedia uses it for Wikipedia's SVG +diagrams.") + (home-page "https://wiki.gnome.org/LibRsvg") (license license:lgpl2.1+))) (define-public libidl @@ -3043,14 +3796,14 @@ Hints specification (EWMH).") (define-public goffice (package (name "goffice") - (version "0.10.46") + (version "0.10.47") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/goffice/" (version-major+minor version) "/" "goffice-" version ".tar.xz")) (sha256 - (base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385")))) + (base32 "0xmigfdzvmlpa0fw79mf3xwchmxc8rlidryn5syv8bz7msmrb215")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 4.0 MiB of gtk-doc @@ -3298,7 +4051,7 @@ libraries written in C.") (define-public vala-0.48 (package (inherit vala) - (version "0.48.6") + (version "0.48.9") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/vala/" @@ -3306,12 +4059,12 @@ libraries written in C.") "vala-" version ".tar.xz")) (sha256 (base32 - "01wppzgacdmp8dgf8047myz1any2yffmrhgl8kqf1q0c0gnhi3fi")))))) + "1agyrvslv2yh9ikiw7k5nw6j6il1l2zrzfan0pzdpb9xpg9idslw")))))) (define-public vte (package (name "vte") - (version "0.60.2") + (version "0.60.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/vte/" @@ -3319,7 +4072,7 @@ libraries written in C.") "vte-" version ".tar.xz")) (sha256 (base32 - "19ccbw0yca78h5qcnm8claj4fg1pj68nj1fsjqqfpzhj7w72i81m")))) + "0al2v6fn061v4j1wwvppim1q283y2a6s0iyl29hxhmx3h48nxdzy")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -3371,28 +4124,7 @@ editors, IDEs, etc.") GTK+, this fork provides additional functions exposed for keyboard text selection and URL hints."))) -;; provides vte 2.90, required for some terminal emulators -;; tilda bug: https://github.com/lanoxx/tilda/issues/94 -;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021 -;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/ -;; pantheon-terminal, roxterm are not currently packaged -(define-public vte-0.36 - (package (inherit vte) - (name "vte") - (version "0.36.5") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2")))) - (propagated-inputs - `(("gtk" ,gtk+) - ("ncurses" ,ncurses))))) - -;; stable version for gtk2, required by xfce4-terminal. +;; Stable version for gtk2, required by gnurobots and lxterminal as of 2020-07. (define-public vte/gtk+-2 (package (inherit vte) (name "vte") @@ -3921,7 +4653,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") (define-public gnome-mines (package (name "gnome-mines") - (version "3.34.0") + (version "3.36.1") (source (origin (method url-fetch) @@ -3929,8 +4661,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 - "1spxa6qr1y8s5rrsvpciywpvhk812ngn95s1apaxaigwy2g1iw54")))) + (base32 "0m2680r94nk61imym4x73j03jwfjd8cxm592m5ybiqdfdw6i723i")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -3961,6 +4692,47 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") floating in an ocean using only your brain and a little bit of luck.") (license license:gpl2+))) +(define-public gnome-multi-writer + (package + (name "gnome-multi-writer") + (version "3.35.90") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/gnome-multi-writer/" + (version-major+minor version) "/" + "gnome-multi-writer-" version ".tar.xz")) + (sha256 + (base32 + "07vgzjjdrxcp7h73z13h9agafxb4vmqx5i81bcfyw0ilw9kkdzmp")))) + (build-system meson-build-system) + (arguments + '(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-post-install + (lambda _ + (substitute* "meson.build" + (("meson.add_install_script" &) (string-append "# " &))) + #t))))) + (native-inputs + `(("glib:bin" ,glib "bin") + ("pkg-config" ,pkg-config))) + (inputs + `(("gtk+" ,gtk+) + ("glib" ,glib) ; for gio + ("gusb" ,gusb) + ("udisks" ,udisks) + ("libgudev" ,libgudev) + ("libcanberra" ,libcanberra) + ("polkit" ,polkit))) + (home-page "https://wiki.gnome.org/Apps/MultiWriter") + (synopsis "Write to multiple USB devices at once") + (description + "MultiWriter can be used to write an ISO file to multiple USB devices at +once.") + (license license:gpl2+))) + (define-public gnome-sudoku (package (name "gnome-sudoku") @@ -4175,7 +4947,7 @@ permission from user.") (define-public geocode-glib (package (name "geocode-glib") - (version "3.26.1") + (version "3.26.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/geocode-glib/" @@ -4183,7 +4955,7 @@ permission from user.") "geocode-glib-" version ".tar.xz")) (sha256 (base32 - "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv")))) + "1l8g0f13xgkrk335afr9w8k46mziwb2jnyhl07jccl5yl37q9zh1")))) (build-system meson-build-system) (arguments `(#:phases @@ -4342,7 +5114,8 @@ services for numerous locations.") name "-" version ".tar.xz")) (sha256 (base32 - "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr")))) + "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr")) + (patches (search-patches "gnome-settings-daemon-gc.patch")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -4355,6 +5128,21 @@ services for numerous locations.") (string-append "-Dc_link_args=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib/gnome-settings-daemon-3.0")) + + #:phases (modify-phases %standard-phases + (add-before 'configure 'set-baobab-file-name + (lambda* (#:key inputs #:allow-other-keys) + ;; Hard-code the file name of Baobab instead of looking + ;; it up in $PATH. This ensures users get the "Examine" + ;; button in the low disk space notification of GDM even + ;; if they don't have GNOME in their main profile. + (let ((baobab (assoc-ref inputs "baobab"))) + (substitute* "plugins/housekeeping/gsd-disk-space.c" + (("g_find_program_in_path \\(DISK_SPACE_ANALYZER\\)") + (string-append "g_strdup (\"" baobab + "/bin/baobab\")"))) + #t)))) + ;; Color management test can't reach the colord system service. #:tests? #f)) (native-inputs @@ -4367,6 +5155,7 @@ services for numerous locations.") ("docbook-xsl" ,docbook-xsl))) (inputs `(("alsa-lib" ,alsa-lib) + ("baobab" ,baobab) ("colord" ,colord) ("libgudev" ,libgudev) ("upower" ,upower) @@ -4403,7 +5192,7 @@ settings, themes, mouse settings, and startup of other daemons.") (define-public totem-pl-parser (package (name "totem-pl-parser") - (version "3.26.3") + (version "3.26.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/totem-pl-parser/" @@ -4411,7 +5200,7 @@ settings, themes, mouse settings, and startup of other daemons.") "totem-pl-parser-" version ".tar.xz")) (sha256 (base32 - "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f")))) + "132jihnf51zs98yjkc6jxyqib4f3dawpjm17g4bj4j78y93dww2k")))) (build-system meson-build-system) (arguments ;; FIXME: Tests require gvfs. @@ -4546,7 +5335,7 @@ throughout GNOME for API documentation).") (define-public cogl (package (name "cogl") - (version "1.22.6") + (version "1.22.8") (source (origin (method url-fetch) @@ -4554,7 +5343,7 @@ throughout GNOME for API documentation).") (version-major+minor version) "/" "cogl-" version ".tar.xz")) (sha256 - (base32 "0x8v4n61q89qy27v824bqswpz6bmn801403w2q3pa1lcwk9ln4vd")))) + (base32 "0nfph4ai60ncdx7hy6hl1i1cmp761jgnyjfhagzi0iqq36qb41d8")))) ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to ;; cogl, corresponding changes may be appropriate in mutter as well. (build-system gnu-build-system) @@ -4891,16 +5680,15 @@ as possible!") (define-public grilo (package (name "grilo") - (version "0.3.10") + (version "0.3.12") (source (origin (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" + (uri (string-append "mirror://gnome/sources/grilo/" (version-major+minor version) "/" - name "-" version ".tar.xz")) + "grilo-" version ".tar.xz")) (sha256 - (base32 - "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y")))) + (base32 "0w8sq5g6g1rg85h53vbll8va70fcp6082mlpmy98aa03444ddyyv")))) (build-system meson-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal @@ -4932,7 +5720,7 @@ for application developers.") (define-public grilo-plugins (package (name "grilo-plugins") - (version "0.3.10") + (version "0.3.11") (source (origin (method url-fetch) @@ -4940,8 +5728,7 @@ for application developers.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 - "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0")))) + (base32 "0wyd3n5mn7b77hxylkc3f62v01mlavh96901pz342hwrn42ydqnx")))) (build-system meson-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -5318,7 +6105,10 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.") "gvfs-" version ".tar.xz")) (sha256 (base32 - "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj")))) + "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj")) + ;; This patch may be removed when upgrading to version 1.46.x. + (patches + (search-patches "gvfs-add-support-for-libplist-2.2.patch")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -5381,7 +6171,7 @@ DAV, and others.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/hughsie/libgusb.git") + (url "https://github.com/hughsie/libgusb") (commit version))) (file-name (git-file-name name version)) (sha256 @@ -5411,7 +6201,7 @@ USB transfers with your high-level application or system daemon.") (define-public simple-scan (package (name "simple-scan") - (version "3.36.3") + (version "3.36.6") (source (origin (method url-fetch) @@ -5419,7 +6209,7 @@ USB transfers with your high-level application or system daemon.") (version-major+minor version) "/" "simple-scan-" version ".tar.xz")) (sha256 - (base32 "0gsz7jqk0fdj0mama3cnss9i1adw18cpdnlcjcjh4r5qijmvx0vh")))) + (base32 "0x9hzqnji5l966yy2k5gppl8hqasn3sd5an4sr8srjmncxcs80ys")))) (build-system meson-build-system) ;; TODO: Fix icons in home screen, About dialogue, and scan menu. (arguments @@ -5780,7 +6570,7 @@ classes for commonly used data structures.") (define-public gexiv2 (package (name "gexiv2") - (version "0.12.0") + (version "0.12.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5788,7 +6578,7 @@ classes for commonly used data structures.") name "-" version ".tar.xz")) (sha256 (base32 - "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq")))) + "0xxxq8xdkgkn146my307jgws4qgxx477h0ybg1mqza1ycmczvsla")))) (build-system meson-build-system) (native-inputs `(("gcr" ,gcr) @@ -6766,8 +7556,7 @@ Compatible with Cisco VPN concentrators configured to use IPsec.") "/bin/modprobe")) (pretty-ovpn (string-append "\"" openconnect "\""))) (substitute* "src/nm-openconnect-service.c" - (("\"/usr/local/sbin/openconnect\"") pretty-ovpn) - (("\"/usr/sbin/openconnect\"") pretty-ovpn) + (("\"/usr(/local)?/s?bin/openconnect\"") pretty-ovpn) (("/sbin/modprobe") modprobe))) #t))))) (native-inputs @@ -7123,7 +7912,7 @@ usage and information about running processes.") (define-public gnome-bluetooth (package (name "gnome-bluetooth") - (version "3.34.0") + (version "3.34.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7131,7 +7920,7 @@ usage and information about running processes.") name "-" version ".tar.xz")) (sha256 (base32 - "1bvbxcsjkyl0givy8nfm7112bq3c0vn1v89fdk2pip714dsfcrz8")))) + "11nk8nvz5yrbx7wp75vsiaf4rniv7ik2g3nwmgwx2b42q9v11j9y")))) (build-system meson-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc. @@ -7433,40 +8222,47 @@ like switching to windows and launching applications.") (define-public gtk-vnc (package (name "gtk-vnc") - (version "0.9.0") + (version "1.0.0") (source (origin (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) (sha256 - (base32 - "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is")))) - (build-system gnu-build-system) + (base32 "1060ws037v556rx1qhfrcg02859rscksrzr8fq11himdg4d1y6m8")))) + (build-system meson-build-system) (arguments - '(#:configure-flags '("--with-gtk=3.0"))) - (propagated-inputs - `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc. - (inputs - `(("cyrus-sasl" ,cyrus-sasl) - ("gnutls" ,gnutls) - ("libgcrypt" ,libgcrypt) - ("pulseaudio" ,pulseaudio))) + `(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas (native-inputs - `(("glib:bin" ,glib "bin") + `(("gjs" ,gjs) + ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool) + ("node" ,node) + ("perl" ,perl) ("pkg-config" ,pkg-config) - ("python-wrapper" ,python-wrapper) + ("python" ,python-wrapper) ("vala" ,vala))) + (inputs + `(("cairo" ,cairo) + ("gdk-pixbuf" ,gdk-pixbuf+svg) + ("glib" ,glib) + ("gnutls" ,gnutls) + ("libgcrypt" ,libgcrypt) + ("libsasl" ,cyrus-sasl) + ("pulseaudio" ,pulseaudio) + ("x11" ,libx11) + ("zlib" ,zlib))) + (propagated-inputs + `(("gtk+" ,gtk+))) + (synopsis "VNC client viewer widget for GTK+") + (description "GTK-VNC is a project providing client side APIs for the RFB +protocol / VNC remote desktop technology. It is built using coroutines allowing +it to be completely asynchronous while remaining single threaded. It provides a +core C library, and bindings for Python (PyGTK).") (home-page "https://wiki.gnome.org/Projects/gtk-vnc") - (synopsis "VNC viewer widget for GTK+") - (description - "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing -applications, for instance the Vinagre client, GNOME Boxes and virt-viewer. -GTK-VNC implements client side RFB protocol and authentication extensions such -as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.") (license license:lgpl2.1+))) (define-public gnome-autoar @@ -7499,7 +8295,7 @@ easy, safe, and automatic.") (define-public tracker (package (name "tracker") - (version "2.3.4") + (version "2.3.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/tracker/" @@ -7507,7 +8303,7 @@ easy, safe, and automatic.") "tracker-" version ".tar.xz")) (sha256 (base32 - "0vai0qz9jn3z5dlzysynwhbbmslp84ygdql81f5wfxxr98j54yap")))) + "1ixxyqjlv7pnl4j8g6b72fkbjvzfspza8y71ppkncry8i6xkr223")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -7569,7 +8365,7 @@ endpoint and it understands SPARQL. ") (define-public tracker-miners (package (name "tracker-miners") - (version "2.3.3") + (version "2.3.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/tracker-miners/" @@ -7577,7 +8373,7 @@ endpoint and it understands SPARQL. ") "/tracker-miners-" version ".tar.xz")) (sha256 (base32 - "06abxrnrz7xayykrabn135rpsm6z0fqw7gibrb9j09l6swlalwkl")))) + "10wy8d8ski52k809p7s6lbw72qmg05bbmhnl00vx4qrbzqyxvc0b")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -8395,7 +9191,7 @@ existing databases over the internet.") ("gtk+" ,gtk+) ("gobject-introspection" ,gobject-introspection) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) - ("libhandy" ,libhandy) + ("libhandy" ,libhandy-0.0) ("libnotify" ,libnotify) ("libsoup" ,libsoup) ("nautilus" ,nautilus) @@ -8444,7 +9240,7 @@ functionality and behavior.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/NicoHood/arc-theme.git") + (url "https://github.com/NicoHood/arc-theme") (commit version))) (file-name (git-file-name name version)) (sha256 @@ -8487,7 +9283,7 @@ like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/snwh/faba-icon-theme.git") + (url "https://github.com/snwh/faba-icon-theme") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -8520,7 +9316,7 @@ Moka") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/snwh/moka-icon-theme.git") + (url "https://github.com/snwh/moka-icon-theme") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -8543,7 +9339,7 @@ simple and consistent.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/horst3180/arc-icon-theme.git") + (url "https://github.com/horst3180/arc-icon-theme") (commit version))) (file-name (git-file-name name version)) (sha256 @@ -8619,7 +9415,7 @@ compiled.") (define-public gfbgraph (package (name "gfbgraph") - (version "0.2.3") + (version "0.2.4") (source (origin (method url-fetch) (uri (string-append @@ -8628,17 +9424,23 @@ compiled.") "gfbgraph-" version ".tar.xz")) (sha256 (base32 - "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs")))) + "0yck7dwvjk16a52nafjpi0a39rxwmg0w833brj45acz76lgkjrb0")))) (build-system glib-or-gtk-build-system) (arguments - `(#:tests? #f ; Tests appear to require the network. - ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input. - #:configure-flags '("--disable-gtk-doc" - "--disable-static" + `(#:tests? #f ; tests appear to require the network + #:configure-flags '("--disable-static" + "--enable-gtk-doc" "--enable-introspection"))) (native-inputs - `(("pkg-config" ,pkg-config) - ("gobject-introspection" ,gobject-introspection))) + `(("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config) + + ;; The 0.2.4 ‘release’ tarball isn't bootstrapped. + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("which" ,which))) (inputs `(("json-glib" ,json-glib) ("gnome-online-accounts:lib" ,gnome-online-accounts "lib") @@ -9414,7 +10216,7 @@ configurable file renaming. ") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/rcaelers/workrave.git") + (url "https://github.com/rcaelers/workrave") (commit (string-append "v" (string-map (match-lambda (#\. #\_) (chr chr)) version))))) @@ -9498,7 +10300,7 @@ hexadecimal or ASCII. It is useful for editing binary files in general.") (define-public libdazzle (package (name "libdazzle") - (version "3.34.1") + (version "3.37.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libdazzle/" @@ -9506,7 +10308,7 @@ hexadecimal or ASCII. It is useful for editing binary files in general.") "libdazzle-" version ".tar.xz")) (sha256 (base32 - "01cmcrd75b7ns7j2b4p6h7pv68vjhkcl9zbvzzx7pf4vknxir61x")))) + "03r5cr11dc031qa3694bpgm3lajrhiiln67kvl7vjj4q0scf7w7x")))) (build-system meson-build-system) (arguments `(#:phases @@ -9710,20 +10512,20 @@ advanced image management tool") (define-public libhandy (package (name "libhandy") - (version "0.0.12") + (version "1.0.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://source.puri.sm/Librem5/libhandy") - (commit (string-append "v" version)))) + (url "https://gitlab.gnome.org/GNOME/libhandy") + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw")))) + (base32 "193y09yy0302x8fkyrnq591m805xp68bkd93fl5qggxi52k8pj0v")))) (build-system meson-build-system) (arguments `(#:configure-flags - '("-Dglade_catalog=disabled" + '("-Dglade_catalog=enabled" "-Dgtk_doc=true") #:phases (modify-phases %standard-phases @@ -9734,7 +10536,9 @@ advanced image management tool") (setenv "DISPLAY" ":1") #t))))) (inputs - `(("gtk+" ,gtk+))) + `(("gtk+" ,gtk+) + ("glade" ,glade3) + ("libxml2" ,libxml2))) (native-inputs `(("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner @@ -9753,6 +10557,24 @@ interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets for usage on small and big screens.") (license license:lgpl2.1+))) +(define-public libhandy-0.0 + (package + (inherit libhandy) + (version "0.0.13") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/libhandy") + (commit (string-append "v" version)))) + (file-name (git-file-name "libhandy" version)) + (sha256 + (base32 "1y23k623sjkldfrdiwfarpchg5mg58smcy1pkgnwfwca15wm1ra5")))) + (arguments + (substitute-keyword-arguments (package-arguments libhandy) + ((#:configure-flags flags) + '(list "-Dglade_catalog=disabled" "-Dgtk_doc=true")))))) + (define-public libgit2-glib (package (name "libgit2-glib") @@ -9967,7 +10789,7 @@ index files needed for Adwaita to be used outside of GNOME.") (define-public polari (package (name "polari") - (version "3.32.2") + (version "3.36.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/polari/" @@ -9975,7 +10797,7 @@ index files needed for Adwaita to be used outside of GNOME.") "/polari-" version ".tar.xz")) (sha256 (base32 - "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp")))) + "0fpmrvhd40yay051bzn4x3gsrzdv42nav0pm5ps0np8wk1z689jg")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -10022,7 +10844,7 @@ integrate seamlessly with the GNOME desktop.") (define-public gnome-boxes (package (name "gnome-boxes") - (version "3.36.4") + (version "3.36.6") (source (origin (method url-fetch) @@ -10030,7 +10852,7 @@ integrate seamlessly with the GNOME desktop.") (version-major+minor version) "/" "gnome-boxes-" version ".tar.xz")) (sha256 - (base32 "16l0mq2ydmywcdya1795mcy8syg4zkmz9ws3pzjcqv5y4m7cjj03")))) + (base32 "0c3cw90xqqcpacc2z06ljs0gg8saxizfgjzg9alhpwgz3gl4c5pg")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -10048,6 +10870,8 @@ integrate seamlessly with the GNOME desktop.") ("pkg-config" ,pkg-config))) (inputs `(("libarchive" ,libarchive) + ("glib-networking" ,glib-networking) ;for TLS support + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gtk" ,gtk+) ("gtk-vnc" ,gtk-vnc) ("libosinfo" ,libosinfo) @@ -10066,7 +10890,10 @@ integrate seamlessly with the GNOME desktop.") (home-page "https://wiki.gnome.org/Apps/Boxes") (synopsis "View, access, and manage remote and virtual systems") (description "GNOME Boxes is a simple application to view, access, and -manage remote and virtual systems.") +manage remote and virtual systems. Note that this application requires the +@code{libvirt} and @code{virtlog} daemons to run. Use the command +@command{info '(guix) Virtualization Services'} to learn how to configure +these services on the Guix System.") (license (list ;; For data/icons/empty-boxes.png. license:cc-by2.0 @@ -10122,7 +10949,7 @@ join_paths\\('build-aux', 'post_install.py'\\)\\)") ("json-glib" ,json-glib) ("libcanberra" ,libcanberra) ("libgee" ,libgee) - ("libhandy" ,libhandy) + ("libhandy" ,libhandy-0.0) ("libpeas" ,libpeas) ("libsecret" ,libsecret) ("libunwind" ,libunwind) @@ -10197,16 +11024,16 @@ card sheets that you’ll find at most office supply stores.") (define-public libratbag (package (name "libratbag") - (version "0.13") + (version "0.14") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/libratbag/libratbag.git") + (url "https://github.com/libratbag/libratbag") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "18y8mfr63d91278m1kcid0wvrxa1sgjs8na9af1ks2n28ssvciwq")))) + (base32 "1fpwp2sj8mf98bqasq2h8qwgprxi7k3iw33gcfid3d1lbyiacw0x")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -10264,15 +11091,15 @@ your operating-system definition: (define-public piper (package (name "piper") - (version "0.5") + (version "0.5.1") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/libratbag/piper.git") + (url "https://github.com/libratbag/piper") (commit version))) (sha256 - (base32 "00vrcsbsv2477l1ncpyzc61lhxgac84dsgr3sjs8qxw3nh1gaasv")) + (base32 "1nfjnsiwg2rs6gkjsxzhr2708i6di149dgwq3cf6l12rxqpb8arj")) (file-name (git-file-name name version)))) (build-system meson-build-system) (native-inputs @@ -10296,6 +11123,7 @@ your operating-system definition: #:modules (((guix build python-build-system) #:prefix python:) (guix build meson-build-system) (guix build utils)) + #:tests? #f ;; The flake8 test fails trying to validate piper.in as code. #:phases (modify-phases %standard-phases (add-after 'unpack 'dont-update-gtk-icon-cache @@ -10325,61 +11153,57 @@ provided there is a DBus service present: (license license:gpl2))) (define-public parlatype - ;; This is one commit away from 2.0, because the latter introduced - ;; a regression in ASR. - (let ((commit "7d22ead13ef7578f99d24146663cc1bdb7d8c2a9") - (revision "0")) - (package - (name "parlatype") - (version (git-version "2.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/gkarsay/parlatype.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0r3k3qczbzi7bs5s1rddhpsnadyr805df40bqkx0srlxgh5mfghf")))) - (build-system meson-build-system) - (arguments - `(#:glib-or-gtk? #t - #:tests? #f ;require internet access - #:phases - (modify-phases %standard-phases - (add-after 'install 'wrap-parlatype - ;; Add gstreamer plugin provided in this package to system's - ;; plugins. - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (gst-plugin-path (string-append - out "/lib/gstreamer-1.0/" - ":" - (getenv "GST_PLUGIN_SYSTEM_PATH")))) - (wrap-program (string-append out "/bin/parlatype") - `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path)))) - #t))))) - (native-inputs - `(("appstream-glib" ,appstream-glib) - ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate - ("gettext" ,gettext-minimal) - ("glib" ,glib "bin") ;for glib-compile-resources - ("pkg-config" ,pkg-config) - ("yelp-tools" ,yelp-tools))) - (inputs - `(("gst-plugins-base" ,gst-plugins-base) - ("gst-plugins-good" ,gst-plugins-good) - ("gstreamer" ,gstreamer) - ("gtk+" ,gtk+) - ("pocketsphinx" ,pocketsphinx) - ("pulseaudio" ,pulseaudio) - ("sphinxbase" ,sphinxbase))) - (home-page "http://gkarsay.github.io/parlatype/") - (synopsis "GNOME audio player for transcription") - (description "Parlatype is an audio player for the GNOME desktop + (package + (name "parlatype") + (version "2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gkarsay/parlatype.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1c15ja0rwz3jj8bnqdq0nmqka39iwrhy8krdv2a2x8nl4shfpmv0")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:tests? #f ;require internet access + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-parlatype + ;; Add gstreamer plugin provided in this package to system's + ;; plugins. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (gst-plugin-path (string-append + out "/lib/gstreamer-1.0/" + ":" + (getenv "GST_PLUGIN_SYSTEM_PATH")))) + (wrap-program (string-append out "/bin/parlatype") + `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path)))) + #t))))) + (native-inputs + `(("appstream-glib" ,appstream-glib) + ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate + ("gettext" ,gettext-minimal) + ("glib" ,glib "bin") ;for glib-compile-resources + ("pkg-config" ,pkg-config) + ("yelp-tools" ,yelp-tools))) + (inputs + `(("gst-plugins-base" ,gst-plugins-base) + ("gst-plugins-good" ,gst-plugins-good) + ("gstreamer" ,gstreamer) + ("gtk+" ,gtk+) + ("pocketsphinx" ,pocketsphinx) + ("pulseaudio" ,pulseaudio) + ("sphinxbase" ,sphinxbase))) + (home-page "http://gkarsay.github.io/parlatype/") + (synopsis "GNOME audio player for transcription") + (description "Parlatype is an audio player for the GNOME desktop environment. Its main purpose is the manual transcription of spoken audio files.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public jsonrpc-glib (package @@ -10410,3 +11234,351 @@ communicating using the GVariant serialization format instead of JSON when both peers support it. You might want that when communicating on a single host to avoid parser overhead and memory-allocator fragmentation.") (license license:lgpl2.1+))) + +(define-public feedbackd + (package + (name "feedbackd") + (version "0.0.0+git20200527") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://source.puri.sm/Librem5/feedbackd.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1wbkzxnqjydfgjvp7vz4ghczcz740zcb1yn90cb6gb5md4n6qx2y")))) + (build-system meson-build-system) + (native-inputs + `(("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (inputs + `(("dbus" ,dbus) + ("gsound" ,gsound) + ("json-glib" ,json-glib) + ("libgudev" ,libgudev))) + (propagated-inputs + `(("glib" ,glib))) ; in Requires of libfeedback-0.0.pc + (synopsis "Haptic/visual/audio feedback via DBus") + (description "Feedbackd provides a DBus daemon to act on events to provide +haptic, visual and audio feedback. It offers the libfeedbackd library and +GObject introspection bindings.") + (home-page "https://source.puri.sm/Librem5/feedbackd") + (license (list license:lgpl2.1+ ; libfeedbackd + license:lgpl3+)))) ; the rest + +(define-public sysprof + (package + (name "sysprof") + (version "3.36.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/sysprof/" + (version-major+minor version) "/" + "sysprof-" version ".tar.xz")) + (sha256 + (base32 "024i0gzqnm79rpr4gqxdvcj6gvf82xdlcp2p1k9ikcppmi6xnw46")))) + (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))) + ;; This home page is so woefully out of date as to be essentially useless. + ;; (home-page "http://www.sysprof.com") + (home-page "https://wiki.gnome.org/Apps/Sysprof") + (synopsis "System-wide performance profiler for GNU/Linux") + (description + "Sysprof performs detailed, accurate, and fast CPU profiling of an entire +GNU/Linux system including the kernel and all user-space applications. This +helps find the function(s) in which a program spends most of its time. + +It uses the kernel's built-in @code{ptrace} feature and handles shared +libraries. Applications do not need to be recompiled--or even restarted.") + (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+))) + +(define-public komikku + (package + (name "komikku") + (version "0.20.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/valos/Komikku/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0m5dvqh2as5ffi9fmp3452kw44jwm6pl1jw0r5mdkpdxhid15aw8")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-sources + (lambda _ + (substitute* "komikku/utils.py" + (("from komikku\\.servers import get_servers_list") + ;; code following that line should migrate old databases + ;; but the line itself results in an import error + "return data_dir_path")))) + (add-after 'unpack 'skip-gtk-update-icon-cache + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") (which "true"))) + #t)) + (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap + (lambda* (#:key outputs #:allow-other-keys) + (let ((prog (string-append (assoc-ref outputs "out") + "/bin/komikku"))) + (wrap-program prog + `("PYTHONPATH" = (,(getenv "PYTHONPATH"))) + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) + #t)))))) + (inputs + `(("gtk+" ,gtk+) + ("libhandy" ,libhandy) + ("libnotify" ,libnotify) + ("libsecret" ,libsecret) + ("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-cloudscraper" ,python-cloudscraper) + ("python-dateparser" ,python-dateparser) + ("python-keyring" ,python-keyring) + ("python-lxml" ,python-lxml) + ("python-magic" ,python-magic) + ("python-pillow" ,python-pillow) + ("python-pure-protobuf" ,python-pure-protobuf) + ("python-pycairo" ,python-pycairo) + ("python-pygobject" ,python-pygobject) + ("python-unidecode" ,python-unidecode))) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config))) + (home-page "https://gitlab.com/valos/Komikku") + (synopsis "Manga reader for GNOME") + (description "Komikku is an online/offline manga reader for GNOME, +developed with the aim of being used with the Librem 5 phone.") + (license license:gpl3+))) + +(define-public libgda + (package + (name "libgda") + (version "5.2.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/libgda.git/") + (commit "LIBGDA_5_2_9"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "122anbk15vj2dfxrw7s48b6zwlpp7cyppshxizynvf3zmc0ygw3j")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--enable-vala") + ;; There's a race between check_cnc_lock and check_threaded_cnc + ;; in tests/multi-threading. + #:parallel-tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-glade-install + (lambda _ + (substitute* "configure.ac" + (("`\\$PKG_CONFIG --variable=catalogdir gladeui-2\\.0`") + "${datadir}/glade/catalogs") + (("`\\$PKG_CONFIG --variable=pixmapdir gladeui-2\\.0`") + "${datadir}/glade/pixmaps")) + #t)) + (add-before 'check 'pre-check + (lambda* (#:key inputs #:allow-other-keys) + ;; Tests require a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + #t)) + (add-after 'install 'symlink-glade-module + (lambda* (#:key outputs #:allow-other-keys) + (let* ((shlib "libgda-ui-5.0.so") + (out (assoc-ref outputs "out")) + (out/lib (string-append out "/lib")) + (moduledir (string-append out/lib "/glade/modules"))) + (mkdir-p moduledir) + (symlink (string-append out/lib "/" shlib) + (string-append moduledir "/" shlib)) + #t)))))) + (propagated-inputs + `(("libxml2" ,libxml2))) ; required by libgda-5.0.pc + (inputs + `(("glib" ,glib) + ("glade" ,glade3) + ("gtk+" ,gtk+) + ("libsecret" ,libsecret) + ("libxslt" ,libxslt) + ("openssl" ,openssl) + ("vala" ,vala))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("glib:bin" ,glib "bin") + ("gnome-common" ,gnome-common) + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("intltool" ,intltool) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("vala" ,vala) + ("which" ,which) + ("xorg-server" ,xorg-server-for-tests) + ("yelp-tools" ,yelp-tools))) + (home-page "https://gitlab.gnome.org/GNOME/libgda") + (synopsis "Uniform data access") + (description + "GNU Data Access (GDA) is an attempt to provide uniform access to +different kinds of data sources (databases, information servers, mail spools, +etc). It is a complete architecture that provides all you need to access +your data.") + (license license:lgpl2.1+))) + +(define-public gtranslator + (package + (name "gtranslator") + (version "3.36.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1lxd2nkji4jk8g2xmyc1a1r3ww710ddk91zh9psmx8xlb4xivaid")))) + (build-system meson-build-system) + (inputs + `(("json-glib" ,json-glib) + ("jsonrpc-glib" ,jsonrpc-glib) + ("gettext" ,gettext-minimal) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gspell" ,gspell) + ("libdazzle" ,libdazzle) + ("libgda" ,libgda) + ("libsoup" ,libsoup))) + (native-inputs + `(("glib:bin" ,glib "bin") + ("itstool" ,itstool) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("gtksourceview" ,gtksourceview))) ; required for source view + (arguments + `(#:build-type "release" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + (lambda _ + (substitute* "build-aux/meson/meson_post_install.py" + (("gtk-update-icon-cache") (which "true"))) + #t))))) + (home-page "https://wiki.gnome.org/Apps/Gtranslator") + (synopsis "Translation making program") + (description + "gtranslator is a quite comfortable gettext po/po.gz/(g)mo files editor +for the GNOME 3.x platform with many features. It aims to be a very complete +editing environment for translation issues within the GNU gettext/GNOME desktop +world.") + (license license:gpl3+)))