1 { lib, stdenv, fetchurl, boost, curl, ffmpeg_4, icoutils, libGLU, libmad, libogg
2 , libpng, libsndfile, libvorbis, lua, pkg-config, SDL2, SDL2_image, SDL2_net
3 , SDL2_ttf, smpeg, speex, zziplib, zlib, makeWrapper, makeDesktopItem, unzip
7 self = stdenv.mkDerivation rec {
8 outputs = [ "out" "icons" ];
13 url = let date = "20210408";
14 in "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${date}/AlephOne-${date}.tar.bz2";
15 sha256 = "sha256-tMwATUhUpo8W2oSWxGSZcAHVkj1PWEvUR/rpMZwWCWA=";
18 nativeBuildInputs = [ pkg-config icoutils ];
41 configureFlags = [ "--with-boost=${boost}" ];
43 enableParallelBuilding = true;
47 icotool -x -i 5 -o $icons Resources/Windows/*.ico
49 for x in *_5_48x48x32.png; do
50 mv $x ''${x%_5_48x48x32.png}.png
57 "Aleph One is the open source continuation of Bungie’s Marathon 2 game engine";
58 homepage = "https://alephone.lhowon.org/";
59 license = with licenses; [ gpl3 ];
60 maintainers = with maintainers; [ ehmry ];
61 platforms = platforms.linux;
66 makeWrapper = { pname, desktopName, version, zip, meta
67 , icon ? alephone.icons + "/alephone.png", ... }@extraArgs:
68 stdenv.mkDerivation ({
69 inherit pname version;
71 desktopItem = makeDesktopItem {
75 categories = [ "Game" ];
76 comment = meta.description;
77 inherit desktopName icon;
82 nativeBuildInputs = [ makeWrapper unzip ];
88 mkdir -p $out/bin $out/data/$pname $out/share/applications
89 cp -a * $out/data/$pname
90 cp $desktopItem/share/applications/* $out/share/applications
91 makeWrapper ${alephone}/bin/alephone $out/bin/$pname \
92 --add-flags $out/data/$pname
95 meta = alephone.meta // {
96 license = lib.licenses.free;