From 63fcc2a0a928a54a0068e9564bf3fe36005269f8 Mon Sep 17 00:00:00 2001 From: Ding Xiang Fei Date: Sat, 29 Jun 2019 19:17:21 +0800 Subject: [PATCH] apparmor: make apparmor cross-compile --- pkgs/os-specific/linux/apparmor/cross.patch | 19 +++++++++++++++++++ pkgs/os-specific/linux/apparmor/default.nix | 6 ++++-- 2 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 pkgs/os-specific/linux/apparmor/cross.patch 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;