summaryrefslogtreecommitdiffstats
path: root/pkgs/tools/bootloaders
diff options
context:
space:
mode:
authorSamuel Dionne-Riel <samuel@dionne-riel.com>2019-05-19 17:38:50 -0400
committerSamuel Dionne-Riel <samuel@dionne-riel.com>2019-05-19 17:38:50 -0400
commit19c404cf45ee6b8b8617570c260da36d6d49f64c (patch)
treef431eefd092d9f014e176cabeaea7e6cdda8955d /pkgs/tools/bootloaders
parent589907bd38786420b7eb2628830c3f029614453d (diff)
refind: allows building for aarch64
Diffstat (limited to 'pkgs/tools/bootloaders')
-rw-r--r--pkgs/tools/bootloaders/refind/0001-toolchain.patch27
-rw-r--r--pkgs/tools/bootloaders/refind/default.nix8
2 files changed, 34 insertions, 1 deletions
diff --git a/pkgs/tools/bootloaders/refind/0001-toolchain.patch b/pkgs/tools/bootloaders/refind/0001-toolchain.patch
new file mode 100644
index 000000000000..13c4c88f95f0
--- /dev/null
+++ b/pkgs/tools/bootloaders/refind/0001-toolchain.patch
@@ -0,0 +1,27 @@
+diff --git a/Make.common b/Make.common
+index 3f0b919..ee365f5 100644
+--- a/Make.common
++++ b/Make.common
+@@ -33,22 +33,6 @@ ARCH ?= $(HOSTARCH)
+
+ # Note: TIANOBASE is defined in master Makefile and exported
+ GENFW = $(TIANOBASE)/BaseTools/Source/C/bin/GenFw
+-prefix = /usr/bin/
+-ifeq ($(ARCH),aarch64)
+- CC = $(prefix)aarch64-linux-gnu-gcc
+- AS = $(prefix)aarch64-linux-gnu-as
+- LD = $(prefix)aarch64-linux-gnu-ld
+- AR = $(prefix)aarch64-linux-gnu-ar
+- RANLIB = $(prefix)aarch64-linux-gnu-ranlib
+- OBJCOPY = $(prefix)aarch64-linux-gnu-objcopy
+-else
+- CC = $(prefix)gcc
+- AS = $(prefix)as
+- LD = $(prefix)ld
+- AR = $(prefix)ar
+- RANLIB = $(prefix)ranlib
+- OBJCOPY = $(prefix)objcopy
+-endif
+
+ ifeq ($(MAKEWITH),TIANO)
+ # Below file defines TARGET (RELEASE or DEBUG) and TOOL_CHAIN_TAG (GCC44, GCC45, GCC46, or GCC47)
diff --git a/pkgs/tools/bootloaders/refind/default.nix b/pkgs/tools/bootloaders/refind/default.nix
index bc84edeb21b7..0cdcd4c58df4 100644
--- a/pkgs/tools/bootloaders/refind/default.nix
+++ b/pkgs/tools/bootloaders/refind/default.nix
@@ -4,6 +4,7 @@ let
archids = {
"x86_64-linux" = { hostarch = "x86_64"; efiPlatform = "x64"; };
"i686-linux" = rec { hostarch = "ia32"; efiPlatform = hostarch; };
+ "aarch64-linux" = rec { hostarch = "aarch64"; efiPlatform = "aa64"; };
};
inherit
@@ -21,6 +22,10 @@ stdenv.mkDerivation rec {
sha256 = "1bjd0dl77bc5k6g3kc7s8m57vpbg2zscph9qh84xll9rc10g3fir";
};
+ patches = [
+ ./0001-toolchain.patch
+ ];
+
buildInputs = [ gnu-efi ];
hardeningDisable = [ "stackprotector" ];
@@ -32,6 +37,7 @@ stdenv.mkDerivation rec {
"GNUEFILIB=${gnu-efi}/lib"
"EFICRT0=${gnu-efi}/lib"
"HOSTARCH=${hostarch}"
+ "ARCH=${hostarch}"
];
buildFlags = [ "gnuefi" "fs_gnuefi" ];
@@ -116,7 +122,7 @@ stdenv.mkDerivation rec {
'';
homepage = http://refind.sourceforge.net/;
maintainers = [ maintainers.AndersonTorres ];
- platforms = [ "i686-linux" "x86_64-linux" ];
+ platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ];
license = licenses.gpl3Plus;
};