From bdb500ace1fdc02ab754c58302583e9c4f8ec17f Mon Sep 17 00:00:00 2001 From: bl0v3 Date: Mon, 5 Aug 2024 12:30:26 +0200 Subject: [PATCH 1/3] bintools-wrapper: add dynamicLinker for s390x --- pkgs/build-support/bintools-wrapper/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 215dd0f39cd7..7fe0762090c5 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -120,6 +120,7 @@ let else if targetPlatform.libc == "nblibc" then "${sharedLibraryLoader}/libexec/ld.elf_so" else if targetPlatform.system == "i686-linux" then "${sharedLibraryLoader}/lib/ld-linux.so.2" else if targetPlatform.system == "x86_64-linux" then "${sharedLibraryLoader}/lib/ld-linux-x86-64.so.2" + else if targetPlatform.system == "s390x-linux" then "${sharedLibraryLoader}/lib/ld64.so.1" # ELFv1 (.1) or ELFv2 (.2) ABI else if targetPlatform.isPower64 then "${sharedLibraryLoader}/lib/ld64.so.*" # ARM with a wildcard, which can be "" or "-armhf". From 313fc26d22d34e0dfb9c0922b3a687d03452199f Mon Sep 17 00:00:00 2001 From: bl0v3 Date: Mon, 5 Aug 2024 13:02:00 +0200 Subject: [PATCH 2/3] maintainers/scripts/bootstrap-files: Add s390x to CROSS_TARGETS --- maintainers/scripts/bootstrap-files/refresh-tarballs.bash | 1 + 1 file changed, 1 insertion(+) diff --git a/maintainers/scripts/bootstrap-files/refresh-tarballs.bash b/maintainers/scripts/bootstrap-files/refresh-tarballs.bash index eb4aa1667cd7..87731089a9dd 100755 --- a/maintainers/scripts/bootstrap-files/refresh-tarballs.bash +++ b/maintainers/scripts/bootstrap-files/refresh-tarballs.bash @@ -95,6 +95,7 @@ CROSS_TARGETS=( powerpc64-unknown-linux-gnuabielfv2 powerpc64le-unknown-linux-gnu riscv64-unknown-linux-gnu + s390x-unknown-linux-gnu x86_64-unknown-freebsd ) From 398058603f13a57ca0ed891e81dcf6d39b9a9e05 Mon Sep 17 00:00:00 2001 From: bl0v3 Date: Mon, 5 Aug 2024 13:04:20 +0200 Subject: [PATCH 3/3] stdenv: add bootstrap files for s390x --- .../s390x-unknown-linux-gnu.nix | 21 +++++++++++++++++++ pkgs/stdenv/linux/default.nix | 1 + 2 files changed, 22 insertions(+) create mode 100644 pkgs/stdenv/linux/bootstrap-files/s390x-unknown-linux-gnu.nix diff --git a/pkgs/stdenv/linux/bootstrap-files/s390x-unknown-linux-gnu.nix b/pkgs/stdenv/linux/bootstrap-files/s390x-unknown-linux-gnu.nix new file mode 100644 index 000000000000..6c9501b33257 --- /dev/null +++ b/pkgs/stdenv/linux/bootstrap-files/s390x-unknown-linux-gnu.nix @@ -0,0 +1,21 @@ +# Autogenerated by maintainers/scripts/bootstrap-files/refresh-tarballs.bash as: +# $ ./refresh-tarballs.bash --targets=s390x-unknown-linux-gnu +# +# Metadata: +# - nixpkgs revision: 8ba481d65eb21a4f9e6b1e812de3f83079eb8016 +# - hydra build: https://hydra.nixos.org/job/nixpkgs/cross-trunk/bootstrapTools.s390x-unknown-linux-gnu.build/latest +# - resolved hydra build: https://hydra.nixos.org/build/267960435 +# - instantiated derivation: /nix/store/hqmllvbilxslp393ci4lkj66psh5iv6a-stdenv-bootstrap-tools-s390x-unknown-linux-gnu.drv +# - output directory: /nix/store/wnr3zf16ci8ajxnv0v6w3dn8lm93gp5z-stdenv-bootstrap-tools-s390x-unknown-linux-gnu +# - build time: Sun, 28 Jul 2024 14:47:36 +0000 +{ + bootstrapTools = import { + url = "http://tarballs.nixos.org/stdenv/s390x-unknown-linux-gnu/8ba481d65eb21a4f9e6b1e812de3f83079eb8016/bootstrap-tools.tar.xz"; + hash = "sha256-fuKIRXznA8hU8uGpxldAUNvuJBZ/xiyJUByNbpBCaH8="; + }; + busybox = import { + url = "http://tarballs.nixos.org/stdenv/s390x-unknown-linux-gnu/8ba481d65eb21a4f9e6b1e812de3f83079eb8016/busybox"; + hash = "sha256-R6nAiaIOgShKiu+qcOP9apVpnuJgTAGAsJxWSHsH4/A="; + executable = true; + }; +} diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 1f1c4771d167..a81ccfeb1188 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -73,6 +73,7 @@ powerpc64-linux = import ./bootstrap-files/powerpc64-unknown-linux-gnuabielfv2.nix; powerpc64le-linux = import ./bootstrap-files/powerpc64le-unknown-linux-gnu.nix; riscv64-linux = import ./bootstrap-files/riscv64-unknown-linux-gnu.nix; + s390x-linux = import ./bootstrap-files/s390x-unknown-linux-gnu.nix; }; musl = { aarch64-linux = import ./bootstrap-files/aarch64-unknown-linux-musl.nix;