about summary refs log tree commit diff
path: root/pkgs/tools/compression
diff options
context:
space:
mode:
authorIvar <41924494+IvarWithoutBones@users.noreply.github.com>2021-04-17 19:17:46 +0200
committerGitHub <noreply@github.com>2021-04-17 19:17:46 +0200
commit05987f952f86f94c5c7201a0c0e251098a6758ab (patch)
tree6fbb11674701176f10f694dbca8d2db902886bf0 /pkgs/tools/compression
parent62806df678933ec105fd699076db93b9557b43e4 (diff)
downloadnixlib-05987f952f86f94c5c7201a0c0e251098a6758ab.tar
nixlib-05987f952f86f94c5c7201a0c0e251098a6758ab.tar.gz
nixlib-05987f952f86f94c5c7201a0c0e251098a6758ab.tar.bz2
nixlib-05987f952f86f94c5c7201a0c0e251098a6758ab.tar.lz
nixlib-05987f952f86f94c5c7201a0c0e251098a6758ab.tar.xz
nixlib-05987f952f86f94c5c7201a0c0e251098a6758ab.tar.zst
nixlib-05987f952f86f94c5c7201a0c0e251098a6758ab.zip
nx2elf: init at unstable-2020-05-26 (#119493)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Diffstat (limited to 'pkgs/tools/compression')
-rw-r--r--pkgs/tools/compression/nx2elf/default.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/pkgs/tools/compression/nx2elf/default.nix b/pkgs/tools/compression/nx2elf/default.nix
new file mode 100644
index 000000000000..8b7f094bf39a
--- /dev/null
+++ b/pkgs/tools/compression/nx2elf/default.nix
@@ -0,0 +1,37 @@
+{ lib, stdenv, fetchFromGitHub, lz4 }:
+
+stdenv.mkDerivation rec {
+  pname = "nx2elf";
+  version = "unstable-2020-05-26";
+
+  src = fetchFromGitHub {
+    owner = "shuffle2";
+    repo = "nx2elf";
+    rev = "7212e82a77b84fcc18ef2d050970350dbf63649b";
+    sha256 = "1j4k5s86c6ixa3wdqh4cfm31fxabwn6jcjc6pippx8mii98ac806";
+  };
+
+  buildInputs = [ lz4 ];
+
+  postPatch = ''
+    # This project does not comply with C++14 standards, and compilation on that fails.
+    # This does however succesfully compile with the gnu++20 standard.
+    substituteInPlace Makefile --replace "c++14" "gnu++20"
+
+    # pkg-config is not supported, so we'll manually use a non-ancient version of lz4
+    cp ${lz4.src}/lib/lz4.{h,c} .
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    install -D nx2elf $out/bin/nx2elf
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/shuffle2/nx2elf";
+    description = "Convert Nintendo Switch executable files to ELFs";
+    license = licenses.unfree; # No license specified upstream
+    platforms = [ "x86_64-linux" ]; # Should work on Darwin as well, but this is untested. aarch64-linux fails.
+    maintainers = [ maintainers.ivar ];
+  };
+}