diff options
Diffstat (limited to 'nixpkgs/pkgs/games/gzdoom/default.nix')
-rw-r--r-- | nixpkgs/pkgs/games/gzdoom/default.nix | 130 |
1 files changed, 80 insertions, 50 deletions
diff --git a/nixpkgs/pkgs/games/gzdoom/default.nix b/nixpkgs/pkgs/games/gzdoom/default.nix index e6f27eedbb9..fdbdda2d313 100644 --- a/nixpkgs/pkgs/games/gzdoom/default.nix +++ b/nixpkgs/pkgs/games/gzdoom/default.nix @@ -1,55 +1,85 @@ -{ stdenv, fetchFromGitHub, cmake, makeWrapper -, openal, fluidsynth_1, soundfont-fluid, libGL, SDL2 -, bzip2, zlib, libjpeg, libsndfile, mpg123, game-music-emu }: +{ stdenv, fetchFromGitHub, cmake, makeWrapper, openal, fluidsynth_1 +, soundfont-fluid, libGL, SDL2, bzip2, zlib, libjpeg, libsndfile, mpg123 +, game-music-emu, pkgconfig }: -stdenv.mkDerivation rec { - pname = "gzdoom"; - version = "4.3.3"; - - src = fetchFromGitHub { +let + zmusic-src = fetchFromGitHub { owner = "coelckers"; - repo = "gzdoom"; - rev = "g${version}"; - sha256 = "1c4vhnvvwy1rs8xm01kqd486h5xsiccwkf95fjx7912zr49yalks"; + repo = "zmusic"; + rev = "2d0ea861174f9e2031400ab29f5bcc8425521cc6"; + sha256 = "1ac7lhbzwfr0fsyv7n70hvb8imzngxn1qyanmv9j26j0h90hhl8a"; }; + zmusic = stdenv.mkDerivation { + pname = "zmusic"; + version = "1.1.0"; + + src = zmusic-src; + + nativeBuildInputs = [ cmake pkgconfig ]; + + preConfigure = '' + sed -i \ + -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \ + -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \ + source/mididevices/music_fluidsynth_mididevice.cpp + ''; - nativeBuildInputs = [ cmake makeWrapper ]; - buildInputs = [ - SDL2 libGL openal fluidsynth_1 bzip2 zlib libjpeg libsndfile mpg123 - game-music-emu - ]; - - enableParallelBuilding = true; - - NIX_CFLAGS_LINK = "-lopenal -lfluidsynth"; - - preConfigure = '' - sed -i \ - -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \ - -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \ - libraries/zmusic/mididevices/music_fluidsynth_mididevice.cpp - ''; - - installPhase = '' - install -Dm755 gzdoom "$out/lib/gzdoom/gzdoom" - for i in *.pk3; do - install -Dm644 "$i" "$out/lib/gzdoom/$i" - done - for i in fm_banks/*; do - install -Dm644 "$i" "$out/lib/gzdoom/$i" - done - for i in soundfonts/*; do - install -Dm644 "$i" "$out/lib/gzdoom/$i" - done - mkdir $out/bin - makeWrapper $out/lib/gzdoom/gzdoom $out/bin/gzdoom - ''; - - meta = with stdenv.lib; { - homepage = "https://github.com/coelckers/gzdoom"; - description = "A Doom source port based on ZDoom. It features an OpenGL renderer and lots of new features"; - license = licenses.gpl3; - platforms = ["x86_64-linux"]; - maintainers = with maintainers; [ lassulus ]; }; -} + + gzdoom = stdenv.mkDerivation rec { + pname = "gzdoom"; + version = "4.4.2"; + + src = fetchFromGitHub { + owner = "coelckers"; + repo = "gzdoom"; + rev = "g${version}"; + sha256 = "1xkkmbsdv64wyb9r2fv5mwyqw0bjryk528jghdrh47pndmjs9a38"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ cmake makeWrapper pkgconfig ]; + buildInputs = [ + SDL2 + libGL + openal + fluidsynth_1 + bzip2 + zlib + libjpeg + libsndfile + mpg123 + game-music-emu + zmusic + ]; + + enableParallelBuilding = true; + + NIX_CFLAGS_LINK = "-lopenal -lfluidsynth"; + + installPhase = '' + install -Dm755 gzdoom "$out/lib/gzdoom/gzdoom" + for i in *.pk3; do + install -Dm644 "$i" "$out/lib/gzdoom/$i" + done + for i in fm_banks/*; do + install -Dm644 "$i" "$out/lib/gzdoom/$i" + done + for i in soundfonts/*; do + install -Dm644 "$i" "$out/lib/gzdoom/$i" + done + mkdir $out/bin + makeWrapper $out/lib/gzdoom/gzdoom $out/bin/gzdoom + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/coelckers/gzdoom"; + description = + "A Doom source port based on ZDoom. It features an OpenGL renderer and lots of new features"; + license = licenses.gpl3; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ lassulus ]; + }; + }; + +in gzdoom |