parent
937961e4e7
commit
5ffb7c8500
@ -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; |
||||
}; |
||||
} |
@ -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/
|
@ -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;
|
Loading…
Reference in new issue