gnu: attr: Allow compilation on GNU/Hurd.

* gnu/packages/attr.scm (attr)[arguments]: Add 'skip-linux-syscalls'
phase when 'hurd-target?' returns true.
This commit is contained in:
Ludovic Courtès 2021-09-14 11:07:05 +02:00
parent 7701a3cf23
commit 49ab267cbe
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -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 @@ (define-module (gnu packages attr)
#: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 @@ (define-public attr
(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.