Subject: [PATCH] gnu: sed: selinux test when running on a foreign os that uses

From: Daniel Brooks <[email-masked]>
Date: Wed, 11 Nov 2020 06:46:33 -0800

>From a14efc3664d2eccb49f37cb5b14058261f3c8726 Mon Sep 17 00:00:00 2001
From: Daniel Brooks <[email-masked]>
Date: Wed, 11 Nov 2020 06:40:58 -0800
Subject: [PATCH] gnu: sed: selinux test when running on a foreign os that uses
 selinux

* gnu/packages/patches/sed-inplace-selinux-test.patch: new patch
* gnu/packages/base.scm (sed): add patch that sets the CONFIG_HEADER variable
to the appropriate value. sed's build system is supposed to pass this variable
along form the Makefile, but fails to do so. After several attempts to fix the
build system, I decided just to fix it the simplest way. This does make the
assumption that Guix isn't going to override the name of the config header,
but that seems like a pretty safe assumption.
---
 gnu/packages/base.scm                               |  3 ++-
 gnu/packages/patches/sed-inplace-selinux-test.patch | 11 +++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/sed-inplace-selinux-test.patch

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index c83775d8ee..419f6039cc 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -141,7 +141,8 @@ including, for example, recursive directory searching.")
                                 ".tar.gz"))
             (sha256
              (base32
-              "0alqagh0nliymz23kfjg6g9w3cr086k0sfni56gi8fhzqwa3xksk"))))
+              "0alqagh0nliymz23kfjg6g9w3cr086k0sfni56gi8fhzqwa3xksk"))
+            (patches (search-patches "sed-inplace-selinux-test.patch"))))
    (build-system gnu-build-system)
    (synopsis "Stream editor")
    (native-inputs
diff --git a/gnu/packages/patches/sed-inplace-selinux-test.patch b/gnu/packages/patches/sed-inplace-selinux-test.patch
new file mode 100644
index 0000000000..16238c119c
--- /dev/null
+++ b/gnu/packages/patches/sed-inplace-selinux-test.patch
@@ -0,0 +1,11 @@
+--- sed-4.8/testsuite/inplace-selinux.sh	2020-01-01 11:38:19.000000000 -0800
++++ sed/testsuite/inplace-selinux.sh	2020-11-11 06:35:49.850724638 -0800
+@@ -16,6 +16,8 @@
+ # along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ . "${srcdir=.}/testsuite/init.sh"; path_prepend_ ./sed
+ print_ver_ sed
++# this is a hack, but it's easier than trying to decypher sed's build system
++CONFIG_HEADER=config.h
+ require_selinux_
+ 
+ sed --version | grep -q "with SELinux" \
-- 
2.26.2