Merge pull request #130166 from stevebob/init-bsnes-hd

This commit is contained in:
Sandro 2021-07-23 15:44:38 +02:00 committed by GitHub
commit d0714a744c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 97 additions and 0 deletions

View file

@ -10134,6 +10134,12 @@
githubId = 1829294;
name = "Steve Chávez";
};
stevebob = {
email = "stephen@sherra.tt";
github = "stevebob";
githubId = 417118;
name = "Stephen Sherratt";
};
steveej = {
email = "mail@stefanjunker.de";
github = "steveej";

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

@ -32133,6 +32133,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 { };