Merge pull request #43057 from Baughn/nix-df

dwarf-fortress: Run legends-browser with a suitable working directory
This commit is contained in:
Matthew Bauer 2018-07-05 00:10:13 -04:00 committed by GitHub
commit a4c9492217
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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;