From 3bf69b1e4090671e54f039760366efdc2226262c Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sun, 14 Apr 2019 22:03:33 -0400 Subject: [PATCH] busybox: add patch to allow cross in llvm Fixes #57670 $ nix build -f. --arg crossSystem '{ config = "aarch64-unknown-linux-musl"; useLLVM = true; }' busybox --- .../linux/busybox/clang-cross.patch | 37 +++++++++++++++++++ pkgs/os-specific/linux/busybox/default.nix | 2 +- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 pkgs/os-specific/linux/busybox/clang-cross.patch diff --git a/pkgs/os-specific/linux/busybox/clang-cross.patch b/pkgs/os-specific/linux/busybox/clang-cross.patch new file mode 100644 index 000000000000..b2d696bfd73f --- /dev/null +++ b/pkgs/os-specific/linux/busybox/clang-cross.patch @@ -0,0 +1,37 @@ +diff --git a/Makefile b/Makefile +index 6fedcffba..3385836c4 100644 +--- a/Makefile ++++ b/Makefile +@@ -271,8 +271,8 @@ export quiet Q KBUILD_VERBOSE + # Look for make include files relative to root of kernel src + MAKEFLAGS += --include-dir=$(srctree) + +-HOSTCC = gcc +-HOSTCXX = g++ ++HOSTCC = cc ++HOSTCXX = c++ + HOSTCFLAGS := + HOSTCXXFLAGS := + # We need some generic definitions +@@ -289,7 +289,7 @@ MAKEFLAGS += -rR + # Make variables (CC, etc...) + + AS = $(CROSS_COMPILE)as +-CC = $(CROSS_COMPILE)gcc ++CC = $(CROSS_COMPILE)cc + LD = $(CC) -nostdlib + CPP = $(CC) -E + AR = $(CROSS_COMPILE)ar +diff --git a/scripts/Makefile.IMA b/scripts/Makefile.IMA +index f155108d7..185257064 100644 +--- a/scripts/Makefile.IMA ++++ b/scripts/Makefile.IMA +@@ -39,7 +39,7 @@ ifndef HOSTCC + HOSTCC = cc + endif + AS = $(CROSS_COMPILE)as +-CC = $(CROSS_COMPILE)gcc ++CC = $(CROSS_COMPILE)cc + LD = $(CC) -nostdlib + CPP = $(CC) -E + AR = $(CROSS_COMPILE)ar diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix index 4b2877250821..a0f0a4c47e34 100644 --- a/pkgs/os-specific/linux/busybox/default.nix +++ b/pkgs/os-specific/linux/busybox/default.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { patches = [ ./busybox-in-store.patch - ]; + ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.targetPlatform) ./clang-cross.patch; postPatch = "patchShebangs .";