Skip to content

Commit

Permalink
corsix-th: darwin build, add maintainer
Browse files Browse the repository at this point in the history
  • Loading branch information
Matteo Pacini committed Jun 11, 2024
1 parent a7d87b7 commit e9c1ebb
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 7 deletions.
12 changes: 12 additions & 0 deletions pkgs/games/corsix-th/darwin-cmake-no-fixup-bundle.patch
Original file line number Diff line number Diff line change
@@ -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(
45 changes: 39 additions & 6 deletions pkgs/games/corsix-th/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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";

Expand All @@ -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;
};
})
4 changes: 3 additions & 1 deletion pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -36219,7 +36219,9 @@ with pkgs;

colobot = callPackage ../games/colobot { };

corsix-th = callPackage ../games/corsix-th { };
corsix-th = callPackage ../games/corsix-th {
inherit (darwin.apple_sdk.frameworks) Cocoa CoreVideo;
};

enigma = callPackage ../games/enigma { };

Expand Down

0 comments on commit e9c1ebb

Please sign in to comment.