aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/attr.scm14
1 files changed, 13 insertions, 1 deletions
diff --git a/gnu/packages/attr.scm b/gnu/packages/attr.scm
index a062125303..8c1a4aca7c 100644
--- a/gnu/packages/attr.scm
+++ b/gnu/packages/attr.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2012, 2013, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2016, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;;
@@ -23,6 +23,7 @@
#:use-module (guix licenses)
#:use-module (gnu packages perl)
#:use-module (gnu packages gettext)
+ #:use-module (gnu packages hurd)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
@@ -42,6 +43,17 @@
(arguments
`(#:phases
(modify-phases %standard-phases
+ ,@(if (hurd-target?)
+ `((add-before 'configure 'skip-linux-syscalls
+ (lambda _
+ ;; Starting from 2.5.1, libattr includes Linux-specific
+ ;; calls to syscall(2). Comment them out for GNU/Hurd
+ ;; and instead use the glibc-provided wrappers.
+ (substitute* "Makefile.in"
+ (("libattr/syscalls\\.c") "")
+ (("\tlibattr/la-syscalls\\.lo") "")
+ (("-Wl,[[:graph:]]+/libattr\\.lds") "")))))
+ '())
(replace 'check
(lambda* (#:key target #:allow-other-keys)
;; Use the right shell.