+ "0c91y61y4gy6p91cwbzg32dhavw4b7fflg370rimqhdxpzdfr1rg"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (use-modules (guix build utils))
+ ;; Disable broken test.
+ (substitute* "test/Makefile.in"
+ (("SUBDIRS = mocklibc . polkit polkitbackend")
+ "SUBDIRS = mocklibc . polkit"))
+ (substitute* "configure"
+ ;; Replace libsystemd-login with libelogind.
+ (("libsystemd-login") "libelogind")
+ ;; Skip the sanity check that the current system runs
+ ;; systemd.
+ (("test ! -d /sys/fs/cgroup/systemd/") "false"))
+ (substitute* "src/polkit/polkitunixsession-systemd.c"
+ (("systemd") "elogind"))
+ (substitute* "src/polkitbackend/polkitbackendsessionmonitor-systemd.c"
+ (("systemd") "elogind"))
+ (substitute* "src/polkitbackend/polkitbackendjsauthority.cpp"
+ (("systemd") "elogind"))
+
+ ;; Guix System's polkit service stores actions under
+ ;; /etc/polkit-1/actions.
+ (substitute* "src/polkitbackend/polkitbackendinteractiveauthority.c"
+ (("PACKAGE_DATA_DIR \"/polkit-1/actions\"")
+ "PACKAGE_SYSCONF_DIR \"/polkit-1/actions\""))
+
+ ;; Set the setuid helper's real location.
+ (substitute* "src/polkitagent/polkitagentsession.c"
+ (("PACKAGE_PREFIX \"/lib/polkit-1/polkit-agent-helper-1\"")
+ "\"/run/setuid-programs/polkit-agent-helper-1\""))
+ #t))))