diff --git a/pkgs/games/dwarf-fortress/legends-browser/default.nix b/pkgs/games/dwarf-fortress/legends-browser/default.nix index 06a40bb85c9e..3bc4fa9c4bb5 100644 --- a/pkgs/games/dwarf-fortress/legends-browser/default.nix +++ b/pkgs/games/dwarf-fortress/legends-browser/default.nix @@ -1,24 +1,32 @@ -{ stdenv, fetchurl, jre }: +{ stdenvNoCC, buildEnv, writeShellScriptBin, fetchurl, jre }: -stdenv.mkDerivation rec { +let name = "legends-browser-${version}"; version = "1.17.1"; - src = fetchurl { + jar = fetchurl { url = "https://github.com/robertjanetzko/LegendsBrowser/releases/download/${version}/legendsbrowser-${version}.jar"; sha256 = "05b4ksbl4481rh3ykfirbp6wvxhppcd5mvclhn9995gsrcaj8gx9"; }; - - unpackPhase = "true"; - - installPhase = '' - mkdir -p $out/bin - ln -s $src $out/legends-browser.jar - echo "${jre}/bin/java -jar $out/legends-browser.jar" > $out/bin/legends-browser - chmod a+x $out/bin/legends-browser + + script = writeShellScriptBin "legends-browser" '' + set -eu + BASE="$HOME/.local/share/df_linux/legends-browser/" + mkdir -p "$BASE" + cd "$BASE" + if [[ ! -e legendsbrowser.properties ]]; then + echo 'Creating initial configuration for legends-browser' + echo "last=$(cd ..; pwd)" > legendsbrowser.properties + fi + ${jre}/bin/java -jar ${jar} ''; +in - meta = with stdenv.lib; { +buildEnv { + inherit name; + paths = [ script ]; + + meta = with stdenvNoCC.lib; { description = "A multi-platform, open source, java-based legends viewer for dwarf fortress"; maintainers = with maintainers; [ Baughn ]; license = licenses.mit;