summary refs log tree commit diff
path: root/gnu/packages/base.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-12-16 15:36:48 +0100
committerLudovic Courtès <ludo@gnu.org>2018-12-16 16:28:07 +0100
commit92391eaf8df8fecbf6844c57ce5bcd3014eb5d28 (patch)
tree277791478f65b915ee3dc3e3b901154e380ffd3c /gnu/packages/base.scm
parent8327e733966cc4a93dfaadd1a761ca1088078baa (diff)
downloadguix-92391eaf8df8fecbf6844c57ce5bcd3014eb5d28.tar.gz
gnu: glibc: Add patch implementing "pid/…" magic lookup on the Hurd.
This patch is missing from glibc 2.28 and is needed to support
/proc/self lookup when using the Hurd's procfs, which in turn is needed
for our 'guile-relocatable.patch'.

See <https://lists.gnu.org/archive/html/bug-hurd/2018-12/msg00024.html>.

* gnu/packages/patches/glibc-hurd-magic-pid.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (glibc)[arguments]: Add 'apply-hurd-patch'
phase.
[native-inputs]: Add "hurd-magic-pid-patch" input.
* gnu/packages/cross-base.scm (cross-libc)[arguments]: Duplicate
'apply-hurd-patch' phase.
Diffstat (limited to 'gnu/packages/base.scm')
-rw-r--r--gnu/packages/base.scm16
1 files changed, 15 insertions, 1 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 60f8051dc6..e79d2a987b 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -681,6 +681,18 @@ store.")
 
       #:tests? #f                                 ; XXX
       #:phases (modify-phases %standard-phases
+                 ,@(if (hurd-target?)
+                       `((add-after 'unpack 'apply-hurd-patch
+                           (lambda* (#:key inputs native-inputs
+                                     #:allow-other-keys)
+                             ;; TODO: Move this to 'patches' field.
+                             (let ((patch (or (assoc-ref native-inputs
+                                                         "hurd-magic-pid-patch")
+                                              (assoc-ref inputs
+                                                         "hurd-magic-pid-patch"))))
+                               (invoke "patch" "-p1" "--force" "--input"
+                                       patch)))))
+                       '())
                  (add-before
                   'configure 'pre-configure
                   (lambda* (#:key inputs native-inputs outputs
@@ -806,7 +818,9 @@ store.")
 
                     ,@(if (hurd-target?)
                           `(("mig" ,mig)
-                            ("perl" ,perl))
+                            ("perl" ,perl)
+                            ("hurd-magic-pid-patch"
+                             ,(search-patch "glibc-hurd-magic-pid.patch")))
                           '())))
 
    (native-search-paths