diff --git a/pkgs/games/dhewm3/default.nix b/pkgs/games/dhewm3/default.nix index b5caa603eaf..beb037dc240 100644 --- a/pkgs/games/dhewm3/default.nix +++ b/pkgs/games/dhewm3/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchFromGitHub, cmake, SDL2, libGLU, libGL, zlib, libjpeg, libogg, libvorbis -, openal, curl }: +, openal, curl, copyDesktopItems, makeDesktopItem }: stdenv.mkDerivation rec { pname = "dhewm3"; @@ -21,9 +21,18 @@ stdenv.mkDerivation rec { cd "$(ls -d dhewm3-*.src)"/neo ''; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake copyDesktopItems ]; buildInputs = [ SDL2 libGLU libGL zlib libjpeg libogg libvorbis openal curl ]; + desktopItems = [ + (makeDesktopItem { + name = "dhewm3"; + exec = "dhewm3"; + desktopName = "Doom 3"; + categories = "Game;"; + }) + ]; + hardeningDisable = [ "format" ]; meta = with lib; { diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix index 8ab54468c00..787184273fc 100644 --- a/pkgs/games/gzdoom/default.nix +++ b/pkgs/games/gzdoom/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitHub, cmake, makeWrapper, openal, fluidsynth_1 , soundfont-fluid, libGL, SDL2, bzip2, zlib, libjpeg, libsndfile, mpg123 -, game-music-emu, pkg-config }: +, game-music-emu, pkg-config, copyDesktopItems, makeDesktopItem }: let zmusic-src = fetchFromGitHub { @@ -38,7 +38,7 @@ let fetchSubmodules = true; }; - nativeBuildInputs = [ cmake makeWrapper pkg-config ]; + nativeBuildInputs = [ cmake makeWrapper pkg-config copyDesktopItems ]; buildInputs = [ SDL2 libGL @@ -55,7 +55,18 @@ let NIX_CFLAGS_LINK = "-lopenal -lfluidsynth"; + desktopItems = [ + (makeDesktopItem { + name = "gzdoom"; + exec = "gzdoom"; + desktopName = "GZDoom"; + categories = "Game;"; + }) + ]; + installPhase = '' + runHook preInstall + install -Dm755 gzdoom "$out/lib/gzdoom/gzdoom" for i in *.pk3; do install -Dm644 "$i" "$out/lib/gzdoom/$i" @@ -68,6 +79,8 @@ let done mkdir $out/bin makeWrapper $out/lib/gzdoom/gzdoom $out/bin/gzdoom + + runHook postInstall ''; meta = with lib; { diff --git a/pkgs/games/quakespasm/default.nix b/pkgs/games/quakespasm/default.nix index 64b7c8f7920..9e540052c4f 100644 --- a/pkgs/games/quakespasm/default.nix +++ b/pkgs/games/quakespasm/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv, SDL, fetchurl, gzip, libvorbis, libmad }: +{ lib, stdenv, SDL, fetchurl, gzip, libvorbis, libmad, copyDesktopItems, makeDesktopItem }: + stdenv.mkDerivation rec { pname = "quakespasm"; majorVersion = "0.93"; @@ -11,6 +12,7 @@ stdenv.mkDerivation rec { sourceRoot = "${pname}-${version}/Quake"; + nativeBuildInputs = [ copyDesktopItems ]; buildInputs = [ gzip SDL libvorbis libmad ]; @@ -24,7 +26,16 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - meta = { + desktopItems = [ + (makeDesktopItem { + name = "quakespasm"; + exec = "quake"; + desktopName = "Quakespasm"; + categories = "Game;"; + }) + ]; + + meta = with lib; { description = "An engine for iD software's Quake"; homepage = "http://quakespasm.sourceforge.net/"; longDescription = ''