From c9aadd074961b149870cbe6128d77b6cacb1d2b6 Mon Sep 17 00:00:00 2001 From: Rene Saavedra Date: Sat, 15 Feb 2020 18:46:14 -0600 Subject: gnu: accountsservice: 'Add patch-/bin/cat' phase. * gnu/packages/freedesktop.scm (accountsservice)[arguments]: Add 'patch-/bin/cat' phase. Signed-off-by: Marius Bakke --- gnu/packages/freedesktop.scm | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'gnu/packages/freedesktop.scm') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 0c0fcff02c..24f33efe35 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2019 Reza Alizadeh Majd ;;; Copyright © 2019, 2020 Guillaume Le Vaillant ;;; Copyright © 2020 Jakub Kądziołka +;;; Copyright © 2020 Rene Saavedra ;;; ;;; This file is part of GNU Guix. ;;; @@ -934,6 +935,11 @@ message bus.") "--enable-elogind") #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-/bin/cat + (lambda _ + (substitute* "src/user.c" + (("/bin/cat") (which "cat"))) + #t)) (add-before 'configure 'pre-configure (lambda* (#:key inputs #:allow-other-keys) -- cgit v1.2.3 From ba0b9d410fd608198cdadd5fa0968408a096527e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 17 Feb 2020 23:12:08 +0100 Subject: gnu: packagekit: Update to 1.1.13. * gnu/packages/freedesktop.scm (packagekit): Update to 1.1.13. --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/freedesktop.scm') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 24f33efe35..9d714c38ca 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -506,7 +506,7 @@ with localed. This package is extracted from the broader systemd package.") (define-public packagekit (package (name "packagekit") - (version "1.1.12") + (version "1.1.13") (source (origin (method url-fetch) (uri (string-append @@ -515,7 +515,7 @@ with localed. This package is extracted from the broader systemd package.") "PackageKit-" version ".tar.xz")) (sha256 (base32 - "00css16dv3asaxrklvyxy9dyjzhw82wmfrqxqpca9w2xryz58i8z")))) + "1dr1laic65ld95abp2yxbwvijnngh0dwyb1x49x4wjm5rhq43dl8")))) (build-system gnu-build-system) (arguments `(#:tests? #f -- cgit v1.2.3 From 50f02ced92d48e11538ff972be0f06bd0689a460 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 20 Feb 2020 20:03:44 +0100 Subject: gnu: Update fprintd home pages. * gnu/packages/freedesktop.scm (libfprint, fprintd)[home-page]: Update. --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/freedesktop.scm') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 9d714c38ca..392236eba9 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -1232,7 +1232,7 @@ wish to perform colour calibration.") ("glib" ,glib) ("eudev" ,eudev) ("pixman" ,pixman))) - (home-page "https://www.freedesktop.org/wiki/Software/fprint/libfprint/") + (home-page "https://fprint.freedesktop.org/") (synopsis "Library to access fingerprint readers") (description "libfprint is a library designed to make it easy for application @@ -1273,7 +1273,7 @@ software.") ("dbus-glib" ,dbus-glib) ("polkit" ,polkit) ("linux-pam" ,linux-pam))) ;for pam_fprintd - (home-page "https://www.freedesktop.org/wiki/Software/fprint/fprintd/") + (home-page "https://fprint.freedesktop.org/") (synopsis "D-Bus daemon that exposes fingerprint reader functionality") (description "fprintd is a D-Bus daemon that offers functionality of libfprint, a -- cgit v1.2.3 From 239d3e9ceff19339dea6681110a6fa4782cd5bf0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 20 Feb 2020 18:35:15 +0100 Subject: gnu: libfprint, fprintd: Update to 1.90.1. * gnu/packages/freedesktop.scm (libfprint): Update to 1.90.1. [source]: Use GIT-FETCH and GIT-FILE-NAME. [build-system]: Use Meson. [arguments]: Adapt #:configure-flags. [native-inputs]: Add eudev, glib:bin, gobject-introspection, and gtk-doc. [inputs]: Replace libusb with gusb. (fprintd): Update to 1.90.1. [source]: Use GIT-FETCH and GIT-FILE-NAME. [build-system]: Use Meson. [arguments]: Add directory #:configure-flags. Work around many exciting new Meson features. [native-inputs]: Replace intltool with gettext-minimal. Add glib:bin, libxslt, and perl. [inputs]: Add elogind and polkit, as well as gusb, nss, and pixman. --- gnu/packages/freedesktop.scm | 149 ++++++++++++++++++++++++++++++------------- 1 file changed, 105 insertions(+), 44 deletions(-) (limited to 'gnu/packages/freedesktop.scm') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 392236eba9..9d10f51257 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2017, 2018, 2019 Marius Bakke ;;; Copyright © 2017, 2018, 2019 Rutger Helling ;;; Copyright © 2017 Brendan Tildesley -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2018 Stefan Stefanović ;;; Copyright © 2019 Reza Alizadeh Majd @@ -1211,26 +1211,34 @@ wish to perform colour calibration.") (define-public libfprint (package (name "libfprint") - (version "0.6.0") - (source (origin - (method url-fetch) - (uri (string-append "https://people.freedesktop.org/~hadess/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1giwh2z63mn45galsjb59rhyrvgwcy01hvvp4g01iaa2snvzr0r5")))) - (build-system gnu-build-system) + (version "1.90.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/libfprint/libfprint") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0fdaak7qjr9b4482g7fhhqpyfdqpxq5kpmyzkp7f5i7qq2ynb78a")))) + (build-system meson-build-system) (arguments - '(#:configure-flags (list (string-append "--with-udev-rules-dir=" - (assoc-ref %outputs "out") - "/lib/udev/rules.d")))) + '(#:configure-flags + (list (string-append "-Dudev_rules_dir=" (assoc-ref %outputs "out") + "/lib/udev/rules.d")))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("eudev" ,eudev) + ("glib:bin" ,glib "bin") ; for {glib-,}mkenums + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) ; for 88 KiB of API documentation + ("pkg-config" ,pkg-config))) (inputs - `(("libusb" ,libusb) - ("nss" ,nss) - ("glib" ,glib) - ("eudev" ,eudev) + `(("glib" ,glib) + ("gusb" ,gusb) + ("nss" ,nss) ; for the URU4x00 driver + + ;; Replacing this with cairo works but just results in a reference + ;; (only) to pixman in the end. ("pixman" ,pixman))) (home-page "https://fprint.freedesktop.org/") (synopsis "Library to access fingerprint readers") @@ -1243,36 +1251,89 @@ software.") (define-public fprintd (package (name "fprintd") - (version "0.7.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://people.freedesktop.org/~hadess/fprintd-" - version ".tar.xz")) - (sha256 - (base32 - "05915i0bv7q62fqrs5diqwr8dz3pwqa1c1ivcgggkjyw0xk4ldp5")))) - (build-system gnu-build-system) + (version "1.90.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/libfprint/fprintd") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0mbzk263x7f58i9cxhs44mrngs7zw5wkm62j5r6xlcidhmfn03cg")))) + (build-system meson-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (add-before 'build 'set-sysconfdir - (lambda* (#:key outputs #:allow-other-keys) - ;; Work around a bug whereby the 'SYSCONFDIR' macro - ;; expands literally to '${prefix}/etc'. - (let ((out (assoc-ref outputs "out"))) - (substitute* "src/main.c" - (("SYSCONFDIR, \"fprintd.conf\"") - (string-append "\"" out "/etc\", " - "\"fprintd.conf\""))) - #t)))))) + `(#:configure-flags + (list "-Dsystemd_system_unit_dir=/tmp" + (string-append "-Ddbus_service_dir=" (assoc-ref %outputs "out") + "/share/dbus-1/system-services") + (string-append "-Dpam_modules_dir=" (assoc-ref %outputs "out") + "/lib/security")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-output-directories + ;; Install files to our output, not that of the ‘owner’ package. + ;; These are not exposed as Meson options and must be patched. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "meson.build" + (("(dbus_interfaces_dir = ).*" _ set) + (string-append set "'" out "/share/dbus-1/interfaces'\n")) + (("(polkit_policy_directory = ).*" _ set) + (string-append set "'" out "/share/polkit-1/actions/'\n")) + (("(dbus_data_dir = ).*" _ set) + (string-append set "get_option('prefix')" + " / get_option('datadir')\n"))) + #t))) + (add-before 'configure 'patch-mistake + (lambda _ + (substitute* "meson.build" + (("(storage_path = )(get_option\\('prefix'\\))(.*)" + _ set mistake value) + (string-append set "''" value "\n"))) + #t)) + (add-before 'configure 'patch-systemd-dependencies + (lambda _ + (substitute* "meson.build" + (("'(libsystemd|systemd)'") "'libelogind'")) + #t)) + (add-before 'configure 'ignore-test-dependencies + (lambda _ + (substitute* "meson.build" + (("pam_wrapper_dep .*") "") + ((".*'(cairo|dbus|dbusmock|gi|pypamtest)': .*,.*") "")) + #t)) + (add-before 'install 'no-polkit-magic + ;; Meson ‘magically’ invokes pkexec, which fails (not setuid). + (lambda _ + (setenv "PKEXEC_UID" "something") + #t))) + #:tests? #f)) ; XXX depend on unpackaged packages (native-inputs - `(("pkg-config" ,pkg-config) - ("intltool" ,intltool))) + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") ; for glib-genmarshal + ("libxslt" ,libxslt) ; for xsltproc + ("perl" ,perl) ; for pod2man + ("pkg-config" ,pkg-config))) + ;; For tests. + ;;("pam_wrapper" ,pam_wrapper) + ;;("python-pycairo" ,python-pycairo) + ;;("python-dbus" ,python-dbus) + ;;("python-dbusmock" ,python-dbusmock) + ;;("python-pygobject" ,python-pygobject) + ;;("python-pypamtest" ,python-pypamtest) (inputs - `(("libfprint" ,libfprint) - ("dbus-glib" ,dbus-glib) + `(("dbus-glib" ,dbus-glib) + ("elogind" ,elogind) + ("libfprint" ,libfprint) + ("linux-pam" ,linux-pam) ("polkit" ,polkit) - ("linux-pam" ,linux-pam))) ;for pam_fprintd + + ;; XXX These are in libfprint's Requires.private. Meson refuses to grant + ;; the ‘libfprint-2’ dependency if they are not provided here. + ("gusb" ,gusb) + ("nss" ,nss) + ("pixman" ,pixman))) (home-page "https://fprint.freedesktop.org/") (synopsis "D-Bus daemon that exposes fingerprint reader functionality") (description -- cgit v1.2.3 From 20c87138a9ca1bbccef2ee91589f11ec70985555 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 28 Feb 2020 18:54:49 +0100 Subject: gnu: elogind: Enable tests again. * gnu/packages/freedesktop.scm (elogind)[arguments]: Remove "-Dtests" from #:configure-flags. Add phase 'adjust-tests'. --- gnu/packages/freedesktop.scm | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) (limited to 'gnu/packages/freedesktop.scm') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 9d10f51257..90956968b2 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016, 2017, 2019 Efraim Flashner ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2017, 2018 Mark H Weaver -;;; Copyright © 2017, 2018, 2019 Marius Bakke +;;; Copyright © 2017, 2018, 2019, 2020 Marius Bakke ;;; Copyright © 2017, 2018, 2019 Rutger Helling ;;; Copyright © 2017 Brendan Tildesley ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice @@ -306,7 +306,6 @@ the freedesktop.org XDG Base Directory specification.") "-Dcgroup-controller=elogind" "-Dman=true" ;; Disable some tests. - "-Dtests=false" "-Dslow-tests=false")) #:phases (modify-phases %standard-phases @@ -324,6 +323,46 @@ the freedesktop.org XDG Base Directory specification.") (("=/run/dbus/system_bus_socket") "=/var/run/dbus/system_bus_socket")) #t)) + (add-after 'unpack 'adjust-tests + (lambda _ + ;; 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. + (substitute* "src/test/test-copy.c" + (("/usr/lib/os-release") + "/etc/passwd")) + ;; Use a shebang that works in the build container. + (substitute* "src/test/test-exec-util.c" + (("#!/bin/sh") + (string-append "#!" (which "sh")))) + ;; Do not look for files or directories that do not exist. + (substitute* "src/test/test-fs-util.c" + (("usr") "etc") + (("/etc/machine-id") "/etc/passwd")) + ;; FIXME: Why is sd_id128_get_machine_app_specific failing. + ;; Disable for now by hooking into the kernel support check. + (substitute* "src/test/test-id128.c" + (("if \\(r == -EOPNOTSUPP\\)") + "if (1)")) + ;; This test expects that /sys is available. + (substitute* "src/test/test-mountpoint-util.c" + (("assert_se\\(path_is_mount_point\\(\"/sys.*") + "")) + ;; /bin/sh does not exist in the build container. + (substitute* "src/test/test-path-util.c" + (("/bin/sh") (which "sh"))) + ;; This test uses sd_device_new_from_syspath to allocate a + ;; loopback device, but that fails because /sys is unavailable. + (substitute* "src/libelogind/sd-device/test-sd-device-thread.c" + ((".*sd_device_new_from_syspath.*/sys/class/net/lo.*") + "return 77;")) + ;; Most of these tests require cgroups or an actual live + ;; 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)) (add-after 'unpack 'change-pid-file-path (lambda _ (substitute* "src/login/elogind.c" -- cgit v1.2.3