diff options
author | Matteo Pacini <matteo@codecraft.it> | 2024-06-09 15:16:37 +0100 |
---|---|---|
committer | Matteo Pacini <matteo@codecraft.it> | 2024-06-11 08:43:52 +0100 |
commit | e9c1ebb57bb2593bedb69cf3248e5b3a896d4d07 (patch) | |
tree | 733d1452016fc0b2eebd8a8a2b2c9f0b49443aff /pkgs/games/corsix-th | |
parent | a7d87b7f9b63f97c43269fa902eb89851b379687 (diff) |
corsix-th: darwin build, add maintainer
Diffstat (limited to 'pkgs/games/corsix-th')
-rw-r--r-- | pkgs/games/corsix-th/darwin-cmake-no-fixup-bundle.patch | 12 | ||||
-rw-r--r-- | pkgs/games/corsix-th/default.nix | 45 |
2 files changed, 51 insertions, 6 deletions
diff --git a/pkgs/games/corsix-th/darwin-cmake-no-fixup-bundle.patch b/pkgs/games/corsix-th/darwin-cmake-no-fixup-bundle.patch new file mode 100644 index 0000000000000..170554ce9f2f0 --- /dev/null +++ b/pkgs/games/corsix-th/darwin-cmake-no-fixup-bundle.patch @@ -0,0 +1,12 @@ +diff --git a/CorsixTH/CMakeLists.txt b/CorsixTH/CMakeLists.txt +index 85856df3..f0f08277 100644 +--- a/CorsixTH/CMakeLists.txt ++++ b/CorsixTH/CMakeLists.txt +@@ -293,7 +293,6 @@ if(NOT USE_SOURCE_DATADIRS) + install(CODE " + INCLUDE(BundleUtilities) + SET(BU_CHMOD_BUNDLE_ITEMS ON) +- FIXUP_BUNDLE(\"${CMAKE_INSTALL_PREFIX}/CorsixTH.app\" \"\" \"\") + ") + if(WITH_LUAROCKS) + install(CODE "execute_process( diff --git a/pkgs/games/corsix-th/default.nix b/pkgs/games/corsix-th/default.nix index 04cfd263c9ee9..d03ff30a186d2 100644 --- a/pkgs/games/corsix-th/default.nix +++ b/pkgs/games/corsix-th/default.nix @@ -10,9 +10,15 @@ , SDL2 , SDL2_mixer , timidity +# Darwin dependencies +, libiconv +, Cocoa +, CoreVideo +# Update +, nix-update-script }: -stdenv.mkDerivation (finalAttrs: { +stdenv.mkDerivation(finalAttrs: { pname = "corsix-th"; version = "0.67"; @@ -23,23 +29,50 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-WA/VJqHXzBfVUBNtxCVsGBRzSRQ0pvDvAy03ntc0KZE="; }; - luaEnv = lua.withPackages(p: with p; [ luafilesystem lpeg luasec luasocket ]); + patches = [ + ./darwin-cmake-no-fixup-bundle.patch + ]; + nativeBuildInputs = [ cmake doxygen makeWrapper ]; - buildInputs = [ ffmpeg freetype lua finalAttrs.luaEnv SDL2 SDL2_mixer timidity ]; + + buildInputs = let + luaEnv = lua.withPackages(p: with p; [ luafilesystem lpeg luasec luasocket ]); + in [ + ffmpeg + freetype + lua + luaEnv + SDL2 + SDL2_mixer + timidity + ] ++ lib.optionals stdenv.isDarwin [ + libiconv + Cocoa + CoreVideo + ]; + cmakeFlags = [ "-Wno-dev" ]; - postInstall = '' + postInstall = lib.optionalString stdenv.isLinux '' wrapProgram $out/bin/corsix-th \ --set LUA_PATH "$LUA_PATH" \ --set LUA_CPATH "$LUA_CPATH" + '' + lib.optionalString stdenv.isDarwin '' + mkdir -p $out/Applications + mv $out/CorsixTH.app $out/Applications + wrapProgram $out/Applications/CorsixTH.app/Contents/MacOS/CorsixTH \ + --set LUA_PATH "$LUA_PATH" \ + --set LUA_CPATH "$LUA_CPATH" ''; + passthru.updateScript = nix-update-script { }; + meta = with lib; { description = "A reimplementation of the 1997 Bullfrog business sim Theme Hospital"; mainProgram = "corsix-th"; homepage = "https://corsixth.com/"; license = licenses.mit; - maintainers = with maintainers; [ hughobrien ]; - platforms = platforms.linux; + maintainers = with maintainers; [ hughobrien matteopacini ]; + platforms = platforms.linux ++ platforms.darwin; }; }) |