summaryrefslogtreecommitdiffstats
path: root/krebs/5pkgs/simple/ftb
diff options
context:
space:
mode:
authornin <nin@c-base.org>2018-01-30 23:06:17 +0100
committernin <nin@c-base.org>2018-01-30 23:06:17 +0100
commit6849d7aa4810d5f1f2ec55d852d21812dd1b8002 (patch)
treeb2b236981d6cb2d226fbe239845838a15c22b30e /krebs/5pkgs/simple/ftb
parent80c2e23ec028bfda5c0bad0e3269648d34d298b0 (diff)
parentffc294575cb59585c3bfb6b85fa45fb69cdf1d41 (diff)
Merge remote-tracking branch 'prism/master'
Diffstat (limited to 'krebs/5pkgs/simple/ftb')
-rw-r--r--krebs/5pkgs/simple/ftb/default.nix51
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
+ '';
+}