treewide: isArm -> isAarch32

Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.

The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:

```
ISA:             ARMv8   {-A, -R, -M}
                 /    \
Mode:     Aarch32     Aarch64
             |         /   \
Encoding:   A64      A32   T32
```

At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.

The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.

[1]: https://developer.arm.com/products/architecture/a-profile
This commit is contained in:
John Ericson 2018-03-19 22:41:06 -04:00
parent e40213ed24
commit ba52ae5048
69 changed files with 110 additions and 107 deletions

View file

@ -26,7 +26,7 @@ in rec {
none = []; none = [];
arm = filterDoubles predicates.isArm; arm = filterDoubles predicates.isAarch32;
aarch64 = filterDoubles predicates.isAarch64; aarch64 = filterDoubles predicates.isAarch64;
x86 = filterDoubles predicates.isx86; x86 = filterDoubles predicates.isx86;
i686 = filterDoubles predicates.isi686; i686 = filterDoubles predicates.isi686;

View file

@ -7,7 +7,7 @@ in rec {
all = [ {} ]; # `{}` matches anything all = [ {} ]; # `{}` matches anything
none = []; none = [];
arm = [ patterns.isArm ]; arm = [ patterns.isAarch32 ];
aarch64 = [ patterns.isAarch64 ]; aarch64 = [ patterns.isAarch64 ];
x86 = [ patterns.isx86 ]; x86 = [ patterns.isx86 ];
i686 = [ patterns.isi686 ]; i686 = [ patterns.isi686 ];

View file

@ -9,8 +9,8 @@ rec {
isx86_64 = { cpu = cpuTypes.x86_64; }; isx86_64 = { cpu = cpuTypes.x86_64; };
isPowerPC = { cpu = cpuTypes.powerpc; }; isPowerPC = { cpu = cpuTypes.powerpc; };
isx86 = { cpu = { family = "x86"; }; }; isx86 = { cpu = { family = "x86"; }; };
isArm = { cpu = { family = "arm"; }; }; isAarch32 = { cpu = { family = "arm"; bits = 32; }; };
isAarch64 = { cpu = { family = "aarch64"; }; }; isAarch64 = { cpu = { family = "arm"; bits = 64; }; };
isMips = { cpu = { family = "mips"; }; }; isMips = { cpu = { family = "mips"; }; };
isRiscV = { cpu = { family = "riscv"; }; }; isRiscV = { cpu = { family = "riscv"; }; };
isWasm = { cpu = { family = "wasm"; }; }; isWasm = { cpu = { family = "wasm"; }; };
@ -41,6 +41,9 @@ rec {
isEfi = map (family: { cpu.family = family; }) isEfi = map (family: { cpu.family = family; })
[ "x86" "arm" "aarch64" ]; [ "x86" "arm" "aarch64" ];
# Deprecated
isArm = isAarch32;
}; };
matchAnyAttrs = patterns: matchAnyAttrs = patterns:

View file

@ -72,7 +72,7 @@ rec {
armv6l = { bits = 32; significantByte = littleEndian; family = "arm"; }; armv6l = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv7a = { bits = 32; significantByte = littleEndian; family = "arm"; }; armv7a = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv7l = { bits = 32; significantByte = littleEndian; family = "arm"; }; armv7l = { bits = 32; significantByte = littleEndian; family = "arm"; };
aarch64 = { bits = 64; significantByte = littleEndian; family = "aarch64"; }; aarch64 = { bits = 64; significantByte = littleEndian; family = "arm"; };
i686 = { bits = 32; significantByte = littleEndian; family = "x86"; }; i686 = { bits = 32; significantByte = littleEndian; family = "x86"; };
x86_64 = { bits = 64; significantByte = littleEndian; family = "x86"; }; x86_64 = { bits = 64; significantByte = littleEndian; family = "x86"; };
mips = { bits = 32; significantByte = bigEndian; family = "mips"; }; mips = { bits = 32; significantByte = bigEndian; family = "mips"; };

View file

@ -9,7 +9,7 @@
]; ];
qemuSerialDevice = if pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64 then "ttyS0" qemuSerialDevice = if pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64 then "ttyS0"
else if pkgs.stdenv.isArm || pkgs.stdenv.isAarch64 then "ttyAMA0" else if pkgs.stdenv.isAarch32 || pkgs.stdenv.isAarch64 then "ttyAMA0"
else throw "Unknown QEMU serial device for system '${pkgs.stdenv.system}'"; else throw "Unknown QEMU serial device for system '${pkgs.stdenv.system}'";
qemuBinary = qemuPkg: { qemuBinary = qemuPkg: {

View file

@ -26,11 +26,11 @@ with lib;
nano zile nano zile
texinfo # for the stand-alone Info reader texinfo # for the stand-alone Info reader
] ]
++ stdenv.lib.optional (!stdenv.isArm) grub2; ++ stdenv.lib.optional (!stdenv.isAarch32) grub2;
# GNU GRUB, where available. # GNU GRUB, where available.
boot.loader.grub.enable = !pkgs.stdenv.isArm; boot.loader.grub.enable = !pkgs.stdenv.isAarch32;
boot.loader.grub.version = 2; boot.loader.grub.version = 2;
# GNU lsh. # GNU lsh.

View file

@ -437,7 +437,7 @@ in
# FIXME: Consolidate this one day. # FIXME: Consolidate this one day.
virtualisation.qemu.options = mkMerge [ virtualisation.qemu.options = mkMerge [
(mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [ "-vga std" "-usb" "-device usb-tablet,bus=usb-bus.0" ]) (mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [ "-vga std" "-usb" "-device usb-tablet,bus=usb-bus.0" ])
(mkIf (pkgs.stdenv.isArm || pkgs.stdenv.isAarch64) [ "-device virtio-gpu-pci" "-device usb-ehci,id=usb0" "-device usb-kbd" "-device usb-tablet" ]) (mkIf (pkgs.stdenv.isAarch32 || pkgs.stdenv.isAarch64) [ "-device virtio-gpu-pci" "-device usb-ehci,id=usb0" "-device usb-kbd" "-device usb-tablet" ])
]; ];
# Mount the host filesystem via 9P, and bind-mount the Nix store # Mount the host filesystem via 9P, and bind-mount the Nix store

View file

@ -5,7 +5,7 @@ let
arch = arch =
if stdenv.isAarch64 if stdenv.isAarch64
then "arm64" then "arm64"
else if stdenv.isArm else if stdenv.isAarch32
then "arm_armhf_raspberry_pi" then "arm_armhf_raspberry_pi"
else if stdenv.is64bit else if stdenv.is64bit
then "x86_64" then "x86_64"

View file

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
libtoxcore libsodium ncurses curl gdk_pixbuf libnotify libtoxcore libsodium ncurses curl gdk_pixbuf libnotify
] ++ stdenv.lib.optionals (!stdenv.isArm) [ ] ++ stdenv.lib.optionals (!stdenv.isAarch32) [
openal libopus libvpx freealut libqrencode openal libopus libvpx freealut libqrencode
]; ];
nativeBuildInputs = [ pkgconfig libconfig ]; nativeBuildInputs = [ pkgconfig libconfig ];

View file

@ -4,7 +4,7 @@
, makeWrapper , makeWrapper
, attr, libcap, libcap_ng , attr, libcap, libcap_ng
, CoreServices, Cocoa, rez, setfile , CoreServices, Cocoa, rez, setfile
, numaSupport ? stdenv.isLinux && !stdenv.isArm, numactl , numaSupport ? stdenv.isLinux && !stdenv.isAarch32, numactl
, seccompSupport ? stdenv.isLinux, libseccomp , seccompSupport ? stdenv.isLinux, libseccomp
, pulseSupport ? !stdenv.isDarwin, libpulseaudio , pulseSupport ? !stdenv.isDarwin, libpulseaudio
, sdlSupport ? !stdenv.isDarwin, SDL2 , sdlSupport ? !stdenv.isDarwin, SDL2
@ -29,7 +29,7 @@ let
hostCpuTargets = if stdenv.isx86_64 then "i386-softmmu,x86_64-softmmu" hostCpuTargets = if stdenv.isx86_64 then "i386-softmmu,x86_64-softmmu"
else if stdenv.isi686 then "i386-softmmu" else if stdenv.isi686 then "i386-softmmu"
else if stdenv.isArm then "arm-softmmu" else if stdenv.isAarch32 then "arm-softmmu"
else if stdenv.isAarch64 then "aarch64-softmmu" else if stdenv.isAarch64 then "aarch64-softmmu"
else throw "Don't know how to build a 'hostCpuOnly = true' QEMU"; else throw "Don't know how to build a 'hostCpuOnly = true' QEMU";
in in
@ -135,7 +135,7 @@ stdenv.mkDerivation rec {
postInstall = postInstall =
if stdenv.isx86_64 then ''makeWrapper $out/bin/qemu-system-x86_64 $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"'' if stdenv.isx86_64 then ''makeWrapper $out/bin/qemu-system-x86_64 $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"''
else if stdenv.isi686 then ''makeWrapper $out/bin/qemu-system-i386 $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"'' else if stdenv.isi686 then ''makeWrapper $out/bin/qemu-system-i386 $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"''
else if stdenv.isArm then ''makeWrapper $out/bin/qemu-system-arm $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"'' else if stdenv.isAarch32 then ''makeWrapper $out/bin/qemu-system-arm $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"''
else if stdenv.isAarch64 then ''makeWrapper $out/bin/qemu-system-aarch64 $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"'' else if stdenv.isAarch64 then ''makeWrapper $out/bin/qemu-system-aarch64 $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"''
else ""; else "";

View file

@ -57,7 +57,7 @@ let
else if targetPlatform.system == "i686-linux" then "${libc_lib}/lib/ld-linux.so.2" else if targetPlatform.system == "i686-linux" then "${libc_lib}/lib/ld-linux.so.2"
else if targetPlatform.system == "x86_64-linux" then "${libc_lib}/lib/ld-linux-x86-64.so.2" else if targetPlatform.system == "x86_64-linux" then "${libc_lib}/lib/ld-linux-x86-64.so.2"
# ARM with a wildcard, which can be "" or "-armhf". # ARM with a wildcard, which can be "" or "-armhf".
else if (with targetPlatform; isArm && isLinux) then "${libc_lib}/lib/ld-linux*.so.3" else if (with targetPlatform; isAarch32 && isLinux) then "${libc_lib}/lib/ld-linux*.so.3"
else if targetPlatform.system == "aarch64-linux" then "${libc_lib}/lib/ld-linux-aarch64.so.1" else if targetPlatform.system == "aarch64-linux" then "${libc_lib}/lib/ld-linux-aarch64.so.1"
else if targetPlatform.system == "powerpc-linux" then "${libc_lib}/lib/ld.so.1" else if targetPlatform.system == "powerpc-linux" then "${libc_lib}/lib/ld.so.1"
else if targetPlatform.isMips then "${libc_lib}/lib/ld.so.1" else if targetPlatform.isMips then "${libc_lib}/lib/ld.so.1"
@ -176,7 +176,7 @@ stdenv.mkDerivation {
sep = optionalString (!targetPlatform.isMips) "-"; sep = optionalString (!targetPlatform.isMips) "-";
arch = arch =
/**/ if targetPlatform.isAarch64 then endianPrefix + "aarch64" /**/ if targetPlatform.isAarch64 then endianPrefix + "aarch64"
else if targetPlatform.isArm then endianPrefix + "arm" else if targetPlatform.isAarch32 then endianPrefix + "arm"
else if targetPlatform.isx86_64 then "x86-64" else if targetPlatform.isx86_64 then "x86-64"
else if targetPlatform.isi686 then "i386" else if targetPlatform.isi686 then "i386"
else if targetPlatform.isMips then { else if targetPlatform.isMips then {

View file

@ -289,7 +289,7 @@ stdenv.mkDerivation ({
# TODO(@Ericson2314): Always pass "--target" and always prefix. # TODO(@Ericson2314): Always pass "--target" and always prefix.
configurePlatforms = configurePlatforms =
# TODO(@Ericson2314): Figure out what's going wrong with Arm # TODO(@Ericson2314): Figure out what's going wrong with Arm
if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isArm if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isAarch32
then [] then []
else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";

View file

@ -298,7 +298,7 @@ stdenv.mkDerivation ({
# TODO(@Ericson2314): Always pass "--target" and always prefix. # TODO(@Ericson2314): Always pass "--target" and always prefix.
configurePlatforms = configurePlatforms =
# TODO(@Ericson2314): Figure out what's going wrong with Arm # TODO(@Ericson2314): Figure out what's going wrong with Arm
if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isArm if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isAarch32
then [] then []
else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";

View file

@ -318,7 +318,7 @@ stdenv.mkDerivation ({
# TODO(@Ericson2314): Always pass "--target" and always prefix. # TODO(@Ericson2314): Always pass "--target" and always prefix.
configurePlatforms = configurePlatforms =
# TODO(@Ericson2314): Figure out what's going wrong with Arm # TODO(@Ericson2314): Figure out what's going wrong with Arm
if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isArm if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isAarch32
then [] then []
else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";

View file

@ -322,7 +322,7 @@ stdenv.mkDerivation ({
# TODO(@Ericson2314): Always pass "--target" and always prefix. # TODO(@Ericson2314): Always pass "--target" and always prefix.
configurePlatforms = configurePlatforms =
# TODO(@Ericson2314): Figure out what's going wrong with Arm # TODO(@Ericson2314): Figure out what's going wrong with Arm
if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isArm if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isAarch32
then [] then []
else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";

View file

@ -327,7 +327,7 @@ stdenv.mkDerivation ({
# TODO(@Ericson2314): Always pass "--target" and always prefix. # TODO(@Ericson2314): Always pass "--target" and always prefix.
configurePlatforms = configurePlatforms =
# TODO(@Ericson2314): Figure out what's going wrong with Arm # TODO(@Ericson2314): Figure out what's going wrong with Arm
if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isArm if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isAarch32
then [] then []
else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";

View file

@ -290,7 +290,7 @@ stdenv.mkDerivation ({
# TODO(@Ericson2314): Always pass "--target" and always prefix. # TODO(@Ericson2314): Always pass "--target" and always prefix.
configurePlatforms = configurePlatforms =
# TODO(@Ericson2314): Figure out what's going wrong with Arm # TODO(@Ericson2314): Figure out what's going wrong with Arm
if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isArm if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isAarch32
then [] then []
else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";

View file

@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
or (throw "cannot bootstrap GHC on this platform")); or (throw "cannot bootstrap GHC on this platform"));
nativeBuildInputs = [ perl ]; nativeBuildInputs = [ perl ];
buildInputs = stdenv.lib.optionals stdenv.targetPlatform.isArm [ llvm_35 ]; buildInputs = stdenv.lib.optionals stdenv.targetPlatform.isAarch32 [ llvm_35 ];
# Cannot patchelf beforehand due to relative RPATHs that anticipate # Cannot patchelf beforehand due to relative RPATHs that anticipate
# the final install location/ # the final install location/

View file

@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
or (throw "cannot bootstrap GHC on this platform")); or (throw "cannot bootstrap GHC on this platform"));
nativeBuildInputs = [ perl ]; nativeBuildInputs = [ perl ];
buildInputs = stdenv.lib.optionals (stdenv.targetPlatform.isArm || stdenv.targetPlatform.isAarch64) [ llvm_39 ]; buildInputs = stdenv.lib.optionals (stdenv.targetPlatform.isAarch32 || stdenv.targetPlatform.isAarch64) [ llvm_39 ];
# Cannot patchelf beforehand due to relative RPATHs that anticipate # Cannot patchelf beforehand due to relative RPATHs that anticipate
# the final install location/ # the final install location/

View file

@ -26,7 +26,7 @@
enableShared ? enableShared ?
!(targetPlatform.isDarwin !(targetPlatform.isDarwin
# On iOS, dynamic linking is not supported # On iOS, dynamic linking is not supported
&& (targetPlatform.isAarch64 || targetPlatform.isArm)) && (targetPlatform.isAarch64 || targetPlatform.isAarch32))
, # Whether to backport https://phabricator.haskell.org/D4388 for , # Whether to backport https://phabricator.haskell.org/D4388 for
# deterministic profiling symbol names, at the cost of a slightly # deterministic profiling symbol names, at the cost of a slightly
# non-standard GHC API # non-standard GHC API
@ -109,7 +109,7 @@ stdenv.mkDerivation rec {
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isArm ".gold"}" export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}"
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
@ -138,7 +138,7 @@ stdenv.mkDerivation rec {
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot" "--enable-bootstrap-with-devel-snapshot"
] ++ stdenv.lib.optionals (targetPlatform.isArm) [ ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
"CFLAGS=-fuse-ld=gold" "CFLAGS=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"

View file

@ -106,7 +106,7 @@ stdenv.mkDerivation rec {
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isArm ".gold"}" export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}"
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
@ -138,7 +138,7 @@ stdenv.mkDerivation rec {
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot" "--enable-bootstrap-with-devel-snapshot"
] ++ stdenv.lib.optionals (targetPlatform.isArm) [ ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
"CFLAGS=-fuse-ld=gold" "CFLAGS=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"

View file

@ -91,7 +91,7 @@ stdenv.mkDerivation rec {
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isArm ".gold"}" export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}"
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
@ -120,7 +120,7 @@ stdenv.mkDerivation rec {
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot" "--enable-bootstrap-with-devel-snapshot"
] ++ stdenv.lib.optionals (targetPlatform.isArm) [ ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
"CFLAGS=-fuse-ld=gold" "CFLAGS=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"

View file

@ -93,7 +93,7 @@ stdenv.mkDerivation rec {
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isArm ".gold"}" export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}"
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
@ -125,7 +125,7 @@ stdenv.mkDerivation rec {
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot" "--enable-bootstrap-with-devel-snapshot"
] ++ stdenv.lib.optionals (targetPlatform.isArm) [ ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
"CFLAGS=-fuse-ld=gold" "CFLAGS=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"

View file

@ -85,7 +85,7 @@ stdenv.mkDerivation rec {
'' + optionalString stdenv.isLinux '' '' + optionalString stdenv.isLinux ''
sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go
'' + optionalString stdenv.isArm '' '' + optionalString stdenv.isAarch32 ''
sed -i '/TestCurrent/areturn' src/os/user/user_test.go sed -i '/TestCurrent/areturn' src/os/user/user_test.go
echo '#!${stdenv.shell}' > misc/cgo/testplugin/test.bash echo '#!${stdenv.shell}' > misc/cgo/testplugin/test.bash
'' + optionalString stdenv.isDarwin '' '' + optionalString stdenv.isDarwin ''
@ -130,7 +130,7 @@ stdenv.mkDerivation rec {
GOARCH = if stdenv.isDarwin then "amd64" GOARCH = if stdenv.isDarwin then "amd64"
else if stdenv.system == "i686-linux" then "386" else if stdenv.system == "i686-linux" then "386"
else if stdenv.system == "x86_64-linux" then "amd64" else if stdenv.system == "x86_64-linux" then "amd64"
else if stdenv.isArm then "arm" else if stdenv.isAarch32 then "arm"
else if stdenv.isAarch64 then "arm64" else if stdenv.isAarch64 then "arm64"
else throw "Unsupported system"; else throw "Unsupported system";
GOARM = optionalString (stdenv.system == "armv5tel-linux") "5"; GOARM = optionalString (stdenv.system == "armv5tel-linux") "5";

View file

@ -130,7 +130,7 @@ stdenv.mkDerivation rec {
GOARCH = if stdenv.isDarwin then "amd64" GOARCH = if stdenv.isDarwin then "amd64"
else if stdenv.system == "i686-linux" then "386" else if stdenv.system == "i686-linux" then "386"
else if stdenv.system == "x86_64-linux" then "amd64" else if stdenv.system == "x86_64-linux" then "amd64"
else if stdenv.isArm then "arm" else if stdenv.isAarch32 then "arm"
else throw "Unsupported system"; else throw "Unsupported system";
GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5"; GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5";
GO386 = 387; # from Arch: don't assume sse2 on i686 GO386 = 387; # from Arch: don't assume sse2 on i686

View file

@ -85,7 +85,7 @@ stdenv.mkDerivation rec {
'' + optionalString stdenv.isLinux '' '' + optionalString stdenv.isLinux ''
sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go
'' + optionalString stdenv.isArm '' '' + optionalString stdenv.isAarch32 ''
sed -i '/TestCurrent/areturn' src/os/user/user_test.go sed -i '/TestCurrent/areturn' src/os/user/user_test.go
echo '#!${stdenv.shell}' > misc/cgo/testplugin/test.bash echo '#!${stdenv.shell}' > misc/cgo/testplugin/test.bash
'' + optionalString stdenv.isDarwin '' '' + optionalString stdenv.isDarwin ''
@ -132,7 +132,7 @@ stdenv.mkDerivation rec {
GOARCH = if stdenv.isDarwin then "amd64" GOARCH = if stdenv.isDarwin then "amd64"
else if stdenv.system == "i686-linux" then "386" else if stdenv.system == "i686-linux" then "386"
else if stdenv.system == "x86_64-linux" then "amd64" else if stdenv.system == "x86_64-linux" then "amd64"
else if stdenv.isArm then "arm" else if stdenv.isAarch32 then "arm"
else if stdenv.isAarch64 then "arm64" else if stdenv.isAarch64 then "arm64"
else throw "Unsupported system"; else throw "Unsupported system";
GOARM = optionalString (stdenv.system == "armv5tel-linux") "5"; GOARM = optionalString (stdenv.system == "armv5tel-linux") "5";

View file

@ -1,7 +1,7 @@
{ stdenv, fetchurl, ncurses, xlibsWrapper }: { stdenv, fetchurl, ncurses, xlibsWrapper }:
let let
useX11 = !stdenv.isArm && !stdenv.isMips; useX11 = !stdenv.isAarch32 && !stdenv.isMips;
useNativeCompilers = !stdenv.isMips; useNativeCompilers = !stdenv.isMips;
inherit (stdenv.lib) optionals optionalString; inherit (stdenv.lib) optionals optionalString;
in in

View file

@ -1,7 +1,7 @@
{ stdenv, fetchurl, ncurses, xlibsWrapper }: { stdenv, fetchurl, ncurses, xlibsWrapper }:
let let
useX11 = !stdenv.isArm && !stdenv.isMips; useX11 = !stdenv.isAarch32 && !stdenv.isMips;
useNativeCompilers = !stdenv.isMips; useNativeCompilers = !stdenv.isMips;
inherit (stdenv.lib) optionals optionalString; inherit (stdenv.lib) optionals optionalString;
in in

View file

@ -7,7 +7,7 @@ let
real_url = if url == null then real_url = if url == null then
"http://caml.inria.fr/pub/distrib/ocaml-${versionNoPatch}/ocaml-${version}.tar.xz" "http://caml.inria.fr/pub/distrib/ocaml-${versionNoPatch}/ocaml-${version}.tar.xz"
else url; else url;
safeX11 = stdenv: !(stdenv.isArm || stdenv.isMips); safeX11 = stdenv: !(stdenv.isAarch32 || stdenv.isMips);
in in
{ stdenv, fetchurl, ncurses, buildEnv { stdenv, fetchurl, ncurses, buildEnv
@ -15,7 +15,7 @@ in
, flambdaSupport ? false , flambdaSupport ? false
}: }:
assert useX11 -> !stdenv.isArm && !stdenv.isMips; assert useX11 -> !stdenv.isAarch32 && !stdenv.isMips;
assert flambdaSupport -> stdenv.lib.versionAtLeast version "4.03"; assert flambdaSupport -> stdenv.lib.versionAtLeast version "4.03";
let let

View file

@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
--add-flags "--core $out/share/sbcl/sbcl.core" --add-flags "--core $out/share/sbcl/sbcl.core"
''; '';
postFixup = stdenv.lib.optionalString (!stdenv.isArm && stdenv.isLinux) '' postFixup = stdenv.lib.optionalString (!stdenv.isAarch32 && stdenv.isLinux) ''
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $out/share/sbcl/sbcl patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $out/share/sbcl/sbcl
''; '';

View file

@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
(setf features (remove x features)))) (setf features (remove x features))))
'' ''
+ (if threadSupport then "(enable :sb-thread)" else "(disable :sb-thread)") + (if threadSupport then "(enable :sb-thread)" else "(disable :sb-thread)")
+ stdenv.lib.optionalString stdenv.isArm "(enable :arm)" + stdenv.lib.optionalString stdenv.isAarch32 "(enable :arm)"
+ '' + ''
)) " > customize-target-features.lisp )) " > customize-target-features.lisp

View file

@ -932,11 +932,11 @@ self: super: {
JuicyPixels = dontHaddock super.JuicyPixels; JuicyPixels = dontHaddock super.JuicyPixels;
# aarch64 and armv7l fixes. # aarch64 and armv7l fixes.
happy = if (pkgs.stdenv.hostPlatform.isArm || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.happy else super.happy; # Similar to https://ghc.haskell.org/trac/ghc/ticket/13062 happy = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.happy else super.happy; # Similar to https://ghc.haskell.org/trac/ghc/ticket/13062
hashable = if (pkgs.stdenv.hostPlatform.isArm || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.hashable else super.hashable; # https://github.com/tibbe/hashable/issues/95 hashable = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.hashable else super.hashable; # https://github.com/tibbe/hashable/issues/95
servant-docs = if (pkgs.stdenv.hostPlatform.isArm || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.servant-docs else super.servant-docs; servant-docs = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.servant-docs else super.servant-docs;
servant-swagger = if (pkgs.stdenv.hostPlatform.isArm || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.servant-swagger else super.servant-swagger; servant-swagger = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.servant-swagger else super.servant-swagger;
swagger2 = if (pkgs.stdenv.hostPlatform.isArm || pkgs.stdenv.hostPlatform.isAarch64) then dontHaddock (dontCheck super.swagger2) else super.swagger2; swagger2 = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontHaddock (dontCheck super.swagger2) else super.swagger2;
# Tries to read a file it is not allowed to in the test suite # Tries to read a file it is not allowed to in the test suite
load-env = dontCheck super.load-env; load-env = dontCheck super.load-env;

View file

@ -136,7 +136,7 @@ let
(optionalString (enableSharedExecutables && stdenv.isDarwin) "--ghc-option=-optl=-Wl,-headerpad_max_install_names") (optionalString (enableSharedExecutables && stdenv.isDarwin) "--ghc-option=-optl=-Wl,-headerpad_max_install_names")
(optionalString enableParallelBuilding "--ghc-option=-j$NIX_BUILD_CORES") (optionalString enableParallelBuilding "--ghc-option=-j$NIX_BUILD_CORES")
(optionalString useCpphs "--with-cpphs=${cpphs}/bin/cpphs --ghc-options=-cpp --ghc-options=-pgmP${cpphs}/bin/cpphs --ghc-options=-optP--cpp") (optionalString useCpphs "--with-cpphs=${cpphs}/bin/cpphs --ghc-options=-cpp --ghc-options=-pgmP${cpphs}/bin/cpphs --ghc-options=-optP--cpp")
(enableFeature (enableDeadCodeElimination && !hostPlatform.isArm && !hostPlatform.isAarch64 && (versionAtLeast "8.0.1" ghc.version)) "split-objs") (enableFeature (enableDeadCodeElimination && !hostPlatform.isAarch32 && !hostPlatform.isAarch64 && (versionAtLeast "8.0.1" ghc.version)) "split-objs")
(enableFeature enableLibraryProfiling "library-profiling") (enableFeature enableLibraryProfiling "library-profiling")
(optionalString ((enableExecutableProfiling || enableLibraryProfiling) && versionOlder "8" ghc.version) "--profiling-detail=${profilingDetail}") (optionalString ((enableExecutableProfiling || enableLibraryProfiling) && versionOlder "8" ghc.version) "--profiling-detail=${profilingDetail}")
(enableFeature enableExecutableProfiling (if versionOlder ghc.version "8" then "executable-profiling" else "profiling")) (enableFeature enableExecutableProfiling (if versionOlder ghc.version "8" then "executable-profiling" else "profiling"))

View file

@ -86,7 +86,7 @@ let
preConfigure = optionalString (!crossCompiling) '' preConfigure = optionalString (!crossCompiling) ''
configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3" configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3"
'' + optionalString (stdenv.isArm || stdenv.isMips) '' '' + optionalString (stdenv.isAarch32 || stdenv.isMips) ''
configureFlagsArray=(-Dldflags="-lm -lrt") configureFlagsArray=(-Dldflags="-lm -lrt")
'' + optionalString stdenv.isDarwin '' '' + optionalString stdenv.isDarwin ''
substituteInPlace hints/darwin.sh --replace "env MACOSX_DEPLOYMENT_TARGET=10.3" "" substituteInPlace hints/darwin.sh --replace "env MACOSX_DEPLOYMENT_TARGET=10.3" ""

View file

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "1k3x6mvk9b34iiyml142bzh3gf241f25ywjlaagbxzb9vklpws75"; sha256 = "1k3x6mvk9b34iiyml142bzh3gf241f25ywjlaagbxzb9vklpws75";
}; };
buildInputs = optional stdenv.is64bit jdk; buildInputs = optional stdenv.is64bit jdk;
patchPhase = optionalString stdenv.isArm '' patchPhase = optionalString stdenv.isAarch32 ''
sed -i s/-m32//g Makefile sed -i s/-m32//g Makefile
cat >>Makefile <<EOF cat >>Makefile <<EOF
ext.o: ext.c ext.o: ext.c

View file

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ nspr ]; propagatedBuildInputs = [ nspr ];
nativeBuildInputs = [ pkgconfig ] ++ lib.optional stdenv.isArm autoconf213; nativeBuildInputs = [ pkgconfig ] ++ lib.optional stdenv.isAarch32 autoconf213;
buildInputs = [ perl python2 zip ]; buildInputs = [ perl python2 zip ];
postUnpack = "sourceRoot=\${sourceRoot}/js/src"; postUnpack = "sourceRoot=\${sourceRoot}/js/src";
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
preConfigure = '' preConfigure = ''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr" export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr"
export LIBXUL_DIST=$out export LIBXUL_DIST=$out
${lib.optionalString stdenv.isArm "autoreconf --verbose --force"} ${lib.optionalString stdenv.isAarch32 "autoreconf --verbose --force"}
''; '';
patches = [ patches = [
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
url = "https://anonscm.debian.org/cgit/collab-maint/mozjs.git/plain/debian/patches/fix-811665.patch?id=00b15c7841968ab4f7fec409a6b93fa5e1e1d32e"; url = "https://anonscm.debian.org/cgit/collab-maint/mozjs.git/plain/debian/patches/fix-811665.patch?id=00b15c7841968ab4f7fec409a6b93fa5e1e1d32e";
sha256 = "1q8477xqxiy5d8376k5902l45gd0qkd4nxmhl8vr6rr1pxfcny99"; sha256 = "1q8477xqxiy5d8376k5902l45gd0qkd4nxmhl8vr6rr1pxfcny99";
}) })
] ++ stdenv.lib.optionals stdenv.isArm [ ] ++ stdenv.lib.optionals stdenv.isAarch32 [
# Explained below in configureFlags for ARM # Explained below in configureFlags for ARM
./1.8.5-findvanilla.patch ./1.8.5-findvanilla.patch
# Fix for hard float flags. # Fix for hard float flags.
@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
# hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393 # hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393
preBuild = '' preBuild = ''
touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl} touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}
${if stdenv.isArm then "rm -r jit-test/tests/jaeger/bug563000" else ""} ${if stdenv.isAarch32 then "rm -r jit-test/tests/jaeger/bug563000" else ""}
''; '';
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -7,8 +7,8 @@
# Build options # Build options
, runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime , runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime
, multithreadBuild ? true # Multithreading via pthreads/win32 threads , multithreadBuild ? true # Multithreading via pthreads/win32 threads
, sdlSupport ? !stdenv.isArm, SDL ? null, SDL2 ? null , sdlSupport ? !stdenv.isAarch32, SDL ? null, SDL2 ? null
, vdpauSupport ? !stdenv.isArm, libvdpau ? null , vdpauSupport ? !stdenv.isAarch32, libvdpau ? null
# Developer options # Developer options
, debugDeveloper ? false , debugDeveloper ? false
, optimizationsDeveloper ? true , optimizationsDeveloper ? true
@ -42,7 +42,7 @@
*/ */
let let
inherit (stdenv) icCygwin isDarwin isFreeBSD isLinux isArm; inherit (stdenv) icCygwin isDarwin isFreeBSD isLinux isAarch32;
inherit (stdenv.lib) optional optionals enableFeature; inherit (stdenv.lib) optional optionals enableFeature;
cmpVer = builtins.compareVersions; cmpVer = builtins.compareVersions;
@ -55,9 +55,9 @@ let
verFix = withoutFix: fixVer: withFix: if reqMatch fixVer then withFix else withoutFix; verFix = withoutFix: fixVer: withFix: if reqMatch fixVer then withFix else withoutFix;
# Disable dependency that needs fixes before it will work on Darwin or Arm # Disable dependency that needs fixes before it will work on Darwin or Arm
disDarwinOrArmFix = origArg: minVer: fixArg: if ((isDarwin || isArm) && reqMin minVer) then fixArg else origArg; disDarwinOrArmFix = origArg: minVer: fixArg: if ((isDarwin || isAarch32) && reqMin minVer) then fixArg else origArg;
vaapiSupport = reqMin "0.6" && ((isLinux || isFreeBSD) && !isArm); vaapiSupport = reqMin "0.6" && ((isLinux || isFreeBSD) && !isAarch32);
in in
assert openglSupport -> libGLU_combined != null; assert openglSupport -> libGLU_combined != null;
@ -153,8 +153,8 @@ stdenv.mkDerivation rec {
bzip2 fontconfig freetype gnutls libiconv lame libass libogg libtheora bzip2 fontconfig freetype gnutls libiconv lame libass libogg libtheora
libvdpau libvorbis lzma soxr x264 x265 xvidcore zlib libopus libvdpau libvorbis lzma soxr x264 x265 xvidcore zlib libopus
] ++ optional openglSupport libGLU_combined ] ++ optional openglSupport libGLU_combined
++ optionals (!isDarwin && !isArm) [ libvpx libpulseaudio ] # Need to be fixed on Darwin and ARM ++ optionals (!isDarwin && !isAarch32) [ libvpx libpulseaudio ] # Need to be fixed on Darwin and ARM
++ optional ((isLinux || isFreeBSD) && !isArm) libva ++ optional ((isLinux || isFreeBSD) && !isAarch32) libva
++ optional isLinux alsaLib ++ optional isLinux alsaLib
++ optionals isDarwin darwinFrameworks ++ optionals isDarwin darwinFrameworks
++ optional vdpauSupport libvdpau ++ optional vdpauSupport libvdpau

View file

@ -52,7 +52,7 @@ in stdenv.mkDerivation rec {
configureFlags = [ "--disable-static" "--bindir=$(dev)/bin" ]; configureFlags = [ "--disable-static" "--bindir=$(dev)/bin" ];
# The asm for armel is written with the 'asm' keyword. # The asm for armel is written with the 'asm' keyword.
CFLAGS = optionalString stdenv.isArm "-std=gnu99"; CFLAGS = optionalString stdenv.isAarch32 "-std=gnu99";
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -127,7 +127,7 @@ stdenv.mkDerivation ({
(if cross ? float && cross.float == "soft" then "--without-fp" else "--with-fp") (if cross ? float && cross.float == "soft" then "--without-fp" else "--with-fp")
] ++ lib.optionals (cross != null) [ ] ++ lib.optionals (cross != null) [
"--with-__thread" "--with-__thread"
] ++ lib.optionals (cross == null && stdenv.isArm) [ ] ++ lib.optionals (cross == null && stdenv.isAarch32) [
"--host=arm-linux-gnueabi" "--host=arm-linux-gnueabi"
"--build=arm-linux-gnueabi" "--build=arm-linux-gnueabi"

View file

@ -37,7 +37,7 @@ let self = stdenv.mkDerivation rec {
# The config.guess in GMP tries to runtime-detect various # The config.guess in GMP tries to runtime-detect various
# ARM optimization flags via /proc/cpuinfo (and is also # ARM optimization flags via /proc/cpuinfo (and is also
# broken on multicore CPUs). Avoid this impurity. # broken on multicore CPUs). Avoid this impurity.
preConfigure = optionalString stdenv.isArm '' preConfigure = optionalString stdenv.isAarch32 ''
configureFlagsArray+=("--build=$(./configfsf.guess)") configureFlagsArray+=("--build=$(./configfsf.guess)")
''; '';

View file

@ -38,7 +38,7 @@ let self = stdenv.mkDerivation rec {
# The config.guess in GMP tries to runtime-detect various # The config.guess in GMP tries to runtime-detect various
# ARM optimization flags via /proc/cpuinfo (and is also # ARM optimization flags via /proc/cpuinfo (and is also
# broken on multicore CPUs). Avoid this impurity. # broken on multicore CPUs). Avoid this impurity.
preConfigure = optionalString stdenv.isArm '' preConfigure = optionalString stdenv.isAarch32 ''
configureFlagsArray+=("--build=$(./configfsf.guess)") configureFlagsArray+=("--build=$(./configfsf.guess)")
''; '';

View file

@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
"AR=${stdenv.cc.targetPrefix}ar" "AR=${stdenv.cc.targetPrefix}ar"
"RANLIB=${stdenv.cc.targetPrefix}ranlib" "RANLIB=${stdenv.cc.targetPrefix}ranlib"
"OBJCOPY=${stdenv.cc.targetPrefix}objcopy" "OBJCOPY=${stdenv.cc.targetPrefix}objcopy"
] ++ stdenv.lib.optional stdenv.isArm "ARCH=arm" ] ++ stdenv.lib.optional stdenv.isAarch32 "ARCH=arm"
++ stdenv.lib.optional stdenv.isAarch64 "ARCH=aarch64"; ++ stdenv.lib.optional stdenv.isAarch64 "ARCH=aarch64";
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -31,7 +31,7 @@ let
# $(includedir) is different from $(prefix)/include due to multiple outputs # $(includedir) is different from $(prefix)/include due to multiple outputs
sed -i -e 's|^\(CPPFLAGS = .*\) -I\$(prefix)/include|\1 -I$(includedir)|' config/Makefile.inc.in sed -i -e 's|^\(CPPFLAGS = .*\) -I\$(prefix)/include|\1 -I$(includedir)|' config/Makefile.inc.in
'' + stdenv.lib.optionalString stdenv.isArm '' '' + stdenv.lib.optionalString stdenv.isAarch32 ''
# From https://archlinuxarm.org/packages/armv7h/icu/files/icudata-stdlibs.patch # From https://archlinuxarm.org/packages/armv7h/icu/files/icudata-stdlibs.patch
sed -e 's/LDFLAGSICUDT=-nodefaultlibs -nostdlib/LDFLAGSICUDT=/' -i config/mh-linux sed -e 's/LDFLAGSICUDT=-nodefaultlibs -nostdlib/LDFLAGSICUDT=/' -i config/mh-linux
''; '';

View file

@ -16,7 +16,7 @@ stdenv.mkDerivation (rec {
# jemalloc is unable to correctly detect transparent hugepage support on # jemalloc is unable to correctly detect transparent hugepage support on
# ARM (https://github.com/jemalloc/jemalloc/issues/526), and the default # ARM (https://github.com/jemalloc/jemalloc/issues/526), and the default
# kernel ARMv6/7 kernel does not enable it, so we explicitly disable support # kernel ARMv6/7 kernel does not enable it, so we explicitly disable support
++ stdenv.lib.optional stdenv.isArm "--disable-thp"; ++ stdenv.lib.optional stdenv.isAarch32 "--disable-thp";
doCheck = true; doCheck = true;
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
"echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache"; "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache";
configureFlags = [ "--enable-install-test-programs" ] configureFlags = [ "--enable-install-test-programs" ]
++ stdenv.lib.optionals (stdenv.isArm || stdenv.isAarch64) ++ stdenv.lib.optionals (stdenv.isAarch32 || stdenv.isAarch64)
[ "--enable-tegra-experimental-api" "--enable-etnaviv-experimental-api" ] [ "--enable-tegra-experimental-api" "--enable-etnaviv-experimental-api" ]
++ stdenv.lib.optional stdenv.isDarwin "-C"; ++ stdenv.lib.optional stdenv.isDarwin "-C";

View file

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
libsodium libmsgpack ncurses libconfig libsodium libmsgpack ncurses libconfig
] ++ stdenv.lib.optionals (!stdenv.isArm) [ ] ++ stdenv.lib.optionals (!stdenv.isAarch32) [
libopus libopus
libvpx libvpx
]; ];

View file

@ -33,11 +33,11 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook pkgconfig ]; nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ buildInputs = [
autoreconfHook libsodium ncurses check libconfig autoreconfHook libsodium ncurses check libconfig
] ++ stdenv.lib.optionals (!stdenv.isArm) [ ] ++ stdenv.lib.optionals (!stdenv.isAarch32) [
libopus libopus
]; ];
propagatedBuildInputs = stdenv.lib.optionals (!stdenv.isArm) [ libvpx ]; propagatedBuildInputs = stdenv.lib.optionals (!stdenv.isAarch32) [ libvpx ];
# Some tests fail randomly due to timeout. This kind of problem is well known # Some tests fail randomly due to timeout. This kind of problem is well known
# by upstream: https://github.com/irungentoo/toxcore/issues/{950,1054} # by upstream: https://github.com/irungentoo/toxcore/issues/{950,1054}

View file

@ -41,7 +41,7 @@
}: }:
let let
inherit (stdenv) isi686 isx86_64 isArm is64bit isMips isDarwin isCygwin; inherit (stdenv) isi686 isx86_64 isAarch32 is64bit isMips isDarwin isCygwin;
inherit (stdenv.lib) enableFeature optional optionals; inherit (stdenv.lib) enableFeature optional optionals;
in in

View file

@ -43,11 +43,11 @@
}: }:
let let
inherit (stdenv) isi686 isx86_64 isArm is64bit isMips isDarwin isCygwin; inherit (stdenv) isi686 isx86_64 isAarch32 is64bit isMips isDarwin isCygwin;
inherit (stdenv.lib) enableFeature optional optionals; inherit (stdenv.lib) enableFeature optional optionals;
in in
assert isi686 || isx86_64 || isArm || isMips; # Requires ARM with floating point support assert isi686 || isx86_64 || isAarch32 || isMips; # Requires ARM with floating point support
assert vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport; assert vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport;
assert internalStatsSupport && (vp9DecoderSupport || vp9EncoderSupport) -> postprocSupport; assert internalStatsSupport && (vp9DecoderSupport || vp9EncoderSupport) -> postprocSupport;

View file

@ -33,17 +33,17 @@ else
let let
defaultGalliumDrivers = defaultGalliumDrivers =
if stdenv.isArm if stdenv.isAarch32
then ["nouveau" "freedreno" "vc4" "etnaviv" "imx"] then ["nouveau" "freedreno" "vc4" "etnaviv" "imx"]
else if stdenv.isAarch64 else if stdenv.isAarch64
then ["nouveau" "vc4" ] then ["nouveau" "vc4" ]
else ["svga" "i915" "r300" "r600" "radeonsi" "nouveau"]; else ["svga" "i915" "r300" "r600" "radeonsi" "nouveau"];
defaultDriDrivers = defaultDriDrivers =
if (stdenv.isArm || stdenv.isAarch64) if (stdenv.isAarch32 || stdenv.isAarch64)
then ["nouveau"] then ["nouveau"]
else ["i915" "i965" "nouveau" "radeon" "r200"]; else ["i915" "i965" "nouveau" "radeon" "r200"];
defaultVulkanDrivers = defaultVulkanDrivers =
if (stdenv.isArm || stdenv.isAarch64) if (stdenv.isAarch32 || stdenv.isAarch64)
then [] then []
else ["intel"] ++ lib.optional enableRadv "radeon"; else ["intel"] ++ lib.optional enableRadv "radeon";
in in

View file

@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
buildInputs = stdenv.lib.optional doCheck libpng; buildInputs = stdenv.lib.optional doCheck libpng;
configureFlags = stdenv.lib.optional stdenv.isArm "--disable-arm-iwmmxt"; configureFlags = stdenv.lib.optional stdenv.isAarch32 "--disable-arm-iwmmxt";
doCheck = true; doCheck = true;

View file

@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "0ckjqw5kz5m30srqi87idj7xhpw6bpki43mj07bazjm2qmh3cdbj"; sha256 = "0ckjqw5kz5m30srqi87idj7xhpw6bpki43mj07bazjm2qmh3cdbj";
}; };
preConfigure = stdenv.lib.optionalString stdenv.isArm '' preConfigure = stdenv.lib.optionalString stdenv.isAarch32 ''
configureFlagsArray=("CFLAGS=-DJB_SP=8 -DJB_PC=9") configureFlagsArray=("CFLAGS=-DJB_SP=8 -DJB_PC=9")
''; '';

View file

@ -3,10 +3,10 @@
assert readline != null; assert readline != null;
let let
arch = if stdenv.isArm arch = if stdenv.isAarch32
then (if stdenv.is64bit then "arm64" else "arm") then (if stdenv.is64bit then "arm64" else "arm")
else (if stdenv.is64bit then "x64" else "ia32"); else (if stdenv.is64bit then "x64" else "ia32");
armHardFloat = stdenv.isArm && (stdenv.platform.gcc.float or null) == "hard"; armHardFloat = stdenv.isAarch32 && (stdenv.platform.gcc.float or null) == "hard";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {

View file

@ -4,7 +4,7 @@
}: }:
let let
arch = if stdenv.isArm arch = if stdenv.isAarch32
then if stdenv.is64bit then if stdenv.is64bit
then"arm64" then"arm64"
else "arm" else "arm"

View file

@ -10,7 +10,7 @@ let
arch = if stdenv.isx86_64 then "x64" arch = if stdenv.isx86_64 then "x64"
else if stdenv.isi686 then "ia32" else if stdenv.isi686 then "ia32"
else if stdenv.isAarch64 then "arm64" else if stdenv.isAarch64 then "arm64"
else if stdenv.isArm then "arm" else if stdenv.isAarch32 then "arm"
else throw "Unknown architecture for v8"; else throw "Unknown architecture for v8";
git_url = "https://chromium.googlesource.com"; git_url = "https://chromium.googlesource.com";
clangFlag = if stdenv.isDarwin then "1" else "0"; clangFlag = if stdenv.isDarwin then "1" else "0";

View file

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
# Avoid this error: # Avoid this error:
# signal_processing/filter_ar_fast_q12_armv7.S:88: Error: selected processor does not support `sbfx r11,r6,#12,#16' in ARM mode # signal_processing/filter_ar_fast_q12_armv7.S:88: Error: selected processor does not support `sbfx r11,r6,#12,#16' in ARM mode
patchPhase = stdenv.lib.optionalString stdenv.isArm '' patchPhase = stdenv.lib.optionalString stdenv.isAarch32 ''
substituteInPlace configure --replace 'armv7*|armv8*' 'disabled' substituteInPlace configure --replace 'armv7*|armv8*' 'disabled'
'' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
substituteInPlace webrtc/base/checks.cc --replace 'defined(__UCLIBC__)' 1 substituteInPlace webrtc/base/checks.cc --replace 'defined(__UCLIBC__)' 1

View file

@ -100,7 +100,7 @@ stdenv.mkDerivation rec {
# TODO(@Ericson2314): Always pass "--target" and always targetPrefix. # TODO(@Ericson2314): Always pass "--target" and always targetPrefix.
configurePlatforms = configurePlatforms =
# TODO(@Ericson2314): Figure out what's going wrong with Arm # TODO(@Ericson2314): Figure out what's going wrong with Arm
if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isArm if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isAarch32
then [] then []
else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";

View file

@ -38,14 +38,14 @@ in stdenv.mkDerivation {
# /nix/store/wd6r25miqbk9ia53pp669gn4wrg9n9cj-gcc-7.3.0/include/c++/7.3.0/bits/vector.tcc:394:7: note: parameter passing for argument of type 'std::vector<uhd::range_t>::iterator {aka __gnu_cxx::__normal_iterator<uhd::range_t*, std::vector<uhd::range_t> >}' changed in GCC 7.1 # /nix/store/wd6r25miqbk9ia53pp669gn4wrg9n9cj-gcc-7.3.0/include/c++/7.3.0/bits/vector.tcc:394:7: note: parameter passing for argument of type 'std::vector<uhd::range_t>::iterator {aka __gnu_cxx::__normal_iterator<uhd::range_t*, std::vector<uhd::range_t> >}' changed in GCC 7.1
cmakeFlags = [ "-DLIBUSB_INCLUDE_DIRS=${libusb1.dev}/include/libusb-1.0"] ++ cmakeFlags = [ "-DLIBUSB_INCLUDE_DIRS=${libusb1.dev}/include/libusb-1.0"] ++
[ (stdenv.lib.optionalString stdenv.isArm "-DCMAKE_CXX_FLAGS=-Wno-psabi") ]; [ (stdenv.lib.optionalString stdenv.isAarch32 "-DCMAKE_CXX_FLAGS=-Wno-psabi") ];
nativeBuildInputs = [ cmake pkgconfig ]; nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ python pythonPackages.pyramid_mako orc libusb1 boost ]; buildInputs = [ python pythonPackages.pyramid_mako orc libusb1 boost ];
# Build only the host software # Build only the host software
preConfigure = "cd host"; preConfigure = "cd host";
patches = if stdenv.isArm then ./neon.patch else null; patches = if stdenv.isAarch32 then ./neon.patch else null;
postPhases = [ "installFirmware" ]; postPhases = [ "installFirmware" ];

View file

@ -11,7 +11,7 @@ appleDerivation rec {
apple_sdk.frameworks.IOKit openbsm ]; apple_sdk.frameworks.IOKit openbsm ];
# NIX_CFLAGS_COMPILE = lib.optionalString hostPlatform.isi686 "-D__i386__" # NIX_CFLAGS_COMPILE = lib.optionalString hostPlatform.isi686 "-D__i386__"
# + lib.optionalString hostPlatform.isx86_64 "-D__x86_64__" # + lib.optionalString hostPlatform.isx86_64 "-D__x86_64__"
# + lib.optionalString hostPlatform.isArm "-D__arm__"; # + lib.optionalString hostPlatform.isAarch32 "-D__arm__";
NIX_CFLAGS_COMPILE = [ "-DDAEMON_UID=1" NIX_CFLAGS_COMPILE = [ "-DDAEMON_UID=1"
"-DDAEMON_GID=1" "-DDAEMON_GID=1"
"-DDEFAULT_AT_QUEUE=\'a\'" "-DDEFAULT_AT_QUEUE=\'a\'"

View file

@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
# We get a warning in armv5tel-linux and the fuloong2f, so we # We get a warning in armv5tel-linux and the fuloong2f, so we
# disable -Werror in it. # disable -Werror in it.
${stdenv.lib.optionalString (stdenv.isArm || stdenv.hostPlatform.isMips) '' ${stdenv.lib.optionalString (stdenv.isAarch32 || stdenv.hostPlatform.isMips) ''
sed -i s/-Werror// src/Makefile.am sed -i s/-Werror// src/Makefile.am
''} ''}
''; '';

View file

@ -355,7 +355,7 @@ with stdenv.lib;
SECURITY_SELINUX_BOOTPARAM_VALUE 0 # Disable SELinux by default SECURITY_SELINUX_BOOTPARAM_VALUE 0 # Disable SELinux by default
SECURITY_YAMA? y # Prevent processes from ptracing non-children processes SECURITY_YAMA? y # Prevent processes from ptracing non-children processes
DEVKMEM n # Disable /dev/kmem DEVKMEM n # Disable /dev/kmem
${optionalString (! stdenv.hostPlatform.isArm) ${optionalString (! stdenv.hostPlatform.isAarch32)
(if versionOlder version "3.14" then '' (if versionOlder version "3.14" then ''
CC_STACKPROTECTOR? y # Detect buffer overflows on the stack CC_STACKPROTECTOR? y # Detect buffer overflows on the stack
'' else '' '' else ''

View file

@ -79,7 +79,7 @@ in stdenv.mkDerivation rec {
"-Dsystem-gid-max=499" "-Dsystem-gid-max=499"
# "-Dtime-epoch=1" # "-Dtime-epoch=1"
(if stdenv.isArm || stdenv.isAarch64 || !hostPlatform.isEfi then "-Dgnu-efi=false" else "-Dgnu-efi=true") (if stdenv.isAarch32 || stdenv.isAarch64 || !hostPlatform.isEfi then "-Dgnu-efi=false" else "-Dgnu-efi=true")
"-Defi-libdir=${toString gnu-efi}/lib" "-Defi-libdir=${toString gnu-efi}/lib"
"-Defi-includedir=${toString gnu-efi}/include/efi" "-Defi-includedir=${toString gnu-efi}/include/efi"
"-Defi-ldsdir=${toString gnu-efi}/lib" "-Defi-ldsdir=${toString gnu-efi}/lib"

View file

@ -43,7 +43,7 @@ let
UCLIBC_SUSV4_LEGACY y UCLIBC_SUSV4_LEGACY y
UCLIBC_HAS_THREADS_NATIVE y UCLIBC_HAS_THREADS_NATIVE y
KERNEL_HEADERS "${linuxHeaders}/include" KERNEL_HEADERS "${linuxHeaders}/include"
'' + stdenv.lib.optionalString (stdenv.isArm && cross == null) '' '' + stdenv.lib.optionalString (stdenv.isAarch32 && cross == null) ''
CONFIG_ARM_EABI y CONFIG_ARM_EABI y
ARCH_WANTS_BIG_ENDIAN n ARCH_WANTS_BIG_ENDIAN n
ARCH_BIG_ENDIAN n ARCH_BIG_ENDIAN n

View file

@ -123,7 +123,7 @@ everything = stdenv.mkDerivation (common // {
buildInputs = common.buildInputs ++ [ buildInputs = common.buildInputs ++ [
xz lzo lz4 bzip2 snappy xz lzo lz4 bzip2 snappy
libxml2 boost judy libevent cracklib libxml2 boost judy libevent cracklib
] ++ optional (stdenv.isLinux && !stdenv.isArm) numactl; ] ++ optional (stdenv.isLinux && !stdenv.isAarch32) numactl;
cmakeFlags = common.cmakeFlags ++ [ cmakeFlags = common.cmakeFlags ++ [
"-DMYSQL_DATADIR=/var/lib/mysql" "-DMYSQL_DATADIR=/var/lib/mysql"

View file

@ -117,7 +117,7 @@ let
# Utility flags to test the type of platform. # Utility flags to test the type of platform.
inherit (hostPlatform) inherit (hostPlatform)
isDarwin isLinux isSunOS isHurd isCygwin isFreeBSD isOpenBSD isDarwin isLinux isSunOS isHurd isCygwin isFreeBSD isOpenBSD
isi686 isx86_64 is64bit isArm isAarch64 isMips isBigEndian; isi686 isx86_64 is64bit isAarch32 isAarch64 isMips isBigEndian;
# Whether we should run paxctl to pax-mark binaries. # Whether we should run paxctl to pax-mark binaries.
needsPax = isLinux; needsPax = isLinux;

View file

@ -16,7 +16,7 @@ stdenv.mkDerivation {
stdenv.lib.optional stdenv.isLinux utillinux; stdenv.lib.optional stdenv.isLinux utillinux;
buildPhase = buildPhase =
stdenv.lib.optionalString stdenv.isArm "Seccomp_NO=1 " stdenv.lib.optionalString stdenv.isAarch32 "Seccomp_NO=1 "
+ "bash do"; + "bash do";
installPhase = '' installPhase = ''
install -Dt "$out/bin/" cjdroute makekeys privatetopublic publictoip6 install -Dt "$out/bin/" cjdroute makekeys privatetopublic publictoip6

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, fetchgit, go }: { stdenv, fetchurl, fetchgit, go }:
assert stdenv.isLinux && (stdenv.isi686 || stdenv.isx86_64 || stdenv.isArm); assert stdenv.isLinux && (stdenv.isi686 || stdenv.isx86_64 || stdenv.isAarch32);
let let

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, fetchhg, go, sqlite}: { stdenv, fetchurl, fetchhg, go, sqlite}:
assert stdenv.isLinux && (stdenv.isi686 || stdenv.isx86_64 || stdenv.isArm); assert stdenv.isLinux && (stdenv.isi686 || stdenv.isx86_64 || stdenv.isAarch32);
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "storebrowse-20130318212204"; name = "storebrowse-20130318212204";

View file

@ -6471,12 +6471,12 @@ with pkgs;
openjdk = openjdk8; openjdk = openjdk8;
jdk8 = if stdenv.isArm || stdenv.isAarch64 then oraclejdk8 else openjdk8 // { outputs = [ "out" ]; }; jdk8 = if stdenv.isAarch32 || stdenv.isAarch64 then oraclejdk8 else openjdk8 // { outputs = [ "out" ]; };
jre8 = if stdenv.isArm || stdenv.isAarch64 then oraclejre8 else lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}" jre8 = if stdenv.isAarch32 || stdenv.isAarch64 then oraclejre8 else lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}"
(lib.addMetaAttrs { outputsToInstall = [ "jre" ]; } (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
(openjdk8.jre // { outputs = [ "jre" ]; })); (openjdk8.jre // { outputs = [ "jre" ]; }));
jre8_headless = jre8_headless =
if stdenv.isArm || stdenv.isAarch64 then if stdenv.isAarch32 || stdenv.isAarch64 then
oraclejre8 oraclejre8
else if stdenv.isDarwin then else if stdenv.isDarwin then
jre8 jre8
@ -6485,12 +6485,12 @@ with pkgs;
(lib.addMetaAttrs { outputsToInstall = [ "jre" ]; } (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
((openjdk8.override { minimal = true; }).jre // { outputs = [ "jre" ]; })); ((openjdk8.override { minimal = true; }).jre // { outputs = [ "jre" ]; }));
jdk10 = if stdenv.isArm || stdenv.isAarch64 then oraclejdk10 else openjdk10 // { outputs = [ "out" ]; }; jdk10 = if stdenv.isAarch32 || stdenv.isAarch64 then oraclejdk10 else openjdk10 // { outputs = [ "out" ]; };
jre10 = if stdenv.isArm || stdenv.isAarch64 then oraclejre10 else lib.setName "openjre-${lib.getVersion pkgs.openjdk10.jre}" jre10 = if stdenv.isAarch32 || stdenv.isAarch64 then oraclejre10 else lib.setName "openjre-${lib.getVersion pkgs.openjdk10.jre}"
(lib.addMetaAttrs { outputsToInstall = [ "jre" ]; } (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
(openjdk10.jre // { outputs = [ "jre" ]; })); (openjdk10.jre // { outputs = [ "jre" ]; }));
jre10_headless = jre10_headless =
if stdenv.isArm || stdenv.isAarch64 then if stdenv.isAarch32 || stdenv.isAarch64 then
oraclejre10 oraclejre10
else if stdenv.isDarwin then else if stdenv.isDarwin then
jre10 jre10
@ -9247,7 +9247,7 @@ with pkgs;
cairo = callPackage ../development/libraries/cairo { cairo = callPackage ../development/libraries/cairo {
glSupport = config.cairo.gl or (stdenv.isLinux && glSupport = config.cairo.gl or (stdenv.isLinux &&
!stdenv.isArm && !stdenv.isMips); !stdenv.isAarch32 && !stdenv.isMips);
}; };