summary refs log tree commit diff
path: root/pkgs/games/dwarf-fortress
diff options
context:
space:
mode:
authorHerwig Hochleitner <herwig@bendlas.net>2017-06-19 02:48:02 +0200
committerHerwig Hochleitner <herwig@bendlas.net>2017-10-28 14:55:20 +0200
commit24ea0938066d53e4f43fb208a5f2ce506c682b38 (patch)
tree2e64c8bebf75f326c178b5835fad6c60f92c743d /pkgs/games/dwarf-fortress
parentd6ee81e912c5dbfb7db23387c31996b258d0193f (diff)
downloadnixlib-24ea0938066d53e4f43fb208a5f2ce506c682b38.tar
nixlib-24ea0938066d53e4f43fb208a5f2ce506c682b38.tar.gz
nixlib-24ea0938066d53e4f43fb208a5f2ce506c682b38.tar.bz2
nixlib-24ea0938066d53e4f43fb208a5f2ce506c682b38.tar.lz
nixlib-24ea0938066d53e4f43fb208a5f2ce506c682b38.tar.xz
nixlib-24ea0938066d53e4f43fb208a5f2ce506c682b38.tar.zst
nixlib-24ea0938066d53e4f43fb208a5f2ce506c682b38.zip
dwarf-fortress-packages.soundSense: init 2016-1_196
Diffstat (limited to 'pkgs/games/dwarf-fortress')
-rw-r--r--pkgs/games/dwarf-fortress/default.nix2
-rw-r--r--pkgs/games/dwarf-fortress/soundsense.nix35
-rw-r--r--pkgs/games/dwarf-fortress/wrapper/default.nix11
-rw-r--r--pkgs/games/dwarf-fortress/wrapper/soundSense.in10
4 files changed, 57 insertions, 1 deletions
diff --git a/pkgs/games/dwarf-fortress/default.nix b/pkgs/games/dwarf-fortress/default.nix
index d26258081fcb..c759c4c60dae 100644
--- a/pkgs/games/dwarf-fortress/default.nix
+++ b/pkgs/games/dwarf-fortress/default.nix
@@ -11,6 +11,8 @@ let
       inherit (pkgs.perlPackages) XMLLibXML XMLLibXSLT;
     };
 
+    soundSense = callPackage ./soundsense.nix { };
+
     dwarf-fortress-unfuck = callPackage ./unfuck.nix { };
 
     dwarf-fortress = callPackage ./wrapper {
diff --git a/pkgs/games/dwarf-fortress/soundsense.nix b/pkgs/games/dwarf-fortress/soundsense.nix
new file mode 100644
index 000000000000..c87f42d58c0f
--- /dev/null
+++ b/pkgs/games/dwarf-fortress/soundsense.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchzip, dos2unix
+, soundPack ? stdenv.mkDerivation {
+    name = "soundsense-soundpack";
+    src = fetchzip {
+      url = "http://df.zweistein.cz/soundsense/soundpack.zip";
+      sha256 = "0qz0mjkp7wp0gxk3ws2x760awv8c9lkacj2fn9bz3gqqnq262ffa";
+    };
+    installPhase = ''
+      cp -r . $out
+    '';
+}}:
+
+stdenv.mkDerivation rec {
+  version = "2016-1_196";
+  dfVersion = "0.43.05";
+  inherit soundPack;
+  name = "soundsense-${version}";
+  src = fetchzip {
+    url = "http://df.zweistein.cz/soundsense/soundSense_${version}.zip";
+    sha256 = "1gkrs69l3xsh858yjp204ddp29m668j630akm7arssc9359wxqkk";
+  };
+  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
+  nativeBuildInputs = [ dos2unix ];
+  buildPhase = ''
+    dos2unix soundSense.sh
+    chmod +x soundSense.sh
+  '';
+  installPhase = ''
+    mkdir $out
+    cp -R . $out/soundsense
+    ln -s $out/soundsense/dfhack $out/hack
+    ln -s $soundPack $out/soundsense/packs
+  '';
+  passthru = { inherit version dfVersion; };
+}
diff --git a/pkgs/games/dwarf-fortress/wrapper/default.nix b/pkgs/games/dwarf-fortress/wrapper/default.nix
index 15b51631b33b..232e0b7b3b54 100644
--- a/pkgs/games/dwarf-fortress/wrapper/default.nix
+++ b/pkgs/games/dwarf-fortress/wrapper/default.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, buildEnv, dwarf-fortress-original, substituteAll
 , enableDFHack ? false, dfhack
+, enableSoundSense ? false, soundSense, jdk
 , themes ? {}
 , theme ? null
 }:
@@ -13,13 +14,14 @@ let
   # These are in inverse order for first packages to override the next ones.
   pkgs = lib.optional (theme != null) ptheme
          ++ lib.optional enableDFHack dfhack
+         ++ lib.optional enableSoundSense soundSense
          ++ [ dwarf-fortress-original ];
 
   env = buildEnv {
     name = "dwarf-fortress-env-${dwarf-fortress-original.dfVersion}";
 
     paths = pkgs;
-    pathsToLink = [ "/" "/hack" ];
+    pathsToLink = [ "/" "/hack" "/hack/scripts" ];
     ignoreCollisions = true;
 
     postBuild = lib.optionalString enableDFHack ''
@@ -44,6 +46,7 @@ stdenv.mkDerivation rec {
 
   runDF = ./dwarf-fortress.in;
   runDFHack = ./dfhack.in;
+  runSoundSense = ./soundSense.in;
 
   buildCommand = ''
     mkdir -p $out/bin
@@ -57,6 +60,12 @@ stdenv.mkDerivation rec {
       --subst-var-by stdenv_shell ${stdenv.shell} \
       --subst-var dfInit
     chmod 755 $out/bin/dfhack
+  '' + lib.optionalString enableSoundSense ''
+    substitute $runSoundSense $out/bin/soundsense \
+      --subst-var-by stdenv_shell ${stdenv.shell} \
+      --subst-var-by jre ${jdk.jre} \
+      --subst-var dfInit
+    chmod 755 $out/bin/soundsense
   '';
 
   preferLocalBuild = true;
diff --git a/pkgs/games/dwarf-fortress/wrapper/soundSense.in b/pkgs/games/dwarf-fortress/wrapper/soundSense.in
new file mode 100644
index 000000000000..28357ed7579f
--- /dev/null
+++ b/pkgs/games/dwarf-fortress/wrapper/soundSense.in
@@ -0,0 +1,10 @@
+#!@stdenv_shell@ -e
+
+source @dfInit@
+
+for p in soundsense/*; do
+  update_path "$p"
+done
+
+cd "$DF_DIR"
+PATH=@jre@/bin exec $DF_DIR/soundsense/soundSense.sh