bsnes-hd: init at 10.6-beta

This commit is contained in:
Stephen Sherratt 2021-07-13 22:08:23 +10:00
parent 937961e4e7
commit 5ffb7c8500
4 changed files with 91 additions and 0 deletions

View File

@ -0,0 +1,55 @@
{ lib, stdenv, fetchFromGitHub
, pkg-config
, libX11, libXv
, udev
, SDL2
, gtk2, gtksourceview
, alsa-lib, libao, openal, libpulseaudio
, libicns, Cocoa, OpenAL
}:
stdenv.mkDerivation {
pname = "bsnes-hd";
version = "10.6-beta";
src = fetchFromGitHub {
owner = "DerKoun";
repo = "bsnes-hd";
rev = "beta_10_6";
sha256 = "0f3cd89fd0lqskzj98cc1pzmdbscq0psdjckp86w94rbchx7iw4h";
};
patches = [
# Replace invocation of `sips` with an equivalent invocation of `png2icns`
# while assembling the .app directory hierarchy in the macos build. The
# `sips` executable isn't in our environment during the build, but
# `png2icns` is available by way of the dependency on libicns.
./macos-replace-sips-with-png2icns.patch
# During `make install` on macos the Makefile wants to move the .app into
# the current user's home directory. This patches the Makefile such that
# the .app ends up in $(prefix)/Applications. The $(prefix) variable will
# be set to $out, so this will result in the .app ending up in the
# Applications directory in the current nix profile.
./macos-copy-app-to-prefix.patch
];
nativeBuildInputs = [ pkg-config ]
++ lib.optionals stdenv.isDarwin [ libicns ];
buildInputs = [ SDL2 libao ]
++ lib.optionals stdenv.isLinux [ libX11 libXv udev gtk2 gtksourceview alsa-lib openal libpulseaudio ]
++ lib.optionals stdenv.isDarwin [ Cocoa OpenAL ];
enableParallelBuilding = true;
makeFlags = [ "-C" "bsnes" "prefix=$(out)" ];
meta = with lib; {
description = "A fork of bsnes that adds HD video features";
homepage = "https://github.com/DerKoun/bsnes-hd";
license = licenses.gpl3Only;
maintainers = with maintainers; [ stevebob ];
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,18 @@
diff --git a/bsnes/target-bsnes/GNUmakefile b/bsnes/target-bsnes/GNUmakefile
index 7a3ab9f..ec8a1a4 100644
--- a/bsnes/target-bsnes/GNUmakefile
+++ b/bsnes/target-bsnes/GNUmakefile
@@ -43,11 +43,8 @@ ifeq ($(platform),windows)
else ifeq ($(shell id -un),root)
$(error "make install should not be run as root")
else ifeq ($(platform),macos)
- mkdir -p ~/Library/Application\ Support/$(name)/
- mkdir -p ~/Library/Application\ Support/$(name)/Database/
- mkdir -p ~/Library/Application\ Support/$(name)/Firmware/
- mkdir -p ~/Library/Application\ Support/$(name)/Shaders/
- cp -R out/$(name).app /Applications/$(name).app
+ mkdir -p $(prefix)/Applications
+ cp -R out/$(name).app $(prefix)/Applications
else ifneq ($(filter $(platform),linux bsd),)
mkdir -p $(prefix)/bin/
mkdir -p $(prefix)/share/applications/

View File

@ -0,0 +1,13 @@
diff --git a/bsnes/target-bsnes/GNUmakefile b/bsnes/target-bsnes/GNUmakefile
index 4c67bde..7a3ab9f 100644
--- a/bsnes/target-bsnes/GNUmakefile
+++ b/bsnes/target-bsnes/GNUmakefile
@@ -33,7 +33,7 @@ ifeq ($(platform),macos)
cp Database/* out/$(name).app/Contents/MacOS/Database/
cp -r ../shaders/* out/$(name).app/Contents/macOS/Shaders/
cp $(ui)/resource/$(name).plist out/$(name).app/Contents/Info.plist
- sips -s format icns $(ui)/resource/$(name).png --out out/$(name).app/Contents/Resources/$(name).icns
+ png2icns out/$(name).app/Contents/Resources/$(name).icns $(ui)/resource/$(name).png
endif
verbose: hiro.verbose ruby.verbose nall.verbose all;

View File

@ -32074,6 +32074,11 @@ in
inherit (darwin.apple_sdk.frameworks) Carbon Cocoa OpenGL OpenAL;
};
bsnes-hd = callPackage ../misc/emulators/bsnes-hd {
inherit (gnome2) gtksourceview;
inherit (darwin.apple_sdk.frameworks) Cocoa OpenAL;
};
yapesdl = callPackage ../misc/emulators/yapesdl { };
x16-emulator = callPackage ../misc/emulators/commanderx16/emulator.nix { };