diff options
author | Nikolay Amiantov <ab@fmap.me> | 2016-01-12 21:17:46 +0300 |
---|---|---|
committer | Nikolay Amiantov <ab@fmap.me> | 2016-01-26 03:05:38 +0300 |
commit | fdae86fb4e3234441987d9164f6f5b7e2d15d0c3 (patch) | |
tree | 3bae9ca36e5a590cbff178910e6d0de9885a5bd0 /pkgs/games/dwarf-fortress/dwarf-therapist | |
parent | 92cda7a6bb17948523feefece3c20e35bb213daa (diff) | |
download | nixlib-fdae86fb4e3234441987d9164f6f5b7e2d15d0c3.tar nixlib-fdae86fb4e3234441987d9164f6f5b7e2d15d0c3.tar.gz nixlib-fdae86fb4e3234441987d9164f6f5b7e2d15d0c3.tar.bz2 nixlib-fdae86fb4e3234441987d9164f6f5b7e2d15d0c3.tar.lz nixlib-fdae86fb4e3234441987d9164f6f5b7e2d15d0c3.tar.xz nixlib-fdae86fb4e3234441987d9164f6f5b7e2d15d0c3.tar.zst nixlib-fdae86fb4e3234441987d9164f6f5b7e2d15d0c3.zip |
dwarf-therapist: 31.0.0 -> 36.0.0
Diffstat (limited to 'pkgs/games/dwarf-fortress/dwarf-therapist')
-rw-r--r-- | pkgs/games/dwarf-fortress/dwarf-therapist/default.nix | 40 | ||||
-rw-r--r-- | pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix | 41 |
2 files changed, 81 insertions, 0 deletions
diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix new file mode 100644 index 000000000000..07714168e0e8 --- /dev/null +++ b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchFromGitHub, coreutils, qt4, texlive }: + +let + version = "36.0.0"; +in +stdenv.mkDerivation { + name = "dwarf-therapist-original-${version}"; + + src = fetchFromGitHub { + owner = "splintermind"; + repo = "Dwarf-Therapist"; + rev = "v${version}"; + sha256 = "08xjawb25sibkkfqwd4mlq73dgmgc6lxbbd673rx7yhrsjh4z4h3"; + }; + + outputs = [ "out" "layouts" ]; + buildInputs = [ qt4 ]; + nativeBuildInputs = [ texlive ]; + + enableParallelBuilding = false; + + configurePhase = '' + qmake PREFIX=$out + ''; + + # Move layout files so they cannot be found by Therapist + postInstall = '' + mkdir -p $layouts + mv $out/share/dwarftherapist/memory_layouts/* $layouts + rmdir $out/share/dwarftherapist/memory_layouts + ''; + + meta = { + description = "Tool to manage dwarves in in a running game of Dwarf Fortress"; + maintainers = with stdenv.lib.maintainers; [ the-kenny abbradar ]; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.linux; + homepage = https://code.google.com/r/splintermind-attributes/; + }; +} diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix new file mode 100644 index 000000000000..6b138ac51029 --- /dev/null +++ b/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix @@ -0,0 +1,41 @@ +{ buildEnv, lib, dwarf-therapist-original, dwarf-fortress-original, makeWrapper }: + +let + df = dwarf-fortress-original; + dt = dwarf-therapist-original; + inifile = "linux/v0${df.baseVersion}.${df.patchVersion}.ini"; + dfHashFile = "${df}/hash.md5"; + +in buildEnv { + name = "dwarf-therapist-${lib.getVersion dt}"; + + paths = [ dt ]; + + buildInputs = [ makeWrapper ]; + + postBuild = '' + # DwarfTherapist assumes it's run in $out/share/dwarftherapist and + # therefore uses many relative paths. + rm $out/bin + mkdir $out/bin + makeWrapper ${dt}/bin/DwarfTherapist $out/bin/DwarfTherapist \ + --run "cd $out/share/dwarftherapist" + + # Fix checksum of memory access directives. We really need #4621 fixed! + recreate_dir() { + rm "$out/$1" + mkdir -p "$out/$1" + for i in "${dt}/$1/"*; do + ln -s "$i" "$out/$1" + done + } + + recreate_dir share + recreate_dir share/dwarftherapist + mkdir -p $out/share/dwarftherapist/memory_layouts/linux + substitute \ + ${dt.layouts}/${inifile} \ + $out/share/dwarftherapist/memory_layouts/${inifile} \ + --replace $(cat "${dfHashFile}.orig") $(cat "${dfHashFile}.patched") + ''; +} |