about summary refs log tree commit diff
path: root/pkgs/games/hhexen
diff options
context:
space:
mode:
authorJacob Moody <moody@posixcafe.org>2023-07-26 18:38:38 -0500
committerAnderson Torres <torres.anderson.85@protonmail.com>2023-07-27 00:16:48 -0300
commit38bfa587724e3490c47d11ee67ca5e264ecadc19 (patch)
tree989718175dee3db2284c8381e201248090c2111e /pkgs/games/hhexen
parentc56fec9f9fb84c846ad0e06a732cec30ac5a4192 (diff)
hhexen: sdlmixer audio backend and various tidy
Diffstat (limited to 'pkgs/games/hhexen')
-rw-r--r--pkgs/games/hhexen/default.nix53
1 files changed, 43 insertions, 10 deletions
diff --git a/pkgs/games/hhexen/default.nix b/pkgs/games/hhexen/default.nix
index 4b978ab565113..075aae69978bc 100644
--- a/pkgs/games/hhexen/default.nix
+++ b/pkgs/games/hhexen/default.nix
@@ -1,23 +1,56 @@
-{ lib, fetchurl, SDL, stdenv }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, SDL
+, SDL_mixer
+, autoreconfHook
+, gitUpdater
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "hhexen";
   version = "1.6.3";
-  src = fetchurl {
-    url = "mirror://sourceforge/hhexen/hhexen-${version}-src.tgz";
-    sha256 = "1jwccqawbdn0rjn5p59j21rjy460jdhps7zwn2z0gq9biggw325b";
+
+  src = fetchFromGitHub {
+    owner = "sezero";
+    repo = "hhexen";
+    rev = "hhexen-${finalAttrs.version}";
+    hash = "sha256-y3jKfU4e8R2pJQN/FN7W6KQ7D/P+7pmQkdmZug15ApI=";
   };
 
-  buildInputs = [ SDL ];
+  nativeBuildInputs = [
+    autoreconfHook
+    SDL.dev
+  ];
+
+  buildInputs = [
+    SDL
+    SDL_mixer
+  ];
+
+  strictDeps = true;
+  enableParallelBuilding = true;
+
+  configureFlags = [ "--with-audio=sdlmixer" ];
+
   installPhase = ''
+    runHook preInstall
+
     install -Dm755 hhexen-gl -t $out/bin
+
+    runHook postInstall
   '';
 
-  meta = with lib; {
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "hhexen-";
+  };
+
+  meta = {
     description = "Linux port of Raven Game's Hexen";
     homepage = "https://hhexen.sourceforge.net/hhexen.html";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ djanatyn ];
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ moody djanatyn ];
     mainProgram = "hhexen-gl";
+    inherit (SDL.meta) platforms;
   };
-}
+})