nx2elf: init at unstable-2020-05-26 (#119493)

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
This commit is contained in:
Ivar 2021-04-17 19:17:46 +02:00 committed by GitHub
parent 62806df678
commit 05987f952f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 39 additions and 0 deletions

View file

@ -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 ];
};
}

View file

@ -2847,6 +2847,8 @@ in
nwipe = callPackage ../tools/security/nwipe { };
nx2elf = callPackage ../tools/compression/nx2elf { };
nx-libs = callPackage ../tools/X11/nx-libs { };
nyx = callPackage ../tools/networking/nyx { };