summary refs log tree commit diff
path: root/gnu/packages/freedesktop.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/freedesktop.scm')
-rw-r--r--gnu/packages/freedesktop.scm19
1 files changed, 12 insertions, 7 deletions
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index daa5a3e0b1..0f2a3d66e3 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
-;;; Copyright © 2017 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
@@ -38,6 +38,7 @@
   #:use-module (guix build-system meson)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
+  #:use-module (gnu packages)
   #:use-module (gnu packages acl)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages autotools)
@@ -236,6 +237,7 @@ the freedesktop.org XDG Base Directory specification.")
               (sha256
                (base32
                 "1qcxian48z2dj5gfmp7brrngdydqf2jm00f4rjr5sy1myh8fy931"))
+              (patches (search-patches "elogind-glibc-2.27.patch"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -243,7 +245,8 @@ the freedesktop.org XDG Base Directory specification.")
                   (substitute* "Makefile.am"
                     ;; Avoid validation against DTD because the DTDs for
                     ;; both doctype 4.2 and 4.5 are needed.
-                    (("XSLTPROC_FLAGS = ") "XSLTPROC_FLAGS = --novalid"))))))
+                    (("XSLTPROC_FLAGS = ") "XSLTPROC_FLAGS = --novalid"))
+                  #t))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ;FIXME: "make check" in the "po" directory fails.
@@ -274,11 +277,12 @@ the freedesktop.org XDG Base Directory specification.")
              ;; Fix compilation with glibc >= 2.26, which removed xlocale.h.
              ;; This can be removed for elogind 234.
              (substitute* "src/basic/parse-util.c"
-               (("xlocale\\.h") "locale.h"))))
-         (add-before 'configure 'autogen
+               (("xlocale\\.h") "locale.h"))
+             #t))
+         (replace 'bootstrap
            (lambda _
-             (and (zero? (system* "intltoolize" "--force" "--automake"))
-                  (zero? (system* "autoreconf" "-vif")))))
+             (invoke "intltoolize" "--force" "--automake")
+             (invoke "autoreconf" "-vif")))
          (add-before 'build 'fix-service-file
            (lambda* (#:key outputs #:allow-other-keys)
              ;; Fix the file name of the 'elogind' binary in the D-Bus
@@ -286,7 +290,8 @@ the freedesktop.org XDG Base Directory specification.")
              (substitute* "src/login/org.freedesktop.login1.service"
                (("^Exec=.*")
                 (string-append "Exec=" (assoc-ref %outputs "out")
-                               "/libexec/elogind/elogind\n")))))
+                               "/libexec/elogind/elogind\n")))
+             #t))
          (add-after 'install 'add-libcap-to-search-path
            (lambda* (#:key inputs outputs #:allow-other-keys)
              ;; Add a missing '-L' for libcap in libelogind.la.  See