about summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
authorK900 <me@0upti.me>2024-01-09 13:03:34 +0300
committerK900 <me@0upti.me>2024-01-09 13:03:34 +0300
commitbff9ee8862ff6df90bddaeca8369b2e1d332ce4e (patch)
tree7871f44f20037afe7fc5cd1d600f51739e3147a7 /pkgs/games
parentc999add543505bfad4d2c7be9583010225d2527e (diff)
parent1e4909f24b8cb50442c769624ae3d3a4629635f2 (diff)
Merge remote-tracking branch 'origin/master' into staging-next
Diffstat (limited to 'pkgs/games')
-rw-r--r--pkgs/games/quake3/quake3e/default.nix31
-rw-r--r--pkgs/games/tuxpaint/default.nix103
2 files changed, 108 insertions, 26 deletions
diff --git a/pkgs/games/quake3/quake3e/default.nix b/pkgs/games/quake3/quake3e/default.nix
index a98772d241d0a..de6a842cc1332 100644
--- a/pkgs/games/quake3/quake3e/default.nix
+++ b/pkgs/games/quake3/quake3e/default.nix
@@ -1,5 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper
-, curl, libGL, libX11, libXxf86dga, alsa-lib, libXrandr, libXxf86vm, libXext, SDL2, glibc
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeWrapper
+, curl
+, libGL
+, libX11
+, libXxf86dga
+, alsa-lib
+, libXrandr
+, libXxf86vm
+, libXext
+, SDL2
+, glibc
+, copyDesktopItems
+, makeDesktopItem
 }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +27,7 @@ stdenv.mkDerivation rec {
     sha256 = "0qd13fndbhgkkmhxbprpzmj2l2v9ihacxagpdqi9sg9nrzvahr9h";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper copyDesktopItems ];
   buildInputs = [ curl libGL libX11 libXxf86dga alsa-lib libXrandr libXxf86vm libXext SDL2 glibc ];
   env.NIX_CFLAGS_COMPILE = "-I${SDL2.dev}/include/SDL2";
   enableParallelBuilding = true;
@@ -36,11 +50,22 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
+    runHook preInstall
     make install DESTDIR=$out/lib
     makeWrapper $out/lib/quake3e.x64 $out/bin/quake3e
     makeWrapper $out/lib/quake3e.ded.x64 $out/bin/quake3e.ded
+    runHook postInstall
   '';
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = "Quake3e";
+      exec = "quake3e";
+      desktopName = "Quake3e";
+      categories = [ "Game" ];
+    })
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/ec-/Quake3e";
     description = "Improved Quake III Arena engine";
diff --git a/pkgs/games/tuxpaint/default.nix b/pkgs/games/tuxpaint/default.nix
index e03079bf60dd9..f2332d6027faa 100644
--- a/pkgs/games/tuxpaint/default.nix
+++ b/pkgs/games/tuxpaint/default.nix
@@ -1,37 +1,92 @@
-{ lib, stdenv, fetchurl, SDL, SDL_gfx, SDL_image, SDL_ttf, SDL_mixer, libpng
-, libimagequant, cairo, librsvg, gettext, libpaper, fribidi, pkg-config, gperf
+{ lib
+, stdenv
+, fetchurl
+, gettext
+, gperf
 , imagemagick
+, makeWrapper
+, pkg-config
+, SDL2
+, cairo
+, freetype
+, fribidi
+, libimagequant
+, libpaper
+, libpng
+, librsvg
+, pango
+, SDL2_gfx
+, SDL2_image
+, SDL2_mixer
+, SDL2_Pango
+, SDL2_ttf
+, netpbm
 }:
 
+let
+  stamps = fetchurl {
+    url = "mirror://sourceforge/project/tuxpaint/tuxpaint-stamps/2023-07-20/tuxpaint-stamps-2023.07.20.tar.gz";
+    hash = "sha256-D7QgYXRRdZpN3Ni/4lXoXCtsJORT+T2hHaLUFpgDeEI=";
+  };
+in
 stdenv.mkDerivation rec {
-  version = "0.9.28";
+  version = "0.9.31";
   pname = "tuxpaint";
 
   src = fetchurl {
-    url = "mirror://sourceforge/tuxpaint/${version}/${pname}-${version}-sdl1.tar.gz";
-    sha256 = "sha256-b4Ru9GqyGf2jMmM24szGXO2vbSxCwvPmA6tgEUWhhos=";
+    url = "mirror://sourceforge/tuxpaint/${version}/tuxpaint-${version}.tar.gz";
+    hash = "sha256-GoXAT6XJrms//Syo+oaoTAyLRitQWfofwsRFtc+oV+4=";
   };
 
-  nativeBuildInputs = [
-    SDL SDL_gfx SDL_image SDL_ttf SDL_mixer libpng cairo libimagequant librsvg
-    gettext libpaper fribidi pkg-config gperf imagemagick
+  patches = [
+    ./tuxpaint-completion.diff
   ];
-  hardeningDisable = [ "format" ];
-  makeFlags = [ "GPERF=${gperf}/bin/gperf"
-                "PREFIX=$$out"
-                "COMPLETIONDIR=$$out/share/bash-completion/completions"
-              ];
 
-  patches = [ ./tuxpaint-completion.diff ];
   postPatch = ''
-    grep -Zlr include.*SDL . | xargs -0 sed -i -e 's,"SDL,"SDL/SDL,'
+    grep -Zlr include.*SDL . | xargs -0 \
+      sed -i -E \
+        -e 's,"(SDL2?_?[a-zA-Z]*.h),"SDL2/\1,' \
+        -e 's,SDL2/SDL2_Pango.h,SDL2_Pango.h,'
   '';
 
-  # stamps
-  stamps = fetchurl {
-    url = "mirror://sourceforge/project/tuxpaint/tuxpaint-stamps/2022-06-04/tuxpaint-stamps-2022.06.04.tar.gz";
-    sha256 = "sha256-hCBlV2+uVUNY4A5R1xpJJhamSQsStZIigGdHfCh6C/g=";
-  };
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    gettext
+    gperf
+    imagemagick
+    makeWrapper
+    pkg-config
+    SDL2
+  ];
+
+  buildInputs = [
+    cairo
+    freetype
+    fribidi
+    libimagequant
+    libpaper
+    libpng
+    librsvg
+    pango
+    SDL2
+    SDL2_gfx
+    SDL2_image
+    SDL2_mixer
+    SDL2_Pango
+    SDL2_ttf
+  ];
+
+  hardeningDisable = [ "format" ];
+
+  makeFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "COMPLETIONDIR=$(out)/share/bash-completion/completions"
+    "GPERF=${lib.getExe gperf}"
+    "PREFIX=$(out)"
+  ];
+
+  enableParallelBuilding = true;
 
   postInstall = ''
     # Install desktop file
@@ -40,13 +95,15 @@ stdenv.mkDerivation rec {
     sed -e "s+Exec=tuxpaint+Exec=$out/bin/tuxpaint+" < src/tuxpaint.desktop > $out/share/applications/tuxpaint.desktop
 
     # Install stamps
-    tar xzf $stamps
+    tar xzf ${stamps}
     cd tuxpaint-stamps-*
     make install-all PREFIX=$out
     rm -rf $out/share/tuxpaint/stamps/military
-  '';
 
-  enableParallelBuilding = true;
+    # Requirements for tuxpaint-import
+    wrapProgram $out/bin/tuxpaint-import \
+      --prefix PATH : ${lib.makeBinPath [ netpbm ]}
+  '';
 
   meta = {
     description = "Open Source Drawing Software for Children";