janneke pushed a commit to branch wip-hurd
in repository guix.
commit ab4dbfd30c80ab8c194dcf47b55894cc1e117647
Author: Jan Nieuwenhuizen <[email protected]>
AuthorDate: Sat Mar 7 16:11:48 2020 +0100
gnu: shepherd: Build fix for the Hurd.
* gnu/packages/patches/shepherd-hurd.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/admin.scm (shepherd): Use it.
---
gnu/local.mk | 1 +
gnu/packages/admin.scm | 2 ++
gnu/packages/patches/shepherd-hurd.patch | 36 ++++++++++++++++++++++++++++++++
3 files changed, 39 insertions(+)
diff --git a/gnu/local.mk b/gnu/local.mk
index c299847..b5bd7a5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1407,6 +1407,7 @@ dist_patch_DATA =
\
%D%/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
+ %D%/packages/patches/shepherd-hurd.patch \
%D%/packages/patches/shishi-fix-libgcrypt-detection.patch \
%D%/packages/patches/slim-session.patch \
%D%/packages/patches/slim-config.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 993d378..2d0a127 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -74,6 +74,7 @@
#:use-module (gnu packages file)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages hurd)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
@@ -202,6 +203,7 @@ and provides a \"top-like\" mode (monitoring).")
(method url-fetch)
(uri (string-append "mirror://gnu/shepherd/shepherd-"
version ".tar.gz"))
+ (patches (search-patches "shepherd-hurd.patch"))
(sha256
(base32
"1xn6mb5bh8bpfgdrh09ja31jk0ln7bmxbbf0vjcqxkkixs2wl6sk"))))
diff --git a/gnu/packages/patches/shepherd-hurd.patch
b/gnu/packages/patches/shepherd-hurd.patch
new file mode 100644
index 0000000..035782b
--- /dev/null
+++ b/gnu/packages/patches/shepherd-hurd.patch
@@ -0,0 +1,36 @@
+From ac06193300aea17d6e6d1ad784585542815af94b Mon Sep 17 00:00:00 2001
+From: Jan Nieuwenhuizen <[email protected]>
+Date: Sat, 7 Mar 2020 16:04:27 +0100
+Subject: [PATCH] services: Support compilation on the Hurd.
+
+* modules/shepherd/system.scm.in (prctl): Catch compile-time error.
+---
+ modules/shepherd/system.scm.in | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/modules/shepherd/system.scm.in b/modules/shepherd/system.scm.in
+index 769404a..7def22d 100644
+--- a/modules/shepherd/system.scm.in
++++ b/modules/shepherd/system.scm.in
+@@ -1,6 +1,7 @@
+ ;; system.scm -- Low-level operating system interface.
+ ;; Copyright (C) 2013, 2014, 2016, 2018 Ludovic Courtès <[email protected]>
+ ;; Copyright (C) 2018 Carlo Zancanaro <[email protected]>
++;; Copyright (C) 2020 Jan (janneke) Nieuwenhuizen <[email protected]>
+ ;;
+ ;; This file is part of the GNU Shepherd.
+ ;;
+@@ -145,7 +146,9 @@ ctrlaltdel(8) and see kernel/reboot.c in Linux."
+ (define PR_SET_CHILD_SUBREAPER @PR_SET_CHILD_SUBREAPER@)
+
+ (define prctl
+- (if (dynamic-func "prctl" (dynamic-link))
++ (if (catch #t
++ (lambda _ (dynamic-func "prctl" (dynamic-link)))
++ (const #f))
+ (let ((proc (syscall->procedure long "prctl" (list int int))))
+ (lambda (process operation)
+ "Perform an operation on the given process"
+--
+2.24.0
+