about summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2024-02-06 16:45:51 +0100
committerGitHub <noreply@github.com>2024-02-06 16:45:51 +0100
commit0851482c93bfdede270ad45c89ef8ea9bd2e482f (patch)
tree2c36c7127bbd5daf35f3a94bfd2ced927b604485 /pkgs/games
parent194fa8635d6b0e6a7998f42c4fed30b433a0eba3 (diff)
parentd2095d1d6744ce7d95b00347034114bdb5b87e64 (diff)
downloadnixlib-0851482c93bfdede270ad45c89ef8ea9bd2e482f.tar
nixlib-0851482c93bfdede270ad45c89ef8ea9bd2e482f.tar.gz
nixlib-0851482c93bfdede270ad45c89ef8ea9bd2e482f.tar.bz2
nixlib-0851482c93bfdede270ad45c89ef8ea9bd2e482f.tar.lz
nixlib-0851482c93bfdede270ad45c89ef8ea9bd2e482f.tar.xz
nixlib-0851482c93bfdede270ad45c89ef8ea9bd2e482f.tar.zst
nixlib-0851482c93bfdede270ad45c89ef8ea9bd2e482f.zip
Merge pull request #282456 from Nanotwerp/crawl-update
crawl: 1.29.0 -> 1.31.0
Diffstat (limited to 'pkgs/games')
-rw-r--r--pkgs/games/crawl/crawl_purify.patch33
-rw-r--r--pkgs/games/crawl/default.nix114
2 files changed, 82 insertions, 65 deletions
diff --git a/pkgs/games/crawl/crawl_purify.patch b/pkgs/games/crawl/crawl_purify.patch
deleted file mode 100644
index 8650141744d6..000000000000
--- a/pkgs/games/crawl/crawl_purify.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/crawl-ref/source/util/find_font b/crawl-ref/source/util/find_font
-index f8b576fd63..b95c21c0a1 100755
---- a/crawl-ref/source/util/find_font
-+++ b/crawl-ref/source/util/find_font
-@@ -1,6 +1,6 @@
- #! /bin/sh
- 
--FONTDIRS="/usr/share/fonts /usr/local/share/fonts /usr/*/lib/X11/fonts"
-+FONTDIRS="${fontsPath}/share/fonts"
- 
- name=$1
- [ "$name" ] || { echo "Usage: $0 <fontname.ttf>" >&2; exit 100; }
-@@ -11,6 +11,6 @@ name=$1
-         for dir in $FONTDIRS; do
-             [ -d "$dir" ] && echo "$dir"
-         done
--    } | xargs -I% find % \( -type f -o -type l \) -iname "$name" -print \
-+    } | xargs -I% find -L % \( -type f -o -type l \) -iname "$name" -print \
-       | head -n1
- } 2>/dev/null
-diff --git a/crawl-ref/source/windowmanager-sdl.cc b/crawl-ref/source/windowmanager-sdl.cc
-index e29ccff507..9bf01e040a 100644
---- a/crawl-ref/source/windowmanager-sdl.cc
-+++ b/crawl-ref/source/windowmanager-sdl.cc
-@@ -20,7 +20,7 @@
- # else
- #  include <SDL2/SDL.h>
- # endif
--# include <SDL_image.h>
-+# include <SDL2/SDL_image.h>
- # if defined(USE_SOUND) && !defined(WINMM_PLAY_SOUNDS)
- #  include <SDL2/SDL_mixer.h>
- # endif
diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix
index fa409987ff81..37dd788d8296 100644
--- a/pkgs/games/crawl/default.nix
+++ b/pkgs/games/crawl/default.nix
@@ -1,38 +1,69 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, which, sqlite, lua5_1, perl, python3, zlib, pkg-config, ncurses
-, dejavu_fonts, libpng, SDL2, SDL2_image, SDL2_mixer, libGLU, libGL, freetype, pngcrush, advancecomp
-, tileMode ? false, enableSound ? tileMode, buildPackages
-
-# MacOS / Darwin builds
-, darwin ? null
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchpatch
+, which
+, sqlite
+, lua5_1
+, perl
+, python3
+, zlib
+, pkg-config
+, ncurses
+, dejavu_fonts
+, libpng
+, SDL2
+, SDL2_image
+, SDL2_mixer
+, libGLU
+, libGL
+, freetype
+, pngcrush
+, advancecomp
+, tileMode ? false
+, enableSound ? tileMode
+, buildPackages
+  # MacOS / Darwin builds
+, darwin
 }:
 
 stdenv.mkDerivation rec {
   pname = "crawl${lib.optionalString tileMode "-tiles"}";
-  version = "0.29.0";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner = "crawl";
     repo = "crawl";
     rev = version;
-    sha256 = "sha256-SM8dSDV+88QGMqoFkITop1PHh9EakdgiV4tkXCw9pjM=";
+    hash = "sha256-06tVEduk3Y2VDsoOuI4nGjN8p+wGZT7wEU80nBSg+UU=";
   };
 
   # Patch hard-coded paths and remove force library builds
-  patches = [ ./crawl_purify.patch ];
+  postPatch = ''
+    substituteInPlace crawl-ref/source/util/find_font \
+      --replace '/usr/share/fonts /usr/local/share/fonts /usr/*/lib/X11/fonts' '${fontsPath}/share/fonts'
+    substituteInPlace crawl-ref/source/windowmanager-sdl.cc \
+      --replace 'SDL_image.h' 'SDL2/SDL_image.h'
+  '';
 
   nativeBuildInputs = [ pkg-config which perl pngcrush advancecomp ];
 
   # Still unstable with luajit
   buildInputs = [ lua5_1 zlib sqlite ncurses ]
-                ++ (with python3.pkgs; [ pyyaml ])
-                ++ lib.optionals tileMode [ libpng SDL2 SDL2_image freetype libGLU libGL ]
-                ++ 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
-                   ]
-                ));
+    ++ (with python3.pkgs; [ pyyaml ])
+    ++ lib.optionals tileMode [ libpng SDL2 SDL2_image freetype libGLU libGL ]
+    ++ lib.optional enableSound SDL2_mixer
+    ++ (lib.optionals stdenv.isDarwin (
+    with darwin.apple_sdk.frameworks; [
+      AppKit
+      AudioUnit
+      CoreAudio
+      ForceFeedback
+      Carbon
+      IOKit
+      OpenGL
+    ]
+  ));
 
   preBuild = ''
     cd crawl-ref/source
@@ -40,24 +71,43 @@ stdenv.mkDerivation rec {
     patchShebangs 'util'
     patchShebangs util/gen-mi-enum
     rm -rf contrib
-  '';
+    mkdir -p $out/xdg-data
+  ''
+  + lib.optionalString tileMode "mv xdg-data/*_tiles.* $out/xdg-data"
+  + lib.optionalString (!tileMode) "mv xdg-data/*_console.* $out/xdg-data";
 
   fontsPath = lib.optionalString tileMode dejavu_fonts;
 
-  makeFlags = [ "prefix=${placeholder "out"}" "FORCE_CC=${stdenv.cc.targetPrefix}cc" "FORCE_CXX=${stdenv.cc.targetPrefix}c++" "HOSTCXX=${buildPackages.stdenv.cc.targetPrefix}c++"
-                "FORCE_PKGCONFIG=y"
-                "SAVEDIR=~/.crawl" "sqlite=${sqlite.dev}"
-                "DATADIR=${placeholder "out"}"
-              ] ++ lib.optional tileMode "TILES=y"
-                ++ lib.optional enableSound "SOUND=y";
+  makeFlags = [
+    "prefix=${placeholder "out"}"
+    "FORCE_CC=${stdenv.cc.targetPrefix}cc"
+    "FORCE_CXX=${stdenv.cc.targetPrefix}c++"
+    "HOSTCXX=${buildPackages.stdenv.cc.targetPrefix}c++"
+    "FORCE_PKGCONFIG=y"
+    "SAVEDIR=~/.crawl"
+    "sqlite=${sqlite.dev}"
+    "DATADIR=${placeholder "out"}"
+  ]
+  ++ lib.optional tileMode "TILES=y"
+  ++ lib.optional enableSound "SOUND=y";
 
-  postInstall = ''
-    ${lib.optionalString tileMode "mv $out/bin/crawl $out/bin/crawl-tiles"}
-    sed -i 's#/usr/games/##' debian/crawl${lib.optionalString tileMode "-tiles"}.desktop
-    install -m 444 -D debian/crawl${lib.optionalString tileMode "-tiles"}.desktop \
-      $out/share/applications/crawl${lib.optionalString tileMode "-tiles"}.desktop
-    install -m 444 -D dat/tiles/stone_soup_icon-512x512.png $out/share/icons/hicolor/512x512/apps/crawl.png
-  '';
+  postInstall =
+    lib.optionalString tileMode ''
+      mv $out/bin/crawl $out/bin/crawl-tiles
+      echo "Exec=crawl-tiles" >> $out/xdg-data/org.develz.Crawl_tiles.desktop
+      echo "Icon=crawl" >> $out/xdg-data/org.develz.Crawl_tiles.desktop
+      install -Dm444 $out/xdg-data/org.develz.Crawl_tiles.desktop -t $out/share/applications
+      install -Dm444 $out/xdg-data/org.develz.Crawl_tiles.appdata.xml -t $out/share/metainfo
+    ''
+    +
+    lib.optionalString (!tileMode) ''
+      echo "Exec=crawl" >> $out/xdg-data/org.develz.Crawl_console.desktop
+      echo "Icon=crawl" >> $out/xdg-data/org.develz.Crawl_console.desktop
+      install -Dm444 $out/xdg-data/org.develz.Crawl_console.desktop -t $out/share/applications
+      install -Dm444 $out/xdg-data/org.develz.Crawl_console.appdata.xml -t $out/share/metainfo
+    ''
+    + "install -Dm444 dat/tiles/stone_soup_icon-512x512.png $out/share/icons/hicolor/512x512/apps/crawl.png"
+  ;
 
   enableParallelBuilding = true;