about summary refs log tree commit diff
path: root/pkgs/by-name/al/alephone/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/al/alephone/package.nix')
-rw-r--r--pkgs/by-name/al/alephone/package.nix168
1 files changed, 96 insertions, 72 deletions
diff --git a/pkgs/by-name/al/alephone/package.nix b/pkgs/by-name/al/alephone/package.nix
index 0e4979d4393e8..d850e77d7b3cd 100644
--- a/pkgs/by-name/al/alephone/package.nix
+++ b/pkgs/by-name/al/alephone/package.nix
@@ -1,47 +1,57 @@
-{ lib
-, stdenv
-, fetchurl
-, alsa-lib
-, boost
-, curl
-, ffmpeg_4
-, icoutils
-, libGLU
-, libmad
-, libogg
-, libpng
-, libsndfile
-, libvorbis
-, lua
-, makeDesktopItem
-, makeWrapper
-, miniupnpc
-, openal
-, pkg-config
-, SDL2
-, SDL2_image
-, SDL2_net
-, SDL2_ttf
-, speex
-, unzip
-, zlib
-, zziplib
-, alephone
+{
+  lib,
+  stdenv,
+  fetchurl,
+  alsa-lib,
+  boost,
+  curl,
+  ffmpeg_4,
+  icoutils,
+  libGLU,
+  libmad,
+  libogg,
+  libpng,
+  libsndfile,
+  libvorbis,
+  lua,
+  makeDesktopItem,
+  makeWrapper,
+  miniupnpc,
+  openal,
+  pkg-config,
+  SDL2,
+  SDL2_image,
+  SDL2_net,
+  SDL2_ttf,
+  speex,
+  unzip,
+  zlib,
+  zziplib,
+  alephone,
+  testers,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
-  outputs = [ "out" "icons" ];
+  outputs = [
+    "out"
+    "icons"
+  ];
   pname = "alephone";
-  version = "1.7.1";
+  version = "1.8.1";
 
   src = fetchurl {
     url =
-      let date = "20240119";
-      in "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${date}/AlephOne-${date}.tar.bz2";
-    sha256 = "sha256-esqjhOSrqtapnS9xF/EThgn2c/vW4hTpMpecXW6BzAQ=";
+      let
+        date = "20240513";
+      in
+      "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${date}/AlephOne-${date}.tar.bz2";
+    sha256 = "sha256-IUvMfG4jtN/QXq4DQIDuI0+Bl3MSSwDGKOyjfcRWgvE=";
   };
 
-  nativeBuildInputs = [ pkg-config icoutils ];
+  nativeBuildInputs = [
+    pkg-config
+    icoutils
+  ];
 
   buildInputs = [
     alsa-lib
@@ -81,9 +91,12 @@ stdenv.mkDerivation (finalAttrs: {
     popd
   '';
 
+  passthru.tests.version =
+    # test that the version is correct
+    testers.testVersion { package = alephone; };
+
   meta = {
-    description =
-      "Aleph One is the open source continuation of Bungie’s Marathon 2 game engine";
+    description = "Aleph One is the open source continuation of Bungie’s Marathon 2 game engine";
     mainProgram = "alephone";
     homepage = "https://alephone.lhowon.org/";
     license = [ lib.licenses.gpl3 ];
@@ -92,45 +105,56 @@ stdenv.mkDerivation (finalAttrs: {
   };
 
   passthru.makeWrapper =
-    { pname
-    , desktopName
-    , version
-    , zip
-    , meta
-    , icon ? alephone.icons + "/alephone.png"
-    , ...
+    {
+      pname,
+      desktopName,
+      version,
+      zip,
+      meta,
+      icon ? alephone.icons + "/alephone.png",
+      ...
     }@extraArgs:
-    stdenv.mkDerivation ({
-      inherit pname version;
+    stdenv.mkDerivation (
+      {
+        inherit pname version;
 
-      desktopItem = makeDesktopItem {
-        name = desktopName;
-        exec = pname;
-        genericName = pname;
-        categories = [ "Game" ];
-        comment = meta.description;
-        inherit desktopName icon;
-      };
+        desktopItem = makeDesktopItem {
+          name = desktopName;
+          exec = pname;
+          genericName = pname;
+          categories = [ "Game" ];
+          comment = meta.description;
+          inherit desktopName icon;
+        };
 
-      src = zip;
+        src = zip;
 
-      nativeBuildInputs = [ makeWrapper unzip ];
+        nativeBuildInputs = [
+          makeWrapper
+          unzip
+        ];
 
-      dontConfigure = true;
-      dontBuild = true;
+        dontConfigure = true;
+        dontBuild = true;
 
-      installPhase = ''
-        mkdir -p $out/bin $out/data/$pname $out/share/applications
-        cp -a * $out/data/$pname
-        cp $desktopItem/share/applications/* $out/share/applications
-        makeWrapper ${alephone}/bin/alephone $out/bin/$pname \
-          --add-flags $out/data/$pname
-      '';
-    } // extraArgs // {
-      meta = alephone.meta // {
-        license = lib.licenses.free;
-        mainProgram = pname;
-        hydraPlatforms = [ ];
-      } // meta;
-    });
+        installPhase = ''
+          mkdir -p $out/bin $out/data/$pname $out/share/applications
+          cp -a * $out/data/$pname
+          cp $desktopItem/share/applications/* $out/share/applications
+          makeWrapper ${alephone}/bin/alephone $out/bin/$pname \
+            --add-flags $out/data/$pname
+        '';
+      }
+      // extraArgs
+      // {
+        meta =
+          alephone.meta
+          // {
+            license = lib.licenses.free;
+            mainProgram = pname;
+            hydraPlatforms = [ ];
+          }
+          // meta;
+      }
+    );
 })