Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 54 lines 1.6 kB view raw
1{ 2 lib, 3 fetchFromGitHub, 4 makeWrapper, 5 maven, 6 jdk, 7}: 8 9maven.buildMavenPackage rec { 10 pname = "slipstream"; 11 version = "1.9.1"; 12 13 src = fetchFromGitHub { 14 owner = "Vhati"; 15 repo = "Slipstream-Mod-Manager"; 16 rev = "v${version}"; 17 hash = "sha256-F+o94Oh9qxVdfgwdmyOv+WZl1BjQuzhQWaVrAgScgIU="; 18 }; 19 20 mvnJdk = jdk; 21 mvnHash = "sha256-woOSkF5TuzaJ84EndryMoXTMbbK/V/BShM1k+WB8D/c="; 22 23 nativeBuildInputs = [ makeWrapper ]; 24 25 installPhase = '' 26 runHook preInstall 27 28 mkdir -p $out/share/java 29 install -Dm644 target/ftl-mod-manager-${version}.jar $out/share/java 30 install -Dm644 target/modman.jar $out/share/java 31 32 # slipstream is very finniky about having specific 33 # folders at startup, so wrapper creates them for it. 34 # this is because slipstream expects to be started from 35 # archive it comes from, but we can't do that since 36 # we need the mods directory to be writable. 37 # see: https://github.com/Vhati/Slipstream-Mod-Manager/blob/85cad4ffbef8583d908b189204d7d22a26be43f8/src/main/java/net/vhati/modmanager/cli/SlipstreamCLI.java#L105 38 makeWrapper ${jdk}/bin/java $out/bin/${pname} \ 39 --run '_dir="''${XDG_DATA_HOME:-$HOME/.local/share}/slipstream"' \ 40 --run 'mkdir -p $_dir/{mods,backup}' \ 41 --run 'cd $_dir' \ 42 --append-flags "-jar $out/share/java/modman.jar" 43 44 runHook postInstall 45 ''; 46 47 meta = with lib; { 48 description = "Mod manager for FTL: Faster Than Light"; 49 homepage = "https://github.com/Vhati/Slipstream-Mod-Manager"; 50 license = licenses.gpl2Only; 51 maintainers = with maintainers; [ mib ]; 52 mainProgram = "slipstream"; 53 }; 54}