summary refs log tree commit diff
path: root/pkgs/games/crawl
diff options
context:
space:
mode:
authorDave Nicponski <dave.nicponski@gmail.com>2019-07-28 02:25:17 -0400
committerDave Nicponski <dave.nicponski@gmail.com>2019-07-28 02:25:17 -0400
commitb3b418478651633d54004cb59e95c2d44d69e5d2 (patch)
treed201dffc2de2d1fcd05400b6c503cde685493bd8 /pkgs/games/crawl
parentbed7e5aaf2debf9525c40732f6f516ee50dafdcc (diff)
downloadnixpkgs-b3b418478651633d54004cb59e95c2d44d69e5d2.tar
nixpkgs-b3b418478651633d54004cb59e95c2d44d69e5d2.tar.gz
nixpkgs-b3b418478651633d54004cb59e95c2d44d69e5d2.tar.bz2
nixpkgs-b3b418478651633d54004cb59e95c2d44d69e5d2.tar.lz
nixpkgs-b3b418478651633d54004cb59e95c2d44d69e5d2.tar.xz
nixpkgs-b3b418478651633d54004cb59e95c2d44d69e5d2.tar.zst
nixpkgs-b3b418478651633d54004cb59e95c2d44d69e5d2.zip
games/crawl: add support for MacOS/Darwin builds
games/crawl: Add support for darwin builds.  Also,
compression/advancecomp: Add support for darwin builds in meta (which already worked).
Diffstat (limited to 'pkgs/games/crawl')
-rw-r--r--pkgs/games/crawl/crawl_purify.patch13
-rw-r--r--pkgs/games/crawl/default.nix15
2 files changed, 25 insertions, 3 deletions
diff --git a/pkgs/games/crawl/crawl_purify.patch b/pkgs/games/crawl/crawl_purify.patch
index 67a883c16b0..f792dc013f0 100644
--- a/pkgs/games/crawl/crawl_purify.patch
+++ b/pkgs/games/crawl/crawl_purify.patch
@@ -1,6 +1,19 @@
 diff -ru3 crawl-ref-0.23.2-src-old/crawl-ref/source/Makefile crawl-ref-0.23.2-src-new/crawl-ref/source/Makefile
 --- crawl-ref-0.23.2-src-old/crawl-ref/source/Makefile	1970-01-01 03:00:01.000000000 +0300
 +++ crawl-ref-0.23.2-src-new/crawl-ref/source/Makefile	2017-07-27 14:45:34.611221571 +0300
+@@ -224,9 +224,9 @@
+	STRIP := strip -x
+	NEED_APPKIT = YesPlease
+	LIBNCURSES_IS_UNICODE = Yes
+-	NO_PKGCONFIG = Yes
+-	BUILD_SQLITE = YesPlease
+-	BUILD_ZLIB = YesPlease
++	#NO_PKGCONFIG = Yes
++	#BUILD_SQLITE = YesPlease
++	#BUILD_ZLIB = YesPlease
+	ifdef TILES
+		EXTRA_LIBS += -framework AppKit -framework AudioUnit -framework CoreAudio -framework ForceFeedback -framework Carbon -framework IOKit -framework OpenGL -framework AudioToolbox -framework CoreVideo contrib/install/$(ARCH)/lib/libSDL2main.a
+		BUILD_FREETYPE = YesPlease
 @@ -286,13 +286,7 @@
  LIBZ := contrib/install/$(ARCH)/lib/libz.a
  
diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix
index ac58a43aecb..203afa93b45 100644
--- a/pkgs/games/crawl/default.nix
+++ b/pkgs/games/crawl/default.nix
@@ -1,6 +1,9 @@
 { stdenv, lib, fetchFromGitHub, fetchpatch, which, sqlite, lua5_1, perl, python3, zlib, pkgconfig, ncurses
 , dejavu_fonts, libpng, SDL2, SDL2_image, SDL2_mixer, libGLU_combined, freetype, pngcrush, advancecomp
 , tileMode ? false, enableSound ? tileMode
+
+# MacOS / Darwin builds
+, darwin ? null
 }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +18,7 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    ./crawl_purify.patch  # Patch hard-coded paths
+    ./crawl_purify.patch  # Patch hard-coded paths and remove force library builds
     (fetchpatch {         # Use a nice high-res app icon
       url = "https://github.com/crawl/crawl/commit/2aa1166087e44e6585b26cedf1fe81b3f3ba547f.patch";
       sha256 = "1jqrdv4wy18shg1fdabdb421232hg5micphkixcyzxd1lrmvadg0";
@@ -28,7 +31,13 @@ stdenv.mkDerivation rec {
   buildInputs = [ lua5_1 zlib sqlite ncurses ]
                 ++ (with python3.pkgs; [ pyyaml ])
                 ++ lib.optionals tileMode [ libpng SDL2 SDL2_image freetype libGLU_combined ]
-                ++ lib.optional enableSound SDL2_mixer;
+                ++ lib.optional enableSound SDL2_mixer
+                ++ (lib.optionals stdenv.isDarwin (
+                  assert (lib.assertMsg (darwin != null) "Must have darwin frameworks available for darwin builds");
+                  with darwin.apple_sdk.frameworks; [
+                    AppKit AudioUnit CoreAudio ForceFeedback Carbon IOKit OpenGL
+                   ]
+                ));
 
   preBuild = ''
     cd crawl-ref/source
@@ -64,7 +73,7 @@ stdenv.mkDerivation rec {
       with dangerous and unfriendly monsters in a quest to rescue the
       mystifyingly fabulous Orb of Zot.
     '';
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     license = with licenses; [ gpl2Plus bsd2 bsd3 mit licenses.zlib cc0 ];
     maintainers = [ maintainers.abbradar ];
   };