about summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
authorDing Xiang Fei <dingxiangfei2009@gmail.com>2019-06-29 19:17:21 +0800
committerDing Xiang Fei <dingxiangfei2009@gmail.com>2019-06-29 19:17:21 +0800
commit63fcc2a0a928a54a0068e9564bf3fe36005269f8 (patch)
treea9bbd945670c1204921b13124dbd468204c1169b /pkgs/os-specific
parentd3157cbede7a1cc11a864ac8597b46765498ee9e (diff)
downloadnixlib-63fcc2a0a928a54a0068e9564bf3fe36005269f8.tar
nixlib-63fcc2a0a928a54a0068e9564bf3fe36005269f8.tar.gz
nixlib-63fcc2a0a928a54a0068e9564bf3fe36005269f8.tar.bz2
nixlib-63fcc2a0a928a54a0068e9564bf3fe36005269f8.tar.lz
nixlib-63fcc2a0a928a54a0068e9564bf3fe36005269f8.tar.xz
nixlib-63fcc2a0a928a54a0068e9564bf3fe36005269f8.tar.zst
nixlib-63fcc2a0a928a54a0068e9564bf3fe36005269f8.zip
apparmor: make apparmor cross-compile
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/linux/apparmor/cross.patch19
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix6
2 files changed, 23 insertions, 2 deletions
diff --git a/pkgs/os-specific/linux/apparmor/cross.patch b/pkgs/os-specific/linux/apparmor/cross.patch
new file mode 100644
index 000000000000..f7e95ecfb404
--- /dev/null
+++ b/pkgs/os-specific/linux/apparmor/cross.patch
@@ -0,0 +1,19 @@
+--- a/parser/libapparmor_re/Makefile	2018-10-14 07:38:06.000000000 +0800
++++ b/parser/libapparmor_re/Makefile	2019-06-28 16:16:33.741916660 +0800
+@@ -10,6 +10,7 @@
+ 
+ TARGET=libapparmor_re.a
+ 
++AR ?= ar
+ CFLAGS ?= -g -Wall -O2 ${EXTRA_CFLAGS} -std=gnu++0x
+ CXXFLAGS := ${CFLAGS} ${INCLUDE_APPARMOR}
+ 
+@@ -22,7 +23,7 @@
+ UNITTESTS = tst_parse
+ 
+ libapparmor_re.a: parse.o expr-tree.o hfa.o chfa.o aare_rules.o
+-	ar ${ARFLAGS} $@ $^
++	${AR} ${ARFLAGS} $@ $^
+ 
+ expr-tree.o: expr-tree.cc expr-tree.h
+ 
diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
index ccad9795301d..06c37d00d5e7 100644
--- a/pkgs/os-specific/linux/apparmor/default.nix
+++ b/pkgs/os-specific/linux/apparmor/default.nix
@@ -49,7 +49,9 @@ let
       sha256 = "1m4dx901biqgnr4w4wz8a2z9r9dxyw7wv6m6mqglqwf2lxinqmp4";
     })
     # (alpine patches {1,4,5,6,8} are needed for apparmor 2.11, but not 2.12)
-  ];
+    ] ++ [
+      ./cross.patch
+    ];
 
   # Set to `true` after the next FIXME gets fixed or this gets some
   # common derivation infra. Too much copy-paste to fix one by one.
@@ -185,7 +187,7 @@ let
     '';
     inherit patches;
     postPatch = "cd ./parser";
-    makeFlags = ''LANGS= USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include'';
+    makeFlags = ''LANGS= USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include AR=${stdenv.cc.bintools.targetPrefix}ar'';
     installFlags = ''DESTDIR=$(out) DISTRO=unknown'';
 
     inherit doCheck;