summaryrefslogtreecommitdiffstats
path: root/krebs/5pkgs/simple/ftb/default.nix
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2018-01-30 19:05:10 +0100
committerlassulus <lassulus@lassul.us>2018-01-30 19:05:10 +0100
commitffc294575cb59585c3bfb6b85fa45fb69cdf1d41 (patch)
tree1efdaf6e5e069195967f1e77046171eeeb605526 /krebs/5pkgs/simple/ftb/default.nix
parentcec665d4c1552a4453a5d07d3725ca211093d676 (diff)
init ftb
Diffstat (limited to 'krebs/5pkgs/simple/ftb/default.nix')
-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
+ '';
+}