diff options
author | nin <nin@c-base.org> | 2018-01-30 23:06:17 +0100 |
---|---|---|
committer | nin <nin@c-base.org> | 2018-01-30 23:06:17 +0100 |
commit | 6849d7aa4810d5f1f2ec55d852d21812dd1b8002 (patch) | |
tree | b2b236981d6cb2d226fbe239845838a15c22b30e /krebs/5pkgs/simple/ftb/default.nix | |
parent | 80c2e23ec028bfda5c0bad0e3269648d34d298b0 (diff) | |
parent | ffc294575cb59585c3bfb6b85fa45fb69cdf1d41 (diff) |
Merge remote-tracking branch 'prism/master'
Diffstat (limited to 'krebs/5pkgs/simple/ftb/default.nix')
-rw-r--r-- | krebs/5pkgs/simple/ftb/default.nix | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/krebs/5pkgs/simple/ftb/default.nix b/krebs/5pkgs/simple/ftb/default.nix new file mode 100644 index 000000000..199c12b44 --- /dev/null +++ b/krebs/5pkgs/simple/ftb/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, makeDesktopItem +, jre, libX11, libXext, libXcursor, libXrandr, libXxf86vm +, openjdk +, mesa, openal +, useAlsa ? false, alsaOss ? null }: +with stdenv.lib; + +assert useAlsa -> alsaOss != null; + +let + desktopItem = makeDesktopItem { + name = "minecraft"; + exec = "minecraft"; + icon = "minecraft"; + comment = "A sandbox-building game"; + desktopName = "Minecraft"; + genericName = "minecraft"; + categories = "Game;"; + }; + +in stdenv.mkDerivation { + name = "ftb"; + + src = fetchurl { + url = "http://ftb.cursecdn.com/FTB2/launcher/FTB_Launcher.jar"; + sha256 = "10ga4jgyfsj5dy4rj2rla0fpnfpnxv8r3bmxpqpwn7fsry4il79v"; + }; + + phases = "installPhase"; + + installPhase = '' + set -x + mkdir -pv $out/bin + cp -v $src $out/ftb.jar + + cat > $out/bin/ftb << EOF + #!${stdenv.shell} + + export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${makeLibraryPath [ libX11 libXext libXcursor libXrandr libXxf86vm mesa openal ]} + ${if useAlsa then "${alsaOss}/bin/aoss" else "" } \ + ${jre}/bin/java -jar $out/ftb.jar + EOF + + chmod +x $out/bin/ftb + + mkdir -p $out/share/applications + ln -s ${desktopItem}/share/applications/* $out/share/applications/ + + ${openjdk}/bin/jar xf $out/ftb.jar favicon.png + ''; +} |