diff options
| author | eroen | 2017-07-16 22:55:19 +0200 |
|---|---|---|
| committer | eroen | 2017-07-16 22:55:19 +0200 |
| commit | 142d368abb0fc8a6e381993a9ec0caf9617a595d (patch) | |
| tree | 3fb1a69c9966a33613eccc81568ff70cfda2c177 /games-util/dfhack/files/dfhack-r1 | |
| parent | 4d27ca5318bcfa7d637249c9d8c96b521421c991 (diff) | |
| download | eroen-overlay-142d368abb0fc8a6e381993a9ec0caf9617a595d.tar.gz eroen-overlay-142d368abb0fc8a6e381993a9ec0caf9617a595d.tar.bz2 eroen-overlay-142d368abb0fc8a6e381993a9ec0caf9617a595d.tar.xz | |
dfhack-0.43.05.2 - bump
Diffstat (limited to 'games-util/dfhack/files/dfhack-r1')
| -rw-r--r-- | games-util/dfhack/files/dfhack-r1 | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/games-util/dfhack/files/dfhack-r1 b/games-util/dfhack/files/dfhack-r1 new file mode 100644 index 00000000..cd548528 --- /dev/null +++ b/games-util/dfhack/files/dfhack-r1 @@ -0,0 +1,39 @@ +#!/bin/sh + +gamesdir=/opt/dwarf-fortress +dfhackdir=/opt/dfhack +install="$HOME/.dwarf-fortress" +exe="./libs/Dwarf_Fortress" + +do_install() { + # -n switch requires GNU cp 7.1 + cp -rn "$gamesdir"/data "$install"/ + # DF gets unhappy when this is out of sync + cp -f "$gamesdir"/data/index "$install"/data/ + cp -rsn "$gamesdir"/* "$install"/ +} + +do_dfhack_install() { + cp -sn "$dfhackdir"/hack/raw/* "$install"/raw + + cp -rn "$dfhackdir"/dfhack-config "$install"/ + cp -ns "$dfhackdir"/dfhack.init-example "$install"/ + cp -ns "$dfhackdir"/onLoad.init-example "$install"/ +} + +if [ -d "$install" ]; then + # delete dangling symlinks + find -L "$install/" -type l -delete + # ignore "are the same file" errors + do_install 2>/dev/null + do_dfhack_install 2>/dev/null +else + mkdir "$install" || exit + do_install || exit + do_dfhack_install || exit +fi + +cd "$install" || exit +export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$dfhackdir/hack/lib:$dfhackdir/hack" +export LD_PRELOAD="${LD_PRELOAD:+$LD_PRELOAD:}$dfhackdir/hack/libdfhack.so" +exec "$exe" "$@" |
