alephone: 1.8 -> 1.8.1

Reformat, add version check.
This commit is contained in:
Emery Hemingway 2024-05-16 11:50:28 +02:00
parent 977a49df31
commit e8e796df3a

View File

@ -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.8";
version = "1.8.1";
src = fetchurl {
url =
let date = "20240510";
in "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${date}/AlephOne-${date}.tar.bz2";
sha256 = "sha256-3+3lTAVOxTTs13uuVsmq4CKmdNkQv+lY7YV1HkIwvDs=";
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 Bungies Marathon 2 game engine";
description = "Aleph One is the open source continuation of Bungies 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;
}
);
})