Skip to content

Instantly share code, notes, and snippets.

@AcouBass
Last active April 17, 2017 01:47
Show Gist options
  • Save AcouBass/f02e06fa4e8831e4cf96b7cd07a94304 to your computer and use it in GitHub Desktop.
Save AcouBass/f02e06fa4e8831e4cf96b7cd07a94304 to your computer and use it in GitHub Desktop.
{ stdenv, fetchurl, makeDesktopItem, jre7, openal, libX11, libXext, libXcursor, libXrandr, libXxf86vm, openjdk7, mesa }:
with stdenv.lib;
let
icon = fetchurl {
url = "http://rocketdock.com/images/screenshots/thumbnails/runescape-1.png";
sha256 = "1hyxjjc33673a899f991756qnmq2mga786xkz1hw5fadb1zjq2p3";
};
desktopItem = makeDesktopItem {
name = "runescape-java";
exec = "runescape-java";
icon = "${icon}";
comment = "RuneScape legacy Java client";
desktopName = "RuneScape Java";
genericName = "RuneScape";
categories = "Game;";
};
in stdenv.mkDerivation {
name = "runescape-java";
version = "1.2.7-1";
src = fetchurl {
url = "http://www.runescape.com/downloads/jagexappletviewer.jar";
sha256 = "0gvr291wzfnw3iwkc5sm9msmyjimcadiwwav5am64alc4k2zzak5";
};
phases = "installPhase";
installPhase = ''
set -x
mkdir -p $out/bin
mkdir -p $out/opt
mkdir -p $out/share/pixmaps
cp -v $src $out/opt/jagexappletviewer.jar
cp ${icon} $out/share/pixmaps/jagexappletviewer.png
#cp -v $icon $out/share/icons/hicolor/32x32/apps/jagexappletviewer.png
#mkdir -p $out/share/applications
cp -r "${desktopItem}/share/applications/" $out/share/
substituteInPlace $out/share/applications/runescape-java.desktop \
--replace "runescape-java" "$out/bin/runescape-java"
cat > $out/bin/$name << EOF
#!${stdenv.shell}
export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${makeLibraryPath [ jre7 openjdk7 libX11 libXext libXcursor libXrandr openal libXxf86vm mesa ]}:${jre7}/lib/openjdk/jre/lib/amd64
${jre7}/bin/java -Xmx1024m -Xss2m -Dsun.java2d.noddraw=true -Dsun.java3d.opengl=true -d64 -Xdebug -XX:+UnlockExperimentalVMOptions -XX:+TieredCompilation -XX:ReservedCodeCacheSize=256m -XX:UseSSE=4 -XX:+UseCompressedOops -XX:+AggressiveOpts -XX:+UseAdaptiveGCBoundary -XX:MaxGCPauseMillis=500 -XX:SurvivorRatio=16 -XX:+UseParallelGC -XX:ParallelGCThreads=8 -Djava.class.path=$out/opt/jagexappletviewer.jar -Dcom.jagex.config=$"http://www.runescape.com/k=3/l=en/jav_config.ws" jagexappletviewer $out/share/pixmaps
EOF
chmod +x $out/bin/$name
'';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment