;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;;
;;; This file is part of GNU Guix.
;;;
(define-module (gnu packages gnome)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
+ #:use-module (gnu packages aidc)
#:use-module (gnu packages aspell)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages crates-io)
+ #:use-module (gnu packages crates-graphics)
+ #:use-module (gnu packages crates-gtk)
#:use-module (gnu packages cups)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages game-development)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gimp)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
+(define-public gupnp-igd
+ (package
+ (name "gupnp-igd")
+ (version "1.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32 "1q9bw12ibih3yxpha3gm1dabyqg9gx6yxacbh4kxsgm1i84j0lab"))))
+ (build-system meson-build-system)
+ (outputs '("out" "doc"))
+ (arguments
+ `(#:glib-or-gtk? #t ; To wrap binaries and compile schemas
+ #:configure-flags (list "-Dgtk_doc=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-docbook-xml
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "doc"
+ (substitute* "gupnp-igd-docs.xml"
+ (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+ (string-append (assoc-ref inputs "docbook-xml-4.1.2")
+ "/xml/dtd/docbook/"))))
+ #t))
+ (add-after 'install 'move-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc "/share"))
+ (rename-file
+ (string-append out "/share/gtk-doc")
+ (string-append doc "/share/gtk-doc"))
+ #t))))))
+ (native-inputs
+ `(("docbook-xml-4.1.2" ,docbook-xml-4.1.2)
+ ("docbook-xsl" ,docbook-xsl)
+ ("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gtk-doc" ,gtk-doc)
+ ("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("glib" ,glib)
+ ("glib-networking" ,glib-networking)
+ ("gssdp" ,gssdp)
+ ("gupnp" ,gupnp)
+ ("libsoup" ,libsoup)))
+ (synopsis "UPnP IGD for GNOME")
+ (description "GUPnP-IGD is a library to handle UPnP IGD port mapping.")
+ (home-page "https://gitlab.gnome.org/GNOME/gupnp-igd")
+ (license license:lgpl2.1+)))
+
(define-public brasero
(package
(name "brasero")
("libsoup" ,libsoup)
("libxml2" ,libxml2)))
(synopsis "Glib library for feeds")
- (description "LibGRSS is a Glib abstaction to handle feeds in RSS, Atom and
-other formats.")
+ (description "LibGRSS is a Glib abstraction to handle feeds in RSS, Atom,
+and other formats.")
(home-page "https://wiki.gnome.org/Projects/Libgrss")
(license license:lgpl3+)))
(define-public zeitgeist
(package
(name "zeitgeist")
- (version "1.0.2")
+ (version "1.0.3")
(source
(origin
(method git-fetch)
(file-name
(git-file-name name version))
(sha256
- (base32 "0ig3d3j1n0ghaxsgfww6g2hhcdwx8cljwwfmp9jk1nrvkxd6rnmv"))))
+ (base32 "0y6fyzxl5np4yskcxibd0p03h619w9ir907nhf40h02y0pk1kgkp"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags
(define-public mm-common
(package
(name "mm-common")
- (version "1.0.1")
+ (version "1.0.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/mm-common/"
"mm-common-" version ".tar.xz"))
(sha256
(base32
- "1jasx9a9g7nqf7jcv3mrg4qh5cp9sq724jxjaz4wa1dzmxsxg8i8"))))
+ "07b4s5ckcz9q5gwx8vchim19mhfgl8wysqwi30pndks3m4zrzad2"))))
(build-system meson-build-system)
(arguments
`(#:phases
`(("gdk-pixbuf" ,gdk-pixbuf)
("gettext" ,gettext-minimal)
("gobject-introspection" ,gobject-introspection)
- ("gtk+:doc", gtk+ "doc")
+ ("gtk+:doc" ,gtk+ "doc")
("vala" ,vala)))
(synopsis "Media art library for the GNOME desktop")
(description
either on a local, or remote machine via a number of methods.")
(license license:gpl3+)))
+(define-public gnome-commander
+ (package
+ (name "gnome-commander")
+ (version "1.10.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ "gnome-commander-" version ".tar.xz"))
+ (sha256
+ (base32 "0bis36awb73vhkncq8yr0qlnyaxynqkvmyqbg57ijqwd0m8hh4zg"))))
+ (build-system glib-or-gtk-build-system)
+ (native-inputs
+ `(("desktop-file-utils" ,desktop-file-utils)
+ ("gcc" ,gcc-8) ;required for -Wcast-function-type
+ ("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("googletest" ,googletest)
+ ("intltool" ,intltool)
+ ("itstool" ,itstool)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("gconf" ,gconf)
+ ("gnome-vfs" ,gnome-vfs)
+ ("gtk+" ,gtk+-2)
+ ("libxml2" ,libxml2)))
+ (home-page "https://gcmd.github.io/")
+ (synopsis "Two-pane graphical file manager for the GNOME desktop")
+ (description
+ "GNOME Commander is a two-pane graphical file manager using GNOME
+libraries. It aims to fulfill the demands of more advanced users who
+like to focus on file management, their work through special applications
+and running smart commands.")
+ (license license:gpl2+)))
+
(define-public gnome-user-docs
(package
(name "gnome-user-docs")
("telepathy-glib" ,telepathy-glib)
("vala" ,vala)))
(propagated-inputs
- `(("folks", folks)
+ `(("folks" ,folks)
("telepathy-mission-control" ,telepathy-mission-control)))
(synopsis "GNOME's integrated address book")
(description
for settings shared by various components of the GNOME desktop.")
(license license:lgpl2.1+)))
+(define-public python-liblarch
+ (package
+ (name "python-liblarch")
+ (version "3.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/getting-things-gnome/liblarch")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xv2mfvyzipbny3iz8vll77wsqxfwh28xj6bj1ff0l452waph45m"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'start-xserver
+ (lambda* (#:key inputs #:allow-other-keys)
+ (system (format #f "~a/bin/Xvfb :1 &"
+ (assoc-ref inputs "xorg-server")))
+ (setenv "DISPLAY" ":1")
+ #t)))))
+ (native-inputs
+ `(("xorg-server" ,xorg-server-for-tests)))
+ (inputs
+ `(("gtk+" ,gtk+)))
+ (propagated-inputs
+ `(("python-pygobject" ,python-pygobject)))
+ (home-page "https://wiki.gnome.org/Projects/liblarch")
+ (synopsis "Library to easily handle complex data structures")
+ (description
+ "Liblarch is a Python library built to easily handle data structures such
+as lists, trees and acyclic graphs. There's also a GTK binding that will
+allow you to use your data structure in a @code{Gtk.Treeview}.
+
+Liblarch support multiple views of one data structure and complex filtering.
+That way, you have a clear separation between your data themselves (Model)
+and how they are displayed (View).")
+ (license license:lgpl3+)))
+
+(define-public gtg
+ (package
+ (name "gtg")
+ (version "0.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/getting-things-gnome/gtg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0r28vyr88rj3kd3cg4gj7sd29wadjchi92wzmbx67d4hlg25h8kk"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:glib-or-gtk? #t
+ #:phases
+ (modify-phases %standard-phases
+ (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/gtg"))
+ (pylib (string-append (assoc-ref outputs "out")
+ "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages")))
+ (wrap-program prog
+ `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
+ `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+ #t))))))
+ (native-inputs
+ `(("desktop-file-utils" ,desktop-file-utils)
+ ("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk+:bin" ,gtk+ "bin")
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gtk+" ,gtk+)
+ ("python-dbus" ,python-dbus)
+ ("python-liblarch" ,python-liblarch)
+ ("python-pycairo" ,python-pycairo)
+ ("python-pygobject" ,python-pygobject)
+ ("python-pyxdg" ,python-pyxdg)))
+ (home-page "https://wiki.gnome.org/Apps/GTG")
+ (synopsis "Personal organizer for the GNOME desktop")
+ (description
+ "Getting Things GNOME! (GTG) is a personal tasks and TODO list items
+organizer for the GNOME desktop environment inspired by the Getting Things
+Done (GTD) methodology. GTG is designed with flexibility, adaptability,
+and ease of use in mind so it can be used as more than just GTD software.
+GTG is intended to help you track everything you need to do and need to
+know, from small tasks to large projects.")
+ (license license:gpl3+)))
+
(define-public icon-naming-utils
(package
(name "icon-naming-utils")
(define-public system-config-printer
(package
(name "system-config-printer")
- (version "1.5.12")
+ (version "1.5.13")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/OpenPrinting/system-config-printer/releases/"
- "download/" version
+ "download/v" version
"/system-config-printer-" version ".tar.xz"))
(sha256
- (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
+ (base32 "18dqvi1s971lggkw6pv1sqxixlpg5a8rppzc1pxbanxa91jg18zf"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:imported-modules ((guix build python-build-system)
(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
(define-public librsvg-next
(package
(name "librsvg")
- (version "2.48.8")
+ (version "2.50.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/librsvg/"
"librsvg-" version ".tar.xz"))
(sha256
(base32
- "14i6xzghcidv64cyd3g0wdjbl82rph737yxn9s3x29nzpcjs707l"))
+ "02csvx2nzygh8kyal2qiy3y6xb7d52vszxxr37dzav704a9pkncv"))
(modules '((guix build utils)))
(snippet
'(begin (delete-file-recursively "vendor")
((guix build cargo-build-system)
(guix build utils)
((guix build gnu-build-system) #:prefix gnu:))
+ #:rust ,rust-1.40
#:cargo-inputs
(("rust-bitflags" ,rust-bitflags-1)
("rust-cairo-rs" ,rust-cairo-rs-0.8)
("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.6)
+ ("rust-float-cmp" ,rust-float-cmp-0.8)
("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
("rust-gio" ,rust-gio-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-itertools" ,rust-itertools-0.9)
("rust-language-tags" ,rust-language-tags-0.2)
("rust-libc" ,rust-libc-0.2)
("rust-locale-config" ,rust-locale-config-0.3)
("rust-markup5ever" ,rust-markup5ever-0.10)
- ("rust-nalgebra" ,rust-nalgebra-0.19)
+ ("rust-nalgebra" ,rust-nalgebra-0.21)
("rust-num-traits" ,rust-num-traits-0.2)
- ("rust-once-cell" ,rust-once-cell-1.2)
+ ("rust-once-cell" ,rust-once-cell-1)
("rust-pkg-config" ,rust-pkg-config-0.3)
("rust-pango" ,rust-pango-0.8)
("rust-pango-sys" ,rust-pango-sys-0.9)
("rust-rgb" ,rust-rgb-0.8)
("rust-regex" ,rust-regex-1)
("rust-selectors" ,rust-selectors-0.22)
- ("rust-url" ,rust-url-2.1)
+ ("rust-string-cache" ,rust-string-cache-0.8)
+ ("rust-tinyvec" ,rust-tinyvec-0.3)
+ ("rust-url" ,rust-url-2)
("rust-xml5ever" ,rust-xml5ever-0.16))
#:cargo-development-inputs
- (("rust-cairo-rs" ,rust-cairo-rs-0.8)
- ("rust-criterion" ,rust-criterion-0.3))
+ (("rust-assert-cmd" ,rust-assert-cmd-1)
+ ("rust-cairo-rs" ,rust-cairo-rs-0.8)
+ ("rust-chrono" ,rust-chrono-0.4)
+ ("rust-criterion" ,rust-criterion-0.3)
+ ("rust-float-cmp" ,rust-float-cmp-0.8)
+ ("rust-lopdf" ,rust-lopdf-0.25)
+ ("rust-png" ,rust-png-0.16)
+ ("rust-predicates" ,rust-predicates-1)
+ ("rust-tempfile" ,rust-tempfile-3))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-docbook-xml
#t))
(replace 'build
(assoc-ref gnu:%standard-phases 'build))
+ (add-before 'check 'ignore-failing-tests
+ ;; stderr=```/tmp/guix-build-.../librsvg-2.50.1/rsvg-convert: line 150: ls: command not found
+ (lambda _
+ (substitute* "tests/src/cmdline/rsvg_convert.rs"
+ (("fn background_color_option_invalid_color_yields_error" all)
+ (string-append "#[ignore] " all))
+ (("fn empty_input_yields_error" all)
+ (string-append "#[ignore] " all))
+ (("fn empty_svg_yields_error" all)
+ (string-append "#[ignore] " all))
+ (("fn env_source_data_epoch_empty" all)
+ (string-append "#[ignore] " all))
+ (("fn env_source_data_epoch_no_digits" all)
+ (string-append "#[ignore] " all))
+ (("fn env_source_data_epoch_trailing_garbage" all)
+ (string-append "#[ignore] " all))
+ (("fn export_id_option_error" all)
+ (string-append "#[ignore] " all))
+ (("fn huge_zoom_factor_yields_error" all)
+ (string-append "#[ignore] " all))
+ (("fn multiple_input_files_not_allowed_for_png_output" all)
+ (string-append "#[ignore] " all))
+ (("fn stylesheet_option_error" all)
+ (string-append "#[ignore] " all)))
+ #t))
(replace 'check
(lambda* args
((assoc-ref gnu:%standard-phases 'check)
(define-public goffice
(package
(name "goffice")
- (version "0.10.47")
+ (version "0.10.48")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/goffice/"
(version-major+minor version) "/"
"goffice-" version ".tar.xz"))
(sha256
- (base32 "0xmigfdzvmlpa0fw79mf3xwchmxc8rlidryn5syv8bz7msmrb215"))))
+ (base32 "1z6f3q8fxkd1ysqrwdxdi0844zqa00vjpf07gq8mh3kal8picfd4"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 4.0 MiB of gtk-doc
(define-public gnumeric
(package
(name "gnumeric")
- (version "1.12.46")
+ (version "1.12.48")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gnumeric/"
"gnumeric-" version ".tar.xz"))
(sha256
(base32
- "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
+ "14556b0vyxdvdwjlin0rv7jk0vq4nplbmvp9j89bhkfk84xf7k2p"))))
(build-system glib-or-gtk-build-system)
(arguments
`(;; The gnumeric developers don't worry much about failing tests.
("librsvg" ,librsvg)
("libxml2" ,libxml2)
("libxslt" ,libxslt)
- ("python" ,python-2)
- ("python2-pygobject" ,python2-pygobject)
+ ("python" ,python)
+ ("python-pygobject" ,python-pygobject)
("zlib" ,zlib)))
(native-inputs
`(("bison" ,bison)
(define-public seahorse
(package
(name "seahorse")
- (version "3.34")
+ (version "3.36.2")
(source
(origin
(method url-fetch)
(version-major+minor version) "/" name "-"
version ".tar.xz"))
(sha256
- (base32
- "16sfnqrdlr5xx6kixx2ln1mva7nngjlw1k3f5n454vyaigffjh2v"))))
+ (base32 "16wmxxppgcgfj8zkagcny5af1c81x32ysm9d6j9f2k7bmik21ss5"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
("openldap" ,openldap)
("openssh" ,openssh)
("avahi" ,avahi)
+ ("libhandy" ,libhandy-0.0)
("libpwquality" ,libpwquality)
("libsecret" ,libsecret)
("libsoup" ,libsoup)))
libraries written in C.")
(license license:lgpl2.1+)))
-(define-public vala-0.48
+(define-public vala-0.50
(package
(inherit vala)
- (version "0.48.9")
+ (version "0.50.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/vala/"
"vala-" version ".tar.xz"))
(sha256
(base32
- "1agyrvslv2yh9ikiw7k5nw6j6il1l2zrzfan0pzdpb9xpg9idslw"))))))
+ "0v4g2gvn7x7cl33h8sj1y2xyyskw5ayaj4jm2jrd3my3r439z3cm"))))))
(define-public vte
(package
(define-public libsecret
(package
(name "libsecret")
- (version "0.20.3")
+ (version "0.20.4")
(source (origin
(method url-fetch)
(uri (string-append
"libsecret-" version ".tar.xz"))
(sha256
(base32
- "1r4habxdzmn02id324m0m4mg5isf22q1z436bg3vjjmcz1b3rjsg"))))
+ "0a4xnfmraxchd9cq5ai66j12jv2vrgjmaaxz25kl031jvda4qnij"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
(propagated-inputs
`(("glib" ,glib))) ; required by libsecret-1.pc
(inputs
+ ;; The ‘build’ phase complains about missing docbook-xml-4.2 but adding it
+ ;; doesn't seem to affect the build result.
`(("docbook-xsl" ,docbook-xsl)
("libgcrypt" ,libgcrypt)
("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
(define-public colord
(package
(name "colord")
- (version "1.4.4")
+ (version "1.4.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/colord/releases/"
"colord-" version ".tar.xz"))
(sha256
- (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
+ (base32 "05sydi6qqqx1rrqwnga1vbg9srkf89wdcfw5w4p4m7r37m2flx5p"))))
(build-system meson-build-system)
(arguments
'(;; FIXME: One test fails:
("gobject-introspection" ,gobject-introspection)
("modem-manager" ,modem-manager)
("libnotify" ,libnotify)
- ("gtk-doc", gtk-doc)
+ ("gtk-doc" ,gtk-doc)
("intltool" ,intltool)))
(inputs
`(("avahi" ,avahi)
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
(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
("docbook-xsl" ,docbook-xsl)))
(inputs
`(("alsa-lib" ,alsa-lib)
+ ("baobab" ,baobab)
("colord" ,colord)
("libgudev" ,libgudev)
("upower" ,upower)
(define-public totem
(package
(name "totem")
- (version "3.34.1")
+ (version "3.38.0")
(source
(origin
(method url-fetch)
"totem-" version ".tar.xz"))
(sha256
(base32
- "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b"))))
+ "0bs33ijvxbr2prb9yj4dxglsszslsn9k258n311sld84masz4ad8"))))
(build-system meson-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("desktop-file-utils" ,desktop-file-utils)
+ ("gettext" ,gettext-minimal)
("gobject-introspection" ,gobject-introspection)
("glib:bin" ,glib "bin") ;for 'glib-mkenums'
- ("intltool" ,intltool)
("itstool" ,itstool)
("xmllint" ,libxml2)
("xorg-server" ,xorg-server-for-tests)))
(substitute* "meson_post_install.py"
(("gtk-update-icon-cache") "true"))
#t))
+ (add-after 'unpack 'patch-failing-test
+ (lambda _
+ ;; Work around test failure with GStreamer 1.18, because the test
+ ;; relies on "und" not being mapped to a particular language:
+ ;; https://gitlab.gnome.org/GNOME/totem/-/issues/450
+ (substitute* "src/test-totem.c"
+ (("und") "nosuchlang"))
+ #t))
(add-before
'install 'disable-cache-generation
(lambda _
(define-public simple-scan
(package
(name "simple-scan")
- (version "3.36.6")
+ (version "3.38.1")
(source
(origin
(method url-fetch)
(version-major+minor version) "/"
"simple-scan-" version ".tar.xz"))
(sha256
- (base32 "0x9hzqnji5l966yy2k5gppl8hqasn3sd5an4sr8srjmncxcs80ys"))))
+ (base32 "0grscz96bwj79ka4qvxh8h75avdx6824k8k38ylmaj6xbl6gi0hy"))))
(build-system meson-build-system)
;; TODO: Fix icons in home screen, About dialogue, and scan menu.
(arguments
(define-public eolie
(package
(name "eolie")
- (version "0.9.98.1")
+ (version "0.9.100")
(source (origin
(method url-fetch)
(uri (string-append "https://adishatz.org/eolie/eolie-"
version ".tar.xz"))
(sha256
(base32
- "1d844zva5w4p9pnp9c2g7zyb4vayr2g2drf78spxsdlc5lbd7lqr"))))
+ "1vzhfp8j1z3jvd5ndqfyn7nqrx3zdvx9mv1byjl36nnd9g63ji62"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
(define-public shotwell
(package
(name "shotwell")
- (version "0.30.9")
+ (version "0.30.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/shotwell/"
"shotwell-" version ".tar.xz"))
(sha256
(base32
- "1y556yyzfya0310v5wqjkf17hy5lhf028iminvvgi2pdfva344id"))))
+ "12d26y40kjlv5x8f5g04wff33vh7mdjb8c41ydqbrwdip0jwy2n2"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
(define-public gnome-bluetooth
(package
(name "gnome-bluetooth")
- (version "3.34.0")
+ (version "3.34.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "1bvbxcsjkyl0givy8nfm7112bq3c0vn1v89fdk2pip714dsfcrz8"))))
+ "0lmjvb49vgr4jjplrisv6pi29jsn1q42715i6c5a0p9ad3gawyyv"))))
(build-system meson-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
(home-page "https://git.gnome.org/browse/byzanz")
(license license:gpl2+))))
+(define-public authenticator
+ (package
+ (name "authenticator")
+ (version "3.32.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/World/Authenticator")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1c4r9rnrz5gazrfg0z2rcwax4nscs7z391bcjcl74k6ln3blwzpr"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:glib-or-gtk? #t
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((prog (string-append (assoc-ref outputs "out")
+ "/bin/authenticator"))
+ (pylib (string-append (assoc-ref outputs "out")
+ "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages")))
+ (wrap-program prog
+ `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
+ `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+ #t))))))
+ (native-inputs
+ `(("desktop-file-utils" ,desktop-file-utils)
+ ("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk+:bin" ,gtk+ "bin")
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gtk+" ,gtk+)
+ ("libhandy" ,libhandy-0.0)
+ ("libsecret" ,libsecret)
+ ("python-beautifulsoup4" ,python-beautifulsoup4)
+ ("python-pillow" ,python-pillow)
+ ("python-pyfavicon" ,python-pyfavicon)
+ ("python-pygobject" ,python-pygobject)
+ ("python-pyotp" ,python-pyotp)
+ ("python-pyzbar" ,python-pyzbar)
+ ("yoyo-migrations" ,yoyo-migrations)
+ ("zbar" ,zbar)))
+ (home-page "https://gitlab.gnome.org/World/Authenticator/")
+ (synopsis "Two-factor authentication application built for GNOME")
+ (description
+ "Authenticator is a two-factor authentication (2FA) application built for
+the GNOME desktop environment.
+
+Features:
+
+@itemize
+@item QR code scanner
+@item Beautiful UI
+@item Huge database of more than 560 supported services
+@item Keep your PIN tokens secure by locking the application with a password
+@item Automatically fetch an image for services using their favicon
+@item The possibility to add new services
+@end itemize")
+ (license license:gpl3+)))
+
(define-public gsound
(package
(name "gsound")
(define-public arc-theme
(package
(name "arc-theme")
- (version "20190917")
+ (version "20201013")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/NicoHood/arc-theme")
+ (url "https://github.com/jnsh/arc-theme")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
+ "1x2l1mwjx68dwf3jb1i90c1q8nqsl1wf2zggcn8im6590k5yv39s"))))
(build-system gnu-build-system)
(arguments
- '(#:phases
+ '(#:configure-flags
+ (list "--disable-cinnamon")
+ #:phases
(modify-phases %standard-phases
;; autogen.sh calls configure at the end of the script.
(replace 'bootstrap
(define-public bluefish
(package
(name "bluefish")
- (version "2.2.11")
+ (version "2.2.12")
(source
(origin
(method url-fetch)
- (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
+ (uri (string-append "https://www.bennewitz.com/bluefish/stable/source/"
"bluefish-" version ".tar.gz"))
(sha256
- (base32 "0a7kf78q4cj2ap4igjks9kbmmr74brsrl4y2f9wbxpl0b0v2ck2x"))))
+ (base32 "09hgxq139kbkjda5y073lqhq1z1x7cx0j80jh77afrqa3y9c53wl"))))
(build-system gnu-build-system)
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils)
(home-page "http://bluefish.openoffice.nl")
(synopsis "Web development studio")
(description
- "Bluefish is an editor targeted towards programmers and web developers,
+ "Bluefish is an editor aimed at programmers and web developers,
with many options to write web sites, scripts and other code.
Bluefish supports many programming and markup languages.")
(license license:gpl3+)))
(define-public lollypop
(package
(name "lollypop")
- (version "1.2.32")
+ (version "1.4.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://adishatz.org/lollypop/"
"lollypop-" version ".tar.xz"))
(sha256
- (base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
+ (base32 "1hfl68gkvqy5kxlmrsalz78mw1bs1yvqvy2rhg7pzgwiazsdvwzz"))))
(build-system meson-build-system)
(arguments
`(#:imported-modules
("gst-plugins-base" ,gst-plugins-base)
("libnotify" ,libnotify)
("libsecret" ,libsecret)
+ ("libhandy" ,libhandy)
("libsoup" ,libsoup)
("python" ,python)
("python-beautifulsoup4" ,python-beautifulsoup4)
(define-public gnome-video-effects
(package
(name "gnome-video-effects")
- (version "0.4.3")
+ (version "0.5.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
version ".tar.xz"))
(sha256
(base32
- "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- `(#:out-of-source? #f))
+ "1j6h98whgkcxrh30bwvnxvyqxrxchgpdgqhl0j71xz7x72dqxijd"))))
+ (build-system meson-build-system)
(native-inputs
- `(("glib:bin" ,glib "bin")
- ("intltool" ,intltool)
- ("gettext" ,gettext-minimal)
+ `(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
(synopsis "Video effects for Cheese and other GNOME applications")
(define-public cheese
(package
(name "cheese")
- (version "3.34.0")
+ (version "3.38.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
version ".tar.xz"))
(sha256
(base32
- "0wvyc9wb0avrprvm529m42y5fkv3lirdphqydc9jw0c8mh05d1ni"))))
+ "0vyim2avlgq3a48rgdfz5g21kqk11mfb53b2l883340v88mp7ll8"))))
(arguments
`(#:glib-or-gtk? #t
;; Tests require GDK.
(substitute* "meson_post_install.py"
(("gtk-update-icon-cache") (which "true")))
#t))
+ (add-after 'unpack 'patch-docbook-xml
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Avoid a network connection attempt during the build.
+ (substitute* '("docs/reference/cheese.xml"
+ "docs/reference/cheese-docs.xml")
+ (("http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd")
+ (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook/docbookx.dtd")))
+ #t))
(add-after 'install 'wrap-cheese
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(build-system meson-build-system)
(native-inputs
`(("docbook-xsl" ,docbook-xsl)
+ ("docbook-xml" ,docbook-xml-4.3)
("glib:bin" ,glib "bin")
("gtk-doc" ,gtk-doc)
("intltool" ,intltool)
apply fancy special effects and lets you share the fun with others.")
(license license:gpl2+)))
+(define-public passwordsafe
+ (package
+ (name "passwordsafe")
+ (version "3.99.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/World/PasswordSafe")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0pi2l4gwf8paxm858mxrcsk5nr0c0zw5ycax40mghndb6b1qmmhf"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:glib-or-gtk? #t
+ #:phases
+ (modify-phases %standard-phases
+ (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/gnome-passwordsafe"))
+ (pylib (string-append (assoc-ref outputs "out")
+ "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages")))
+ (wrap-program prog
+ `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
+ `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+ #t))))))
+ (native-inputs
+ `(("desktop-file-utils" ,desktop-file-utils)
+ ("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk+:bin" ,gtk+ "bin")
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gtk+" ,gtk+)
+ ("libhandy" ,libhandy-0.0)
+ ("libpwquality" ,libpwquality)
+ ("python-pygobject" ,python-pygobject)
+ ("python-pykeepass" ,python-pykeepass)))
+ (home-page "https://gitlab.gnome.org/World/PasswordSafe")
+ (synopsis "Password manager for the GNOME desktop")
+ (description
+ "Password Safe is a password manager which makes use of the KeePass v4
+format. It integrates perfectly with the GNOME desktop and provides an easy
+and uncluttered interface for the management of password databases.")
+ (license license:gpl3+)))
+
(define-public sound-juicer
(package
(name "sound-juicer")
(define-public libhandy
(package
(name "libhandy")
- (version "1.0.0")
+ (version "1.0.2")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "193y09yy0302x8fkyrnq591m805xp68bkd93fl5qggxi52k8pj0v"))))
+ (base32 "1bmmkahshvlvpsnb7zp8bddv7i1h5k4p967n6kxh71g1vnj8x20m"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
- '("-Dglade_catalog=disabled"
+ '("-Dglade_catalog=enabled"
"-Dgtk_doc=true")
#:phases
(modify-phases %standard-phases
(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
;; Test suite dependencies.
("xorg-server" ,xorg-server-for-tests)
("hicolor-icon-theme" ,hicolor-icon-theme)))
- (home-page "https://source.puri.sm/Librem5/libhandy")
+ (home-page "https://gitlab.gnome.org/GNOME/libhandy/")
(synopsis "Library full of GTK+ widgets for mobile phones")
(description "The aim of the handy library is to help with developing user
interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
(commit (string-append "v" version))))
(file-name (git-file-name "libhandy" version))
(sha256
- (base32 "1y23k623sjkldfrdiwfarpchg5mg58smcy1pkgnwfwca15wm1ra5"))))))
+ (base32 "1y23k623sjkldfrdiwfarpchg5mg58smcy1pkgnwfwca15wm1ra5"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments libhandy)
+ ((#:configure-flags flags)
+ '(list "-Dglade_catalog=disabled" "-Dgtk_doc=true"))))))
(define-public libgit2-glib
(package
index files needed for Adwaita to be used outside of GNOME.")
(license license:lgpl2.1+)))
+(define-public gnote
+ (package
+ (name "gnote")
+ (version "3.38.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ "gnote-" version ".tar.xz"))
+ (sha256
+ (base32 "1ingbaw4d8vpjn083xvzqw7kz8z0k2bx7msk78pbzd68bwgkadpx"))))
+ (build-system glib-or-gtk-build-system)
+ (native-inputs
+ `(("desktop-file-utils" ,desktop-file-utils)
+ ("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("intltool" ,intltool)
+ ("itstool" ,itstool)
+ ("pkg-config" ,pkg-config)
+ ("unittest-cpp" ,unittest-cpp))) ;FIXME: not found by pkg-config
+ (inputs
+ `(("glibmm" ,glibmm)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gspell" ,gspell)
+ ("gtk+" ,gtk+)
+ ("gtkmm" ,gtkmm)
+ ("libsecret" ,libsecret)
+ ("libuuid" ,util-linux "lib")
+ ("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)))
+ (synopsis "Note-taking application for the GNOME desktop")
+ (description
+ "Gnote is a note-taking application written for the GNOME desktop
+environment.")
+ (home-page "https://wiki.gnome.org/Apps/Gnote")
+ (license license:gpl3+)))
+
(define-public polari
(package
(name "polari")
card sheets that you’ll find at most office supply stores.")
(license license:gpl3+)))
+;; Version 3.38.0 is out but requires tepl>=5 which requires glib>=2.64.
+(define-public gnome-latex
+ (package
+ (name "gnome-latex")
+ (version "3.36.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ "gnome-latex-" version ".tar.xz"))
+ (sha256
+ (base32 "1869kr1zhcp04mzbi67lwgk497w840dbbc7427i9yh9b9s7j6mqn"))))
+ (build-system glib-or-gtk-build-system)
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk-doc" ,gtk-doc)
+ ("intltool" ,intltool)
+ ("itstool" ,itstool)
+ ("pkg-config" ,pkg-config)
+ ("vala" ,vala)))
+ (inputs
+ `(("amtk" ,amtk)
+ ("dconf" ,dconf)
+ ("glib" ,glib)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gspell" ,gspell)
+ ("gtk+" ,gtk+)
+ ("gtksourceview" ,gtksourceview)
+ ("libgee" ,libgee)
+ ("tepl" ,tepl)
+ ("uchardet" ,uchardet)))
+ (home-page "https://wiki.gnome.org/Apps/GNOME-LaTeX")
+ (synopsis "LaTeX editor for the GNOME desktop")
+ (description
+ "GNOME LaTeX is a LaTeX editor for the GNOME desktop. It has features
+such as build tools, completion of LaTeX commands, structure navigation,
+symbol tables, document templates, project management, spell-checking, menus
+and toolbars.")
+ (license license:gpl3+)))
+
+(define-public setzer
+ (package
+ (name "setzer")
+ (version "0.3.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cvfosammmm/Setzer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "118gip6bv4mcsq4nrai7kl0vmqqbyzpsd4ky9vhxb1x2cvg048s8"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:glib-or-gtk? #t
+ #:phases
+ (modify-phases %standard-phases
+ (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/setzer"))
+ (pylib (string-append (assoc-ref outputs "out")
+ "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages")))
+ (wrap-program prog
+ `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
+ `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+ #t))))))
+ (native-inputs
+ `(("desktop-file-utils" ,desktop-file-utils)
+ ("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk+:bin" ,gtk+ "bin")))
+ (inputs
+ `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gspell" ,gspell)
+ ("gtk+" ,gtk+)
+ ("gtksourceview" ,gtksourceview)
+ ("pango" ,pango)
+ ("poppler" ,poppler)
+ ("python-pycairo" ,python-pycairo)
+ ("python-pygobject" ,python-pygobject)
+ ("python-pyxdg" ,python-pyxdg)
+ ("webkitgtk" ,webkitgtk)
+ ("xdg-utils" ,xdg-utils)))
+ (home-page "https://www.cvfosammmm.org/setzer/")
+ (synopsis "LaTeX editor written in Python with GTK+")
+ (description
+ "Setzer is a simple yet full-featured LaTeX editor written in Python with
+GTK+. It integrates well with the GNOME desktop environment.")
+ (license license:gpl3+)))
+
(define-public libratbag
(package
(name "libratbag")
(string-append (assoc-ref inputs "python-pygobject")
"/lib")))
#t))
+ (add-after 'configure 'fix-ninja
+ (lambda _
+ ;; #43296: meson(?) incorrectly assumes we want to link
+ ;; this PIE against a static libselinux.
+ (substitute* "build.ninja"
+ (("libselinux\\.a") "libselinux.so"))
+ #t))
(add-before 'check 'pre-check
(lambda _
(system "Xvfb :1 &")
(define-public komikku
(package
(name "komikku")
- (version "0.19.0")
+ (version "0.22.1")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "16d7k500nd9klnjqqcgk3glhv2sy78yndkz3n0x7lynvblsy45kk"))))
+ "0ds4j542zprbyh36qyii1c9mb7kj14cvrfk5miqjvp8y4b5i6mdi"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
(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.10")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/GNOME/libgda.git/")
+ (commit (string-append "LIBGDA_" (string-replace-substring
+ version "." "_")))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "18rg773gq9v3cdywpmrp12c5xyp97ir9yqjinccpi22sksb1kl8a"))))
+ (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)
+ ("autoconf-archive" ,autoconf-archive)
+ ("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"
+ #:glib-or-gtk? #t
+ #: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+)))