diff options
-rw-r--r-- | maintainers/maintainer-list.nix | 6 | ||||
-rw-r--r-- | pkgs/by-name/pv/pvsneslib/package.nix | 73 |
2 files changed, 79 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 34181378687da..9f5eedb646c19 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -18594,6 +18594,12 @@ githubId = 20756843; name = "Sofi"; }; + soyouzpanda = { + name = "soyouzpanda"; + email = "soyouzpanda@soyouzpanda.fr"; + github = "soyouzpanda"; + githubId = 23421201; + }; soywod = { name = "Clément DOUIN"; email = "clement.douin@posteo.net"; diff --git a/pkgs/by-name/pv/pvsneslib/package.nix b/pkgs/by-name/pv/pvsneslib/package.nix new file mode 100644 index 0000000000000..80f8e333d370e --- /dev/null +++ b/pkgs/by-name/pv/pvsneslib/package.nix @@ -0,0 +1,73 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, gcc +}: + +stdenv.mkDerivation rec { + pname = "pvsneslib"; + version = "4.2.0"; + + src = fetchFromGitHub { + owner = "alekmaul"; + repo = "pvsneslib"; + rev = version; + hash = "sha256-Cl4+WvjKbq5IPqf7ivVYwBYwDDWWHGNeq4nWXPxsUHw="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ gcc cmake ]; + + dontConfigure = true; + + postPatch = '' + substituteInPlace tools/816-opt/Makefile \ + --replace-fail 'LDFLAGS := -lpthread' 'LDFLAGS :=' \ + --replace-fail 'LDFLAGS := -pthread' 'LDFLAGS += -pthread' \ + --replace-fail 'LDFLAGS += -lpthread -static' '# LDFLAGS += -lpthread -static' + + substituteInPlace tools/bin2txt/Makefile \ + tools/gfx2snes/Makefile \ + tools/gfx4snes/Makefile \ + tools/snestools/Makefile \ + tools/816-opt/Makefile \ + tools/tmx2snes/Makefile \ + --replace-fail '$(CFLAGS) $(OBJS)' '$(LDFLAGS) $(OBJS)' + + substituteInPlace tools/smconv/Makefile \ + --replace-fail '$(CFLAGS) $(LDFLAGS)' '$(LDFLAGS)' + + substituteInPlace tools/constify/Makefile \ + --replace-fail '$(CFLAGS) $(DEFINES) $(OBJS)' '$(LDFLAGS) $(DEFINES) $(OBJS)' + + substituteInPlace tools/snestools/Makefile \ + --replace-fail '-Wno-format' ' ' + + substituteInPlace tools/snesbrr/brr/Makefile \ + --replace-fail 'LDFLAGS ' 'LDFLAGS := + LDFLAGS ' + + substituteInPlace compiler/wla-dx/wlalink/write.c \ + --replace-fail 'sort_anonymous_labels()' 'sort_anonymous_labels(void)' + ''; + + preBuild = '' + export PVSNESLIB_HOME=$(pwd) + ''; + + installPhase = '' + runHook preInstall + cp -r . $out + runHook postInstall + ''; + + meta = { + description = "Free and open source development kit for the Nintendo SNES"; + homepage = "https://github.com/alekmaul/pvsneslib"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ soyouzpanda ]; + mainProgram = "pvsneslib"; + platforms = lib.platforms.all; + }; +} |