summaryrefslogtreecommitdiffstats
path: root/pkgs/games/dwarf-fortress/legends-browser
diff options
context:
space:
mode:
authorSvein Ove Aas <sveina@gmail.com>2018-07-05 00:06:00 +0100
committerSvein Ove Aas <sveina@gmail.com>2018-07-05 00:39:28 +0100
commit472d8dcb9159110a61a7ebd0cace826900ca6b3c (patch)
tree5c7e0bbc7f1a464031c13516113d606cd1c0f012 /pkgs/games/dwarf-fortress/legends-browser
parentc8095af0cd0f005f802f952eaf9666b3d92475e9 (diff)
dwarf-fortress: Run legends-browser with a suitable working directory
Diffstat (limited to 'pkgs/games/dwarf-fortress/legends-browser')
-rw-r--r--pkgs/games/dwarf-fortress/legends-browser/default.nix32
1 files changed, 20 insertions, 12 deletions
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
+
+buildEnv {
+ inherit name;
+ paths = [ script ];
- meta = with stdenv.lib; {
+ meta = with stdenvNoCC.lib; {
description = "A multi-platform, open source, java-based legends viewer for dwarf fortress";
maintainers = with maintainers; [ Baughn ];
license = licenses.mit;