about summary refs log tree commit diff
path: root/pkgs/games/astromenace/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games/astromenace/default.nix')
-rw-r--r--pkgs/games/astromenace/default.nix82
1 files changed, 60 insertions, 22 deletions
diff --git a/pkgs/games/astromenace/default.nix b/pkgs/games/astromenace/default.nix
index f50739d114a0d..54fbf7a1c8b0c 100644
--- a/pkgs/games/astromenace/default.nix
+++ b/pkgs/games/astromenace/default.nix
@@ -1,33 +1,70 @@
-{ fetchurl, lib, stdenv, cmake, xorg, libGLU, libGL, SDL, openal, fontconfig, freealut, freetype, libogg, libvorbis, runtimeShell }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, ninja
+, makeWrapper
+, xorg
+, libGLU
+, libGL
+, SDL2
+, openal
+, fontconfig
+, freealut
+, freetype
+, libogg
+, libvorbis
+, runtimeShell
+}:
 
 stdenv.mkDerivation rec {
   pname = "astromenace";
-  version = "1.4.1";
+  version = "1.4.2";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/openastromenace/astromenace-src-${version}.tar.bz2";
-    sha256 = "1rkz6lwjcd5mwv72kf07ghvx6z46kf3xs250mjbmnmjpn7r5sxwv";
+  src = fetchFromGitHub {
+    owner = "viewizard";
+    repo = "astromenace";
+    rev = "v${version}";
+    hash = "sha256-VFFFYHsBxkURHqOBeuRuIxRKsy8baw2izOZ/qXUkiW8=";
   };
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ xorg.libICE xorg.libX11 xorg.libXinerama libGLU libGL SDL openal fontconfig freealut freetype libogg libvorbis ];
+  patches = [
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/astromenace/raw/5e6bc02d115a53007dc47ef8223d8eaa25607588/f/astromenace-gcc13.patch";
+      hash = "sha256-pkmTVR86vS+KCICxAp+d7upNWVnSNxwdKmxnbtqIvgU=";
+    })
+  ];
 
-  postBuild = ''
-    ./AstroMenace --pack --rawdata=../RAW_VFS_DATA
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
+  nativeBuildInputs = [
+    cmake
+    ninja
+    makeWrapper
+  ];
 
-    cp AstroMenace $out
-    cp gamedata.vfs $out
+  buildInputs = [
+    xorg.libICE
+    xorg.libX11
+    xorg.libXinerama
+    libGLU
+    libGL
+    SDL2
+    openal
+    fontconfig
+    freealut
+    freetype
+    libogg
+    libvorbis
+  ];
 
-    cat > $out/bin/AstroMenace << EOF
-    #!${runtimeShell}
-    $out/AstroMenace --dir=$out
-    EOF
-
-    chmod 755 $out/bin/AstroMenace
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/share/astromenace
+    install -Dm644 gamedata.vfs $out/share/astromenace/gamedata.vfs
+    install -Dm755 astromenace $out/bin/astromenace
+    wrapProgram $out/bin/astromenace \
+      --add-flags "--dir=$out/share/astromenace"
+    runHook postInstall
   '';
 
   meta = with lib; {
@@ -35,6 +72,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.viewizard.com/";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    mainProgram = "AstroMenace";
+    mainProgram = "astromenace";
+    maintainers = with maintainers; [ fgaz ];
   };
 }