#: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 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)
(define-public phodav
(package
(name "phodav")
- (version "2.4")
+ (version "2.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
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)))
(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
- (inherit librsvg)
(name "librsvg")
(version "2.48.8")
(source (origin
'(begin (delete-file-recursively "vendor")
#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.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" ,(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
(("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"))
#:native-inputs native-inputs
#:inputs inputs
#:outputs outputs
- #:configure-flags (list "--disable-static"
- "--enable-vala"))))
+ #: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))
#:test-target "check")))
(replace 'install
(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
- `(("pango" ,pango)
- ,@(alist-delete "pango" (package-inputs librsvg))))
+ `(("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
(define-public vala-0.48
(package
(inherit vala)
- (version "0.48.7")
+ (version "0.48.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/vala/"
"vala-" version ".tar.xz"))
(sha256
(base32
- "0lswkb7gj0chas9n3l3dbrm9l71hs77adhvm2v600id2ipi37pi8"))))))
+ "1agyrvslv2yh9ikiw7k5nw6j6il1l2zrzfan0pzdpb9xpg9idslw"))))))
(define-public vte
(package
(define-public gnome-mines
(package
(name "gnome-mines")
- (version "3.34.0")
+ (version "3.36.1")
(source
(origin
(method url-fetch)
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
- (base32
- "1spxa6qr1y8s5rrsvpciywpvhk812ngn95s1apaxaigwy2g1iw54"))))
+ (base32 "0m2680r94nk61imym4x73j03jwfjd8cxm592m5ybiqdfdw6i723i"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
(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/"
"geocode-glib-" version ".tar.xz"))
(sha256
(base32
- "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
+ "1l8g0f13xgkrk335afr9w8k46mziwb2jnyhl07jccl5yl37q9zh1"))))
(build-system meson-build-system)
(arguments
`(#:phases
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-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/"
"totem-pl-parser-" version ".tar.xz"))
(sha256
(base32
- "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
+ "132jihnf51zs98yjkc6jxyqib4f3dawpjm17g4bj4j78y93dww2k"))))
(build-system meson-build-system)
(arguments
;; FIXME: Tests require gvfs.
(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
(define-public grilo-plugins
(package
(name "grilo-plugins")
- (version "0.3.10")
+ (version "0.3.11")
(source
(origin
(method url-fetch)
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
- (base32
- "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0"))))
+ (base32 "0wyd3n5mn7b77hxylkc3f62v01mlavh96901pz342hwrn42ydqnx"))))
(build-system meson-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
(define-public simple-scan
(package
(name "simple-scan")
- (version "3.36.3")
+ (version "3.36.6")
(source
(origin
(method url-fetch)
(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
(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 "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "1bvbxcsjkyl0givy8nfm7112bq3c0vn1v89fdk2pip714dsfcrz8"))))
+ "11nk8nvz5yrbx7wp75vsiaf4rniv7ik2g3nwmgwx2b42q9v11j9y"))))
(build-system meson-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
(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
(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/"
"tracker-" version ".tar.xz"))
(sha256
(base32
- "0vai0qz9jn3z5dlzysynwhbbmslp84ygdql81f5wfxxr98j54yap"))))
+ "1ixxyqjlv7pnl4j8g6b72fkbjvzfspza8y71ppkncry8i6xkr223"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
(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/"
"/tracker-miners-" version ".tar.xz"))
(sha256
(base32
- "06abxrnrz7xayykrabn135rpsm6z0fqw7gibrb9j09l6swlalwkl"))))
+ "10wy8d8ski52k809p7s6lbw72qmg05bbmhnl00vx4qrbzqyxvc0b"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
("gtk+" ,gtk+)
("gobject-introspection" ,gobject-introspection)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("libhandy" ,libhandy)
+ ("libhandy" ,libhandy-0.0)
("libnotify" ,libnotify)
("libsoup" ,libsoup)
("nautilus" ,nautilus)
(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/"
"libdazzle-" version ".tar.xz"))
(sha256
(base32
- "01cmcrd75b7ns7j2b4p6h7pv68vjhkcl9zbvzzx7pf4vknxir61x"))))
+ "03r5cr11dc031qa3694bpgm3lajrhiiln67kvl7vjj4q0scf7w7x"))))
(build-system meson-build-system)
(arguments
`(#:phases
(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
(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
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")
(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/"
"/polari-" version ".tar.xz"))
(sha256
(base32
- "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
+ "0fpmrvhd40yay051bzn4x3gsrzdv42nav0pm5ps0np8wk1z689jg"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
("json-glib" ,json-glib)
("libcanberra" ,libcanberra)
("libgee" ,libgee)
- ("libhandy" ,libhandy)
+ ("libhandy" ,libhandy-0.0)
("libpeas" ,libpeas)
("libsecret" ,libsecret)
("libunwind" ,libunwind)
(define-public libratbag
(package
(name "libratbag")
- (version "0.13")
+ (version "0.14")
(source
(origin
(method git-fetch)
(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
(define-public piper
(package
(name "piper")
- (version "0.5")
+ (version "0.5.1")
(source
(origin
(method git-fetch)
(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
#: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
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.19.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
+ "16d7k500nd9klnjqqcgk3glhv2sy78yndkz3n0x7lynvblsy45kk"))))
+ (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+)))