diff options
Diffstat (limited to 'nixpkgs/pkgs/games/bugdom/default.nix')
-rw-r--r-- | nixpkgs/pkgs/games/bugdom/default.nix | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/games/bugdom/default.nix b/nixpkgs/pkgs/games/bugdom/default.nix new file mode 100644 index 000000000000..01db213de985 --- /dev/null +++ b/nixpkgs/pkgs/games/bugdom/default.nix @@ -0,0 +1,69 @@ +{ lib, stdenv, fetchFromGitHub, SDL2, IOKit, Foundation, cmake, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "bugdom"; + version = "1.3.3"; + + src = fetchFromGitHub { + owner = "jorio"; + repo = pname; + rev = version; + hash = "sha256-oe7xxvoL82YF+EoIJDK6AfN3PmpqeGRlIsbaGx8xGeM="; + fetchSubmodules = true; + }; + + postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' + # Expects SDL2.framework in specific location, which we don't have + # Passing this in cmakeFlags doesn't work because the path is hard-coded for Darwin + substituteInPlace cmake/FindSDL2.cmake \ + --replace 'set(SDL2_LIBRARIES' 'set(SDL2_LIBRARIES "${SDL2}/lib/libSDL2.dylib") #' + # Expects plutil, which we don't have + sed -i '/plutil/d' CMakeLists.txt + ''; + + buildInputs = [ + SDL2 + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + IOKit + Foundation + ]; + + nativeBuildInputs = [ + cmake + makeWrapper + ]; + + cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ + "-DCMAKE_OSX_ARCHITECTURES=${stdenv.hostPlatform.darwinArch}" + # Expects SDL2.framework in specific location, which we don't have + "-DSDL2_INCLUDE_DIRS=${SDL2.dev}/include/SDL2" + ]; + + installPhase = '' + runHook preInstall + + '' + (if stdenv.hostPlatform.isDarwin then '' + mkdir -p $out/{bin,Applications} + mv {,$out/Applications/}Bugdom.app + makeWrapper $out/{Applications/Bugdom.app/Contents/MacOS,bin}/Bugdom + '' else '' + mkdir -p $out/share/bugdom + mv Data $out/share/bugdom + install -Dm755 {.,$out/bin}/Bugdom + wrapProgram $out/bin/Bugdom --run "cd $out/share/bugdom" + install -Dm644 $src/packaging/bugdom.desktop $out/share/applications/bugdom.desktop + install -Dm644 $src/packaging/bugdom-desktopicon.png $out/share/pixmaps/bugdom-desktopicon.png + '') + '' + + runHook postInstall + ''; + + meta = with lib; { + description = "A port of Bugdom, a 1999 Macintosh game by Pangea Software, for modern operating systems"; + homepage = "https://github.com/jorio/Bugdom"; + license = with licenses; [ cc-by-sa-40 ]; + maintainers = with maintainers; [ lux ]; + mainProgram = "Bugdom"; + platforms = platforms.unix; + }; +} |