With this patch procps can be built on the Hurd.

Manolis
From 00c2d2ec11a75e3d74704150488e73ee7c8c6fe8 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <[email protected]>
Date: Wed, 27 Apr 2016 23:33:56 +0300
Subject: [PATCH] gnu: procps: Make procps build on non Linux systems.

* gnu/packages/patches/procps-non-linux.patch.patch: New patch.
* gnu/packages/linux.scm (procps)[source]: Use it.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                |  1 +
 gnu/packages/linux.scm                      |  4 +++-
 gnu/packages/patches/procps-non-linux.patch | 23 +++++++++++++++++++++++
 3 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/procps-non-linux.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 80017ea..036e649 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -673,6 +673,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/polkit-drop-test.patch			\
   gnu/packages/patches/portaudio-audacity-compat.patch		\
   gnu/packages/patches/procmail-ambiguous-getline-debian.patch  \
+  gnu/packages/patches/procps-non-linux.patch			\
   gnu/packages/patches/pt-scotch-build-parallelism.patch	\
   gnu/packages/patches/pulseaudio-fix-mult-test.patch		\
   gnu/packages/patches/pulseaudio-longer-test-timeout.patch	\
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index a26e641..f3c04cd 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -523,7 +523,9 @@ block devices, UUIDs, TTYs, and many other tools.")
                                   "procps-ng-" version ".tar.xz"))
               (sha256
                (base32
-                "1va4n0mpsq327ca9dqp4hnrpgs6821rp0f2m0jyc1bfjl9lk2jg9"))))
+                "1va4n0mpsq327ca9dqp4hnrpgs6821rp0f2m0jyc1bfjl9lk2jg9"))
+              (patches
+               (list (search-patch "procps-non-linux.patch")))))
     (build-system gnu-build-system)
     (arguments
      '(#:modules ((guix build utils)
diff --git a/gnu/packages/patches/procps-non-linux.patch b/gnu/packages/patches/procps-non-linux.patch
new file mode 100644
index 0000000..dd21c82
--- /dev/null
+++ b/gnu/packages/patches/procps-non-linux.patch
@@ -0,0 +1,23 @@
+--- a/lib/test_process.c
++++ b/lib/test_process.c
+@@ -21,7 +21,9 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <signal.h>
++#ifdef __linux__
+ #include <sys/prctl.h>
++#endif
+ #include "c.h"
+ 
+ #define DEFAULT_SLEEPTIME 300
+@@ -78,8 +80,10 @@
+     sigaction(SIGUSR1, &signal_action, NULL);
+     sigaction(SIGUSR2, &signal_action, NULL);
+ 
++#ifdef __linux__
+     /* set process name */
+     prctl(PR_SET_NAME, MY_NAME, NULL, NULL, NULL);
++#endif
+ 
+     while (sleep_time > 0) {
+ 	sleep_time = sleep(sleep_time);
\ No newline at end of file
-- 
2.8.0

Reply via email to