From ded34c9cb0002f25a0bfe3afe1342384f16fad17 Mon Sep 17 00:00:00 2001 From: Ashley Chiara Date: Sat, 23 Apr 2022 23:31:45 +0200 Subject: [PATCH 1/2] prboom-plus: init at 2.6.2 --- pkgs/games/prboom-plus/default.nix | 62 ++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 64 insertions(+) create mode 100644 pkgs/games/prboom-plus/default.nix diff --git a/pkgs/games/prboom-plus/default.nix b/pkgs/games/prboom-plus/default.nix new file mode 100644 index 000000000000..a249a4585bd8 --- /dev/null +++ b/pkgs/games/prboom-plus/default.nix @@ -0,0 +1,62 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, SDL2 +, SDL2_mixer +, SDL2_image +, SDL2_net +, fluidsynth +, soundfont-fluid +, portmidi +, dumb +, libvorbis +, libmad +, pcre +}: + +stdenv.mkDerivation rec { + pname = "prboom-plus"; + version = "2.6.2"; + + src = fetchFromGitHub { + owner = "coelckers"; + repo = "prboom-plus"; + rev = "v${version}"; + sha256 = "iK70PMRLJiZHcK1jCQ2s88LgEMbcfG2pXjwCDVG7zUM="; + }; + + sourceRoot = "source/prboom2"; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + SDL2 + SDL2_mixer + SDL2_image + SDL2_net + fluidsynth + portmidi + dumb + libvorbis + libmad + pcre + ]; + + # Fixes impure path to soundfont + prePatch = '' + substituteInPlace src/m_misc.c --replace \ + "/usr/share/sounds/sf3/default-GM.sf3" \ + "${soundfont-fluid}/share/soundfonts/FluidR3_GM2-2.sf2" + ''; + + meta = with lib; { + homepage = "https://github.com/coelckers/prboom-plus"; + description = "An advanced, Vanilla-compatible Doom engine based on PrBoom"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.ashley ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d72316c089c9..91a4d70ef11f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -31861,6 +31861,8 @@ with pkgs; prboom = callPackage ../games/prboom { }; + prboom-plus = callPackage ../games/prboom-plus { }; + pysolfc = python3Packages.callPackage ../games/pysolfc { }; qqwing = callPackage ../games/qqwing { }; From dbf443827d27d3343023ad057bea2bc1e3103681 Mon Sep 17 00:00:00 2001 From: Ashley Chiara Date: Sun, 24 Apr 2022 19:00:03 +0200 Subject: [PATCH 2/2] prboom: remove PrBoom has not seen a release since 2008 and is essentially superseded by PrBoom+ --- pkgs/games/prboom/default.nix | 35 --------------------------------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 -- 3 files changed, 1 insertion(+), 37 deletions(-) delete mode 100644 pkgs/games/prboom/default.nix diff --git a/pkgs/games/prboom/default.nix b/pkgs/games/prboom/default.nix deleted file mode 100644 index 8adc9645b7ae..000000000000 --- a/pkgs/games/prboom/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, stdenv, fetchurl, SDL, SDL_mixer, SDL_net -, libGLU ? null -, libGL ? null -, useOpenGL ? stdenv.hostPlatform == stdenv.buildPlatform -}: - -assert useOpenGL -> libGL != null && libGLU != null; - -stdenv.mkDerivation rec { - pname = "prboom"; - version = "2.5.0"; - src = fetchurl { - url = "mirror://sourceforge/prboom/prboom-${version}.tar.gz"; - sha256 = "1bjb04q8dk232956k30qlpq6q0hxb904yh1nflr87jcc1x3iqv12"; - }; - - buildInputs = [ SDL SDL_mixer SDL_net ] - ++ lib.optionals useOpenGL [ libGL libGLU ]; - - doCheck = stdenv.hostPlatform == stdenv.buildPlatform; - - configureFlags = [ - (lib.enableFeature useOpenGL "gl") - (lib.enableFeature doCheck "sdltest") - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "--disable-cpu-opt" - "--without-x" - "ac_cv_type_uid_t=yes" - "ac_cv_type_gid_t=yes" - ]; - - postInstall = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' - mv $out/games/ $out/bin - ''; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index e960196bb6d7..1e08e6b44dfe 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1030,6 +1030,7 @@ mapAliases ({ pinentry_gtk2 = pinentry-gtk2; # Added 2019-10-14 pinentry_qt = pinentry-qt; # Added 2019-10-14 pinentry_qt5 = pinentry-qt; # Added 2020-02-11 + prboom = throw "prboom was removed because it was abandoned by upstream, use prboom-plus instead"; # Added 2022-04-24 privateer = throw "privateer was removed because it was broken"; # Added 2021-05-18 processing3 = processing; # Added 2019-08-16 procps-ng = throw "'procps-ng' has been renamed to/replaced by 'procps'"; # Converted to throw 2022-02-22 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 91a4d70ef11f..06524bc93cd4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -31859,8 +31859,6 @@ with pkgs; powermanga = callPackage ../games/powermanga { }; - prboom = callPackage ../games/prboom { }; - prboom-plus = callPackage ../games/prboom-plus { }; pysolfc = python3Packages.callPackage ../games/pysolfc { };