summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-11-22 15:12:11 +0100
committerLudovic Courtès <ludo@gnu.org>2019-11-22 15:13:25 +0100
commitcf87919657bcbc422ca599007f5b111dc7807919 (patch)
treeeadd9f435103f732bffe2f2567c500d3767f9228 /gnu
parentca541f9ce692ef96f6d5638eb37f70714cedd933 (diff)
downloadguix-cf87919657bcbc422ca599007f5b111dc7807919.tar.gz
gnu: libseccomp: Fix build on AArch64.
This is a followup to d100d5d5449eabd65e9c26081b7620a3d342c9eb.

* gnu/packages/patches/libseccomp-open-aarch64.patch: New file.
* gnu/packages/linux.scm (libseccomp)[source]: Use it.
* gnu/local.mk (dist_patch_DATA): Add it.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/linux.scm3
-rw-r--r--gnu/packages/patches/libseccomp-open-aarch64.patch27
3 files changed, 30 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 7672295e69..ba86bf3224 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1078,6 +1078,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch	\
   %D%/packages/patches/libreoffice-icu.patch			\
   %D%/packages/patches/libreoffice-glm.patch			\
+  %D%/packages/patches/libseccomp-open-aarch64.patch		\
   %D%/packages/patches/libsndfile-armhf-type-checks.patch	\
   %D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch	\
   %D%/packages/patches/libsndfile-CVE-2017-8362.patch		\
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index f424eb0db8..9941129ba7 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -4794,7 +4794,8 @@ of flash storage.")
                                   "/libseccomp-" version ".tar.gz"))
               (sha256
                (base32
-                "0nsq81acrbkdr8zairxbwa33bj2a6126npp76b4srjl472sjfkxm"))))
+                "0nsq81acrbkdr8zairxbwa33bj2a6126npp76b4srjl472sjfkxm"))
+              (patches (search-patches "libseccomp-open-aarch64.patch"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("which" ,which)))
diff --git a/gnu/packages/patches/libseccomp-open-aarch64.patch b/gnu/packages/patches/libseccomp-open-aarch64.patch
new file mode 100644
index 0000000000..6e62825892
--- /dev/null
+++ b/gnu/packages/patches/libseccomp-open-aarch64.patch
@@ -0,0 +1,27 @@
+This patch fixes the build failure on AArch64 reported
+at <https://github.com/seccomp/libseccomp/pull/191>.
+
+From cc21c1b48d35f9d34ef2da0e184af3855bfeee5f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Wed, 20 Nov 2019 14:11:12 -0500
+Subject: [PATCH] tests: use openat instead of open
+
+On arm64, __NR_open is not defined, openat is always used. Let's use openat
+instead, which is defined for architectures currently.
+---
+ tests/15-basic-resolver.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/15-basic-resolver.c b/tests/15-basic-resolver.c
+index 6badef1..4884faf 100644
+--- a/tests/15-basic-resolver.c
++++ b/tests/15-basic-resolver.c
+@@ -55,7 +55,7 @@ int main(int argc, char *argv[])
+ 	unsigned int arch;
+ 	char *name = NULL;
+ 
+-	if (seccomp_syscall_resolve_name("open") != __NR_open)
++	if (seccomp_syscall_resolve_name("openat") != __NR_openat)
+ 		goto fail;
+ 	if (seccomp_syscall_resolve_name("read") != __NR_read)
+ 		goto fail;