From c0a5cd1be3fce740c634596959321a76f22623a9 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 7 Mar 2020 16:11:48 +0100 Subject: 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 | 44 ++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 gnu/packages/patches/shepherd-hurd.patch diff --git a/gnu/local.mk b/gnu/local.mk index b25d369e07..0ff248fe70 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1428,6 +1428,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 a296d6cacf..4958d67b06 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 "07j3vd0y8zab2nwbrwj0ahrfif1ldm5sjssn7m3dw4s307fsrfzx")))) diff --git a/gnu/packages/patches/shepherd-hurd.patch b/gnu/packages/patches/shepherd-hurd.patch new file mode 100644 index 0000000000..5043e831f2 --- /dev/null +++ b/gnu/packages/patches/shepherd-hurd.patch @@ -0,0 +1,44 @@ +Fixes compilation on the Hurd. + +Taken from upstream: http://git.savannah.gnu.org/cgit/shepherd.git/commit/?id=232331369fe2a0495c7c777e11eecabee6257b3f + +From 232331369fe2a0495c7c777e11eecabee6257b3f Mon Sep 17 00:00:00 2001 +From: Jan Nieuwenhuizen +Date: Sat, 7 Mar 2020 22:01:23 +0100 +Subject: [PATCH] system: Support compilation on the Hurd. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* modules/shepherd/system.scm.in (prctl): Wrap 'dynamic-func' call in +'false-if-exception'. + +Co-authored-by: Ludovic Courtès +--- + modules/shepherd/system.scm.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/modules/shepherd/system.scm.in b/modules/shepherd/system.scm.in +index 769404a..0b2cc9d 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 + ;; Copyright (C) 2018 Carlo Zancanaro ++;; Copyright (C) 2020 Jan (janneke) Nieuwenhuizen + ;; + ;; This file is part of the GNU Shepherd. + ;; +@@ -145,7 +146,7 @@ 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 (false-if-exception (dynamic-func "prctl" (dynamic-link))) + (let ((proc (syscall->procedure long "prctl" (list int int)))) + (lambda (process operation) + "Perform an operation on the given process" +-- +2.24.0 + -- cgit v1.2.3