diff options
Diffstat (limited to 'pkgs/by-name/al/alephone/package.nix')
-rw-r--r-- | pkgs/by-name/al/alephone/package.nix | 168 |
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; + } + ); }) |