summaryrefslogtreecommitdiff
path: root/gnu/packages/freedesktop.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/freedesktop.scm')
-rw-r--r--gnu/packages/freedesktop.scm338
1 files changed, 206 insertions, 132 deletions
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index bf4bce553b..eba06600b2 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015, 2017 Andy Wingo <wingo@pobox.com>
-;;; Copyright © 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015-2017, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2016, 2017, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
@@ -23,8 +23,11 @@
;;; Copyright © 2020 Anders Thuné <asse.97@gmail.com>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
;;; Copyright © 2021 pineapples <guixuser6392@protonmail.com>
+;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2021 Robby Zambito <contact@robbyzambito.me>
+;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -46,6 +49,7 @@
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@@ -60,6 +64,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
@@ -99,6 +104,7 @@
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rdesktop)
+ #:use-module (gnu packages rsync)
#:use-module (gnu packages samba)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
@@ -185,7 +191,7 @@
("python" ,python-wrapper)
("xsltproc" ,libxslt)))
(inputs
- `(("libsoup" ,libsoup)
+ `(("libsoup-minimal" ,libsoup-minimal-2)
("libstemmer" ,libstemmer)
("libxml2" ,libxml2)
("libyaml" ,libyaml)
@@ -221,12 +227,13 @@ application-centers for distributions.")
(sha256
(base32 "1sd8syldyq6bphfdm129s3gq554vfv7vh1vcwzk48gjryf101awk"))
(patches
- (search-patches "farstream-make.patch"))))
+ (search-patches
+ "farstream-gupnp.patch" ;for test 'transmitter/rawudp'
+ "farstream-make.patch"))))
(build-system glib-or-gtk-build-system)
(outputs '("out" "doc"))
(arguments
- `(#:tests? #f ; https://gitlab.freedesktop.org/farstream/farstream/-/issues/18
- #:configure-flags
+ `(#:configure-flags
(list
"--enable-gtk-doc"
"--enable-glib-asserts"
@@ -242,6 +249,15 @@ application-centers for distributions.")
(assoc-ref %build-inputs "common")
"common")
#t))
+ (add-after 'unpack 'disable-timeout-tests
+ (lambda _
+ (substitute* "tests/check/Makefile.am"
+ ;; This test timeouts despite changing
+ ;; the value of 'CK_DEFAULT_TIMEOUT' to 600,
+ ;; as per %common-gstreamer-phases.
+ ;; Reported to upstream:
+ ;; https://gitlab.freedesktop.org/farstream/farstream/-/issues/20
+ (("[ \t]*transmitter/nice.*$") ""))))
(add-after 'unpack 'patch-docbook-xml
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "docs"
@@ -347,7 +363,8 @@ tests.")
(base32 "0vnf0pk516fwwh41v96c29l2i7h1pnwhivlkbf53kkx1q35g7lb3"))))
(build-system meson-build-system)
(arguments
- `(#:glib-or-gtk? #t
+ `(#:meson ,meson-0.59
+ #:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
;; AppInfo not available inside build environment.
@@ -478,14 +495,14 @@ freedesktop.org project.")
;; Updating this will rebuild over 700 packages through libinput-minimal.
(package
(name "libinput")
- (version "1.16.4")
+ (version "1.19.2")
(source (origin
(method url-fetch)
(uri (string-append "https://freedesktop.org/software/libinput/"
"libinput-" version ".tar.xz"))
(sha256
(base32
- "0acywdjppj5i591l879bnqa9cs4vgdwnhilwk550x5x8sl33m4k5"))))
+ "10xqk05mkvsyxfxpn3vwkwb7j22d38wlbg1l1k37f6pfyc59zhqg"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Ddocumentation=false")
@@ -566,7 +583,7 @@ the freedesktop.org XDG Base Directory specification.")
(define-public elogind
(package
(name "elogind")
- (version "243.7")
+ (version "246.10")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -575,47 +592,57 @@ the freedesktop.org XDG Base Directory specification.")
(file-name (git-file-name name version))
(sha256
(base32
- "1ccj3cbs9nsfg497wg195in1a7b9csm1jdm7z6q7vvx1ynpjxlxz"))))
+ "16045bhpwjq2nqgswln67ipg1zrz2djxlgkfngqng3jqpwagmnzq"))
+ (patches (search-patches
+ "elogind-revert-polkit-detection.patch"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
- (let* ((out (assoc-ref %outputs "out"))
- (sysconf (string-append out "/etc"))
- (libexec (string-append out "/libexec/elogind"))
- (dbuspolicy (string-append out "/etc/dbus-1/system.d"))
- (shadow (assoc-ref %build-inputs "shadow"))
- (shepherd (assoc-ref %build-inputs "shepherd"))
- (halt-path (string-append shepherd "/sbin/halt"))
- (kexec-path "") ;not available in Guix yet
- (nologin-path (string-append shadow "/sbin/nologin"))
- (poweroff-path (string-append shepherd "/sbin/shutdown"))
- (reboot-path (string-append shepherd "/sbin/reboot")))
- (list
- (string-append "-Drootprefix=" out)
- (string-append "-Dsysconfdir=" sysconf)
- (string-append "-Drootlibexecdir=" libexec)
- (string-append "-Ddbuspolicydir=" dbuspolicy)
- (string-append "-Dc_link_args=-Wl,-rpath=" libexec)
- (string-append "-Dcpp_link_args=-Wl,-rpath=" libexec)
- (string-append "-Dhalt-path=" halt-path)
- (string-append "-Dkexec-path=" kexec-path)
- (string-append "-Dpoweroff-path=" poweroff-path)
- (string-append "-Dreboot-path=" reboot-path)
- (string-append "-Dnologin-path=" nologin-path)
- "-Dcgroup-controller=elogind"
- "-Dman=true"
- ;; Disable some tests.
- "-Dslow-tests=false"))
+ ,#~(let* ((out #$output)
+ (sysconf (string-append out "/etc"))
+ (libexec (string-append out "/libexec/elogind"))
+ (dbuspolicy (string-append out "/etc/dbus-1/system.d"))
+ (kexec-tools #$(this-package-input "kexec-tools"))
+ (shadow #$(this-package-input "shadow"))
+ (shepherd #$(this-package-input "shepherd"))
+ (halt-path (string-append shepherd "/sbin/halt"))
+ (kexec-path (string-append kexec-tools "/sbin/kexec"))
+ (nologin-path (string-append shadow "/sbin/nologin"))
+ (poweroff-path (string-append shepherd "/sbin/shutdown"))
+ (reboot-path (string-append shepherd "/sbin/reboot")))
+ (list
+ (string-append "-Drootprefix=" out)
+ (string-append "-Dsysconfdir=" sysconf)
+ (string-append "-Drootlibexecdir=" libexec)
+ (string-append "-Ddbuspolicydir=" dbuspolicy)
+ (string-append "-Dc_link_args=-Wl,-rpath=" libexec)
+ (string-append "-Dcpp_link_args=-Wl,-rpath=" libexec)
+ (string-append "-Dhalt-path=" halt-path)
+ (string-append "-Dkexec-path=" kexec-path)
+ (string-append "-Dpoweroff-path=" poweroff-path)
+ (string-append "-Dreboot-path=" reboot-path)
+ (string-append "-Dnologin-path=" nologin-path)
+ "-Dcgroup-controller=elogind"
+ "-Dman=true"
+ ;; Disable some tests.
+ "-Dslow-tests=false"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-pkttyagent-path
(lambda _
(substitute* "meson.build"
(("join_paths\\(bindir, 'pkttyagent'\\)")
- "'\"/run/current-system/profile/bin/pkttyagent\"'"))
- #t))
+ "'\"/run/current-system/profile/bin/pkttyagent\"'"))))
(add-after 'unpack 'adjust-tests
(lambda _
+ ;; Skip the following test, which depends on users such as 'root'
+ ;; existing in the build environment.
+ (invoke "sed" "/src\\/test\\/test-user-util.c/,+2s/^/#/g"
+ "-i" "src/test/meson.build")
+ ;; FIXME: This one times out for unknown reasons.
+ (invoke "sed"
+ "/src\\/libelogind\\/sd-event\\/test-event.c/,+2s/^/#/g"
+ "-i" "src/test/meson.build")
;; This test tries to copy some bytes from /usr/lib/os-release,
;; which does not exist in the build container. Choose something
;; more likely to be available.
@@ -651,14 +678,12 @@ the freedesktop.org XDG Base Directory specification.")
;; logind system so that it can flicker the monitor, etc.
;; Just skip it until a more narrow selection can be made.
(substitute* "src/libelogind/sd-login/test-login.c"
- (("r = sd_pid_get_slice.*")
- "return 77;"))
- #t))
+ (("test_login\\(\\);")
+ "return 77;"))))
(add-after 'unpack 'change-pid-file-path
(lambda _
(substitute* "src/login/elogind.c"
- (("\"/run/elogind.pid\"") "\"/run/systemd/elogind.pid\""))
- #t)))))
+ (("\"/run/elogind.pid\"") "\"/run/systemd/elogind.pid\"")))))))
(native-inputs
`(("docbook-xml" ,docbook-xml)
("docbook-xml-4.2" ,docbook-xml-4.2)
@@ -671,7 +696,8 @@ the freedesktop.org XDG Base Directory specification.")
("python" ,python)
("xsltproc" ,libxslt)))
(inputs
- `(("linux-pam" ,linux-pam)
+ `(("kexec-tools" ,kexec-tools)
+ ("linux-pam" ,linux-pam)
("libcap" ,libcap)
("shadow" ,shadow) ;for 'nologin'
("shepherd" ,shepherd) ;for 'halt' and 'reboot', invoked
@@ -819,7 +845,8 @@ of a the system to know what users are logged in, and where.")
(install-file map data))
(find-files ".." "^(kbd-model-map|language-fallback-map)$"))
#t)))))))
- (native-inputs (package-native-inputs elogind))
+ (native-inputs `(,@(package-native-inputs elogind)
+ ("rsync" ,rsync)))
(inputs `(("libmount" ,util-linux "lib")
("xkeyboard-config" ,xkeyboard-config)
("kbd" ,kbd)
@@ -852,7 +879,7 @@ with localed. This package is extracted from the broader systemd package.")
(native-inputs
`(("pkg-config" ,pkg-config)
("scdoc" ,scdoc)))
- (inputs
+ (propagated-inputs
`(("elogind" ,elogind)))
(home-page "https://sr.ht/~kennylevinsen/seatd")
(synopsis "Seat management daemon and library")
@@ -955,43 +982,72 @@ Python.")
(define-public wayland
(package
(name "wayland")
- (version "1.18.0")
+ (version "1.19.0")
(source (origin
(method url-fetch)
(uri (string-append "https://wayland.freedesktop.org/releases/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0k995rn96xkplrapz5k648j651wc43kq817xk1x8280h16gsfxa6"))))
- (build-system gnu-build-system)
+ "05bd2vphyx8qwa1mhsj1zdaiv4m4v94wrlssrn0lad8d601dkk5s"))))
+ (build-system meson-build-system)
+ (outputs '("out" "doc"))
(arguments
- `(#:parallel-tests? #f))
+ `(#:parallel-tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-docbook-xml
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (with-directory-excursion "doc"
+ (substitute* (find-files "." "\\.xml$")
+ (("http://www.oasis-open.org/docbook/xml/4\\.5/")
+ (string-append (assoc-ref (or native-inputs inputs)
+ "docbook-xml")
+ "/xml/dtd/docbook/"))
+ (("http://www.oasis-open.org/docbook/xml/4\\.2/")
+ (string-append (assoc-ref (or native-inputs inputs)
+ "docbook-xml-4.2")
+ "/xml/dtd/docbook/"))))))
+ (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/doc")
+ (string-append doc "/share/doc"))))))))
(native-inputs
- `(("doxygen" ,doxygen)
- ("graphviz" ,graphviz)
+ `(("docbook-xml-4.2" ,docbook-xml-4.2)
+ ("docbook-xml" ,docbook-xml)
+ ("docbook-xsl" ,docbook-xsl)
+ ("dot" ,graphviz)
+ ("doxygen" ,doxygen)
("pkg-config" ,pkg-config)
("xmlto" ,xmlto)
- ("xsltproc" ,libxslt)))
+ ("xsltproc" ,libxslt)
+ ,@(if (%current-target-system)
+ `(("pkg-config-for-build" ,pkg-config-for-build)
+ ("wayland" ,this-package)) ; for wayland-scanner
+ '())))
(inputs
- `(("docbook-xml" ,docbook-xml)
- ("docbook-xsl" ,docbook-xsl)
- ("expat" ,expat)
- ("libffi" ,libffi)
- ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
+ `(("expat" ,expat)
+ ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
+ (propagated-inputs
+ `(("libffi" ,libffi)))
(home-page "https://wayland.freedesktop.org/")
- (synopsis "Display server protocol")
- (description
- "Wayland is a protocol for a compositor to talk to its clients as well as
-a C library implementation of that protocol. The compositor can be a standalone
-display server running on Linux kernel modesetting and evdev input devices, an X
-application, or a wayland client itself. The clients can be traditional
-applications, X servers (rootless or fullscreen) or other display servers.")
- (license license:x11)))
+ (synopsis "Core Wayland window system code and protocol")
+ (description "Wayland is a project to define a protocol for a compositor to
+talk to its clients as well as a library implementation of the protocol. The
+compositor can be a standalone display server running on Linux kernel
+modesetting and evdev input devices, an X application, or a wayland client
+itself. The clients can be traditional applications, X servers (rootless or
+fullscreen) or other display servers.")
+ (license license:expat)))
(define-public wayland-protocols
(package
(name "wayland-protocols")
- (version "1.20")
+ (version "1.23")
(source (origin
(method url-fetch)
(uri (string-append
@@ -999,14 +1055,17 @@ applications, X servers (rootless or fullscreen) or other display servers.")
"wayland-protocols-" version ".tar.xz"))
(sha256
(base32
- "1rsdgvkkvxs3cjhpl6agvbkm53vm7k8rg127j9y2vn33m2hvg0lp"))))
- (build-system gnu-build-system)
+ "0xizccackgwszjhlq7jjiv2z2gwppljx0w32ga91bxlnby8z22kc"))))
+ (build-system meson-build-system)
(inputs
`(("wayland" ,wayland)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(synopsis "Wayland protocols")
- (description "This package contains XML definitions of the Wayland protocols.")
+ (description "Wayland-Protocols contains Wayland protocols that add
+functionality not available in the Wayland core protocol. Such protocols either
+add completely new functionality, or extend the functionality of some other
+protocol either in Wayland core, or some other protocol in wayland-protocols.")
(home-page "https://wayland.freedesktop.org")
(license license:expat)))
@@ -1127,8 +1186,7 @@ applications, X servers (rootless or fullscreen) or other display servers.")
(add-before 'check 'start-xorg-server
(lambda* (#:key inputs #:allow-other-keys)
;; The test suite requires a running X server.
- (system (string-append (assoc-ref inputs "xorg-server")
- "/bin/Xvfb :1 &"))
+ (system "Xvfb :1 &")
(setenv "DISPLAY" ":1")
#t)))))
(home-page "https://wayland.freedesktop.org")
@@ -1341,57 +1399,63 @@ message bus.")
(define-public accountsservice
(package
(name "accountsservice")
- (version "0.6.50")
+ (version "0.6.55")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/"
- "accountsservice/accountsservice-" version ".tar.xz"))
+ "accountsservice/accountsservice-"
+ version ".tar.xz"))
(sha256
- (base32 "0jn7vg1z4vxnna0hl33hbcb4bb3zpilxc2vyclh24vx4vvsjhn83"))))
- (build-system gnu-build-system)
+ (base32 "16wwd633jak9ajyr1f1h047rmd09fhf3kzjz6g5xjsz0lwcj8azz"))))
+ (build-system meson-build-system)
(arguments
- '(#:tests? #f ; XXX: tests require DocBook 4.1.2
+ `(#:meson ,meson-0.59 ;see https://github.com/mesonbuild/meson/issues/6470
+ #:tests? #f ; XXX: tests require DocBook 4.1.2
#:configure-flags
'("--localstatedir=/var"
- "--disable-systemd"
- "--enable-elogind")
+ "-Dsystemdsystemunitdir=/tmp/empty"
+ "-Dsystemd=false"
+ "-Delogind=true")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-/bin/cat
(lambda _
(substitute* "src/user.c"
- (("/bin/cat") (which "cat")))
- #t))
+ (("/bin/cat") (which "cat")))))
(add-before
'configure 'pre-configure
(lambda* (#:key inputs #:allow-other-keys)
- ;; Don't try to create /var/lib/AccountsService.
- (substitute* "src/Makefile.in"
- (("\\$\\(MKDIR_P\\).*/lib/AccountsService.*") "true"))
+ (substitute* "meson_post_install.py"
+ (("in dst_dirs") "in []"))
(let ((shadow (assoc-ref inputs "shadow")))
(substitute* '("src/user.c" "src/daemon.c")
- (("/usr/sbin/usermod") (string-append shadow "/sbin/usermod"))
- (("/usr/sbin/useradd") (string-append shadow "/sbin/useradd"))
- (("/usr/sbin/userdel") (string-append shadow "/sbin/userdel"))
- (("/usr/bin/passwd") (string-append shadow "/bin/passwd"))
- (("/usr/bin/chage") (string-append shadow "/bin/chage"))))
- #t)))))
+ (("/usr/sbin/usermod")
+ (string-append shadow "/sbin/usermod"))
+ (("/usr/sbin/useradd")
+ (string-append shadow "/sbin/useradd"))
+ (("/usr/sbin/userdel")
+ (string-append shadow "/sbin/userdel"))
+ (("/usr/bin/passwd")
+ (string-append shadow "/bin/passwd"))
+ (("/usr/bin/chage")
+ (string-append shadow "/bin/chage")))))))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(inputs
- `(("elogind" ,elogind)
+ `(("dbus" ,dbus)
+ ("elogind" ,elogind)
("polkit" ,polkit)
("shadow" ,shadow)))
(home-page "https://www.freedesktop.org/wiki/Software/AccountsService/")
(synopsis "D-Bus interface for user account query and manipulation")
(description
- "The AccountService project provides a set of D-Bus interfaces for querying
-and manipulating user account information and an implementation of these
-interfaces, based on the useradd, usermod and userdel commands.")
+ "The AccountService project provides a set of D-Bus interfaces for
+querying and manipulating user account information and an implementation of
+these interfaces, based on the useradd, usermod and userdel commands.")
(license license:gpl3+)))
(define-public libmbim
@@ -2181,6 +2245,13 @@ useful with system integration.")
"https://launchpad.net/libappindicator/"
(version-major+minor version) "/" version
"/+download/libappindicator-" version ".tar.gz"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Fix 'multiple definitions' error from GCC 10
+ (substitute* "bindings/python/appindicatormodule.c"
+ (("^#include <pygobject.h>" all)
+ (string-append "#define NO_IMPORT_PYGOBJECT\n" all)))))
(sha256
(base32
"17xlqd60v0zllrxp8bgq3k5a1jkj0svkqn8rzllcyjh8k0gpr46m"))))
@@ -2242,43 +2313,45 @@ fallback to generic Systray support if none of those are available.")
(define-public libportal
(package
- (name "libportal")
- (version "0.4")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/flatpak/libportal/releases/download/"
- version "/libportal-" version ".tar.xz"))
- (sha256
- (base32
- "0a7gmhyf0b58xy335jyf524g1fyc2id4r88anhvg47430w4zbm9w"))))
- (build-system meson-build-system)
- (arguments
- `(#: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"))
- (html "/share/gtk-doc"))
- (copy-recursively (string-append out html)
- (string-append doc html))
- (delete-file-recursively (string-append out html))
- #t))))))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("gtk-doc" ,gtk-doc/stable)
- ("docbook-xsl" ,docbook-xsl)
- ("docbook-xml" ,docbook-xml)
- ("libxml2" ,libxml2)
- ("glib:bin" ,glib "bin")))
- (propagated-inputs
- `(("glib" ,glib)))
- (outputs '("out" "doc"))
- (home-page "https://github.com/flatpak/libportal")
- (synopsis "Flatpak portal library")
- (description
- "libportal provides GIO-style async APIs for most Flatpak portals.")
- (license license:lgpl2.1+)))
+ (name "libportal")
+ (version "0.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/flatpak/libportal")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jh6wd96y4i218zbmmqw12zir8p88nm8dlsa3yx3lsqxd5c1krky"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#: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"))
+ (html "/share/gtk-doc"))
+ (copy-recursively (string-append out html)
+ (string-append doc html))
+ (delete-file-recursively (string-append out html))
+ #t))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("gtk-doc" ,gtk-doc/stable)
+ ("docbook-xsl" ,docbook-xsl)
+ ("docbook-xml" ,docbook-xml)
+ ("libxml2" ,libxml2)
+ ("glib:bin" ,glib "bin")))
+ (propagated-inputs
+ `(("glib" ,glib)))
+ (outputs '("out" "doc"))
+ (home-page "https://github.com/flatpak/libportal")
+ (synopsis "Flatpak portal library")
+ (description
+ "libportal provides GIO-style async APIs for most Flatpak portals.")
+ (license license:lgpl2.1+)))
(define-public xdg-desktop-portal
(package
@@ -2376,6 +2449,7 @@ and others.")
("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
+ ("libxml2" ,libxml2)
("glib:bin" ,glib "bin")
("which" ,which)
("gettext" ,gettext-minimal)))