From 6f78b90a8cb34fe61a247aea15a53c422dc57da3 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sun, 7 Jan 2024 22:45:45 +0100 Subject: quake3e: add desktop-icon --- pkgs/games/quake3/quake3e/default.nix | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) (limited to 'pkgs/games') 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"; -- cgit 1.4.1 From a10aa50fc6cfabcbd54a4df8ea67ff52c270f9c1 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Sun, 7 Jan 2024 21:03:27 +0100 Subject: tuxpaint: 0.9.28 -> 0.9.31, refactor --- pkgs/games/tuxpaint/default.nix | 103 +++++++++++++++++++++++++++++++--------- 1 file changed, 80 insertions(+), 23 deletions(-) (limited to 'pkgs/games') 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"; -- cgit 1.4.1