diff options
author | metamer | 2016-03-05 22:34:21 -0500 |
---|---|---|
committer | metamer | 2016-03-05 22:34:21 -0500 |
commit | cc89c78cc1d677d7a2a6cc6c941f80d72650b1f2 (patch) | |
tree | 1bc6a0d883b02684f05382456b6c826eeb8923c2 | |
download | aur-cc89c78cc1d677d7a2a6cc6c941f80d72650b1f2.tar.gz |
added all files
-rw-r--r-- | .SRCINFO | 75 | ||||
-rw-r--r-- | PKGBUILD | 249 | ||||
-rw-r--r-- | README.md | 43 | ||||
-rw-r--r-- | dfhack-twbt.patch | 12 | ||||
-rw-r--r-- | dfhack-visualizers.patch | 17 | ||||
-rw-r--r-- | dwarffortress-lnp-git.desktop | 10 | ||||
-rw-r--r-- | dwarffortress-lnp-git.install | 14 | ||||
-rw-r--r-- | lnp | 57 |
8 files changed, 477 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..fd5c351a281e --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,75 @@ +# Generated by mksrcinfo v8 +# Sun Mar 6 03:34:14 UTC 2016 +pkgbase = dwarffortress-lnp-git + pkgdesc = Installer for the Lazy Newb Pack to run Dwarf Fortress. Includes vanilla dwarf fortress, dfhack and graphics + pkgver = 42.05 + pkgrel = 1 + epoch = 0 + install = dwarffortress-lnp-git.install + arch = x86_64 + license = custom + makedepends = git + makedepends = mercurial + makedepends = rsync + makedepends = perl-libxml + makedepends = perl-xml-libxslt + makedepends = cmake + depends = python + depends = gtk2 + depends = glu + depends = sdl_image + depends = libsndfile + depends = sdl_ttf + depends = glew + depends = tk + depends = hicolor-icon-theme + optdepends = lib32-nvidia-utils: If you have nvidia graphics + optdepends = lib32-catalyst-utils: If you have ATI graphics + optdepends = lib32-alsa-lib: for alsa sound + optdepends = lib32-libpulse: for pulse sound + optdepends = dwarftherapist-git: call dwarftherapist through gui + optdepends = soundsense: call soundsense through gui + options = !strip + options = !buildflags + source = git+https://github.com/Lazy-Newb-Pack/Lazy-Newb-Pack-Linux + source = git+https://github.com/DFgraphics/DFgraphics.git + source = git+https://github.com/DFHack/dfhack.git#tag=0.42.05-alpha1 + source = git+https://github.com/svenstaro/dwarf_fortress_unfuck.git#tag=0.42.05 + source = git+https://github.com/mifki/df-twbt.git + source = hg+https://bitbucket.org/Pidgeot/python-lnp + source = http://bay12games.com/dwarves/df_42_05_linux.tar.bz2 + source = DFAnnouncementFilter.zip::http://dffd.bay12games.com/download.php?id=7905&f=DFAnnouncementFilter.zip + source = dfhack-twbt.patch + source = dfhack-visualizers.patch + source = lnp + source = dwarffortress-lnp-git.desktop + source = dwarffortress-lnp-git.install + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = 79d2768e7f3ff0d086caa980331466c4 + md5sums = affd6273731c321d364c55a8da314fea + md5sums = 856c54681faed3608cd951bf286d12d5 + md5sums = 771d7eaaf1bd78c7da953ffd30e93c20 + md5sums = 4490ae6da511cee74edbfb28029ed534 + md5sums = bba8ab4d3f70cea8b812e78445fef1f0 + md5sums = 38b526554d151e79476a7a81d285d689 + depends_x86_64 = gcc-libs-multilib + depends_x86_64 = lib32-gtk2 + depends_x86_64 = lib32-glu + depends_x86_64 = lib32-sdl_image + depends_x86_64 = lib32-libsndfile + depends_x86_64 = lib32-openal + depends_x86_64 = lib32-libxdamage + depends_x86_64 = lib32-ncurses + depends_x86_64 = lib32-sdl_ttf + depends_x86_64 = lib32-glew + depends_x86_64 = lib32-libjpeg6-turbo + depends_x86_64 = lib32-libpng12 + makedepends_x86_64 = gcc-multilib + +pkgname = dwarffortress-lnp-git + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..6d91c55f2d55 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,249 @@ +# Maintainer: Metamer <metamer@openmailbox.org> +# Contributors: ytterbium <ytterbium@github> +# Contributors: Andrew Dorney <andrewd18@github> + + +pkgname=dwarffortress-lnp-git +pkgver=42.05 +_pkgver=42_05 +_dfhack_pkgrel=alpha1 +pkgrel=1 +epoch=0 +pkgdesc="Installer for the Lazy Newb Pack to run Dwarf Fortress. Includes vanilla dwarf fortress, dfhack and graphics" +arch=(x86_64) +url="" +license=('custom') +groups=() +depends=(python gtk2 glu sdl_image libsndfile sdl_ttf glew tk + hicolor-icon-theme) + +optdepends=('lib32-nvidia-utils: If you have nvidia graphics' + 'lib32-catalyst-utils: If you have ATI graphics' + 'lib32-alsa-lib: for alsa sound' + 'lib32-libpulse: for pulse sound') + +optdepends+=("dwarftherapist-git: call dwarftherapist through gui" + "soundsense: call soundsense through gui") +# For 64 bits: +depends_x86_64=(gcc-libs-multilib lib32-gtk2 lib32-glu lib32-sdl_image lib32-libsndfile lib32-openal + lib32-libxdamage lib32-ncurses lib32-sdl_ttf lib32-glew + lib32-libjpeg6-turbo lib32-libpng12) + +# For the LNP +makedepends=(git mercurial rsync perl-libxml perl-xml-libxslt cmake) + +makedepends_x86_64=(gcc-multilib) +options=(!strip !buildflags) +install=${pkgname}.install +changelog= +source=(git+"https://github.com/Lazy-Newb-Pack/Lazy-Newb-Pack-Linux" + git+"https://github.com/DFgraphics/DFgraphics.git" + git+"https://github.com/DFHack/dfhack.git"#"tag=0.${pkgver}-${_dfhack_pkgrel}" + git+"https://github.com/svenstaro/dwarf_fortress_unfuck.git"#"tag=0.${pkgver}" + git+"https://github.com/mifki/df-twbt.git" + hg+"https://bitbucket.org/Pidgeot/python-lnp" + "http://bay12games.com/dwarves/df_${_pkgver}_linux.tar.bz2" + "DFAnnouncementFilter.zip"::"http://dffd.bay12games.com/download.php?id=7905&f=DFAnnouncementFilter.zip" + "dfhack-twbt.patch" + "dfhack-visualizers.patch" + "lnp" + "${pkgname}.desktop" + "${pkgname}.install" + ) + +noextract=() + +md5sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + '79d2768e7f3ff0d086caa980331466c4' + 'affd6273731c321d364c55a8da314fea' + '856c54681faed3608cd951bf286d12d5' + '771d7eaaf1bd78c7da953ffd30e93c20' + '4490ae6da511cee74edbfb28029ed534' + 'bba8ab4d3f70cea8b812e78445fef1f0' + '38b526554d151e79476a7a81d285d689') + + + +prepare() { + + cd $srcdir/Lazy-Newb-Pack-Linux + git submodule init + git submodule update + + cd $srcdir/DFgraphics + git submodule init + git submodule update + + + cd $srcdir/dfhack + git submodule init + git submodule update + + cd $srcdir/dfhack/plugins + patch -uN CMakeLists.custom.txt $srcdir/dfhack-twbt.patch + + cd $srcdir/dfhack/plugins + patch -uN CMakeLists.txt $srcdir/dfhack-visualizers.patch + + mkdir -p $srcdir/dfhack/plugins/df-twbt + cd $srcdir/df-twbt + rsync -av --progress $srcdir/df-twbt $srcdir/dfhack/plugins \ + --exclude .git \ + --exclude .gitignore + + export DFHACKVER="${pkgver}-r5" + + cd $srcdir/dfhack/build + cmake .. -DCMAKE_INSTALL_PREFIX=$pkgdir/opt/$pkgname/df_linux \ + -DCMAKE_C_FLAGS:STRING="${CFLAGS} ${CPPFLAGS} -fPIC" \ + -DCMAKE_CXX_FLAGS:STRING="${CXXFLAGS} ${CPPFLAGS} -fPIC" \ + -DCMAKE_EXE_LINKER_FLAGS:STRING="${LDFLAGS}" \ + -DCMAKE_SHARED_LINKER_FLAGS:STRING="${LDFLAGS}" + + cd $srcdir/dwarf_fortress_unfuck + mkdir -p build && cd build + cmake .. -DCMAKE_INSTALL_PREFIX=$pkgdir/opt/$pkgname/df_linux/libs \ + -DCMAKE_C_FLAGS:STRING="${CFLAGS} ${CPPFLAGS} -fPIC" \ + -DCMAKE_CXX_FLAGS:STRING="${CXXFLAGS} ${CPPFLAGS} -fPIC" \ + -DCMAKE_EXE_LINKER_FLAGS:STRING="${LDFLAGS}" \ + -DCMAKE_SHARED_LINKER_FLAGS:STRING="${LDFLAGS}" + +} +build() { + + export DFHACKVER="${pkgver}-r5" + + cd $srcdir/dwarf_fortress_unfuck + cd build + make + + cd $srcdir/dfhack/build + make + +} +package() { + mkdir -p "$pkgdir/opt/$pkgname" + install -Dm755 "$srcdir/Lazy-Newb-Pack-Linux/pack/startlnp" "$pkgdir/opt/$pkgname/" + + cp -r "$srcdir/Lazy-Newb-Pack-Linux/pack/df_linux" "$pkgdir/opt/$pkgname" + + cp -r "$srcdir/df_linux" "$pkgdir/opt/$pkgname" + rm -rf "$pkgdir/opt/$pkgname/df_linux/g_src" + + #rm "$pkgdir/opt/$pkgname/df_linux/libs/"{libgraphics.so,libgcc_s.so.1,libstdc++.so.6} + + install -Dm755 "$srcdir/dwarf_fortress_unfuck/build/libgraphics.so" \ + "$pkgdir/opt/$pkgname/df_linux/libs/libgraphics.so" + + cd "$srcdir/dfhack/build" + make install + + cp -r $srcdir/Lazy-Newb-Pack-Linux/pack/LNP "$pkgdir/opt/$pkgname/LNP" + + rsync -ap "$srcdir/python-lnp" "$pkgdir/opt/$pkgname" \ + --exclude .hg \ + --exclude .hgtags \ + --exclude .hgignore \ + + cd "$pkgdir/opt/$pkgname" + + ln -s "/opt/$pkgname/python-lnp/launch.py" "$pkgdir/opt/$pkgname/PyLNP" + + rsync -ap $srcdir/DFgraphics/* "$pkgdir/opt/$pkgname/LNP/graphics" \ + --exclude .git \ + --exclude .gitmodules \ + --exclude .gitignore + + #move libs + install -dm755 "$pkgdir/usr/lib/$pkgname/df_linux" + + install -dm755 "$pkgdir/usr/lib/$pkgname/df_linux/hack" + + mv "$pkgdir/opt/$pkgname/df_linux/hack/plugins" \ + "$pkgdir/usr/lib/$pkgname/df_linux/hack" + + ln -s "/usr/lib/$pkgname/df_linux/hack/plugins" \ + "$pkgdir/opt/$pkgname/df_linux/hack/plugins" + + mv "$pkgdir/opt/$pkgname/df_linux/hack/libs" \ + "$pkgdir/usr/lib/$pkgname/df_linux/hack" + + ln -s "/usr/lib/$pkgname/df_linux/hack/libs" \ + "$pkgdir/opt/$pkgname/df_linux/hack/libs" + + mv "$pkgdir/opt/$pkgname/df_linux/libs" \ + "$pkgdir/usr/lib/$pkgname/df_linux" + + ln -s "/usr/lib/$pkgname/df_linux/libs" \ + "$pkgdir/opt/$pkgname/df_linux/libs" + + for _lib in libruby.so liblua.so libdfhack-client.so libdfhack.so\ + libprotobuf-lite.so; do + + mv "$pkgdir/opt/$pkgname/df_linux/hack/$_lib" \ + "$pkgdir/usr/lib/$pkgname/df_linux/hack" + + ln -s "/usr/lib/$pkgname/df_linux/hack/$_lib" \ + "$pkgdir/opt/$pkgname/df_linux/hack/$_lib" + done + + mv "$pkgdir/opt/$pkgname/df_linux/dfhack-run" \ + "$pkgdir/usr/lib/$pkgname/df_linux" + + ln -s "/usr/lib/$pkgname/df_linux/dfhack-run" \ + "$pkgdir/opt/$pkgname/df_linux/dfhack-run" + + mv "$pkgdir/opt/$pkgname/df_linux/hack/binpatch" \ + "$pkgdir/usr/lib/$pkgname/df_linux/hack" + + ln -s "/usr/lib/$pkgname/df_linux/hack/binpatch" \ + "$pkgdir/opt/$pkgname/df_linux/hack/binpatch" + + # create bin + install -Dm755 "$srcdir/lnp" "$pkgdir/usr/bin/lnp" + + + test ! -z "$(which dwarftherapist)" \ + && mkdir -p "$pkgdir/opt/$pkgname/LNP/utilities/dwarf_therapist" \ + && ln -s "$(which dwarftherapist)" "$pkgdir/opt/$pkgname/LNP/utilities/dwarf_therapist/DwarfTherapist" + + test ! -z "$(which soundsense)" \ + && mkdir -p "$pkgdir/opt/$pkgname/LNP/utilities/soundsense" \ + && ln -s "$(which soundsense)" \ + "$pkgdir/opt/$pkgname/LNP/utilities/soundsense/soundSense.sh" + + mkdir -p "$pkgdir/opt/$pkgname/LNP/utilities/df_announcement_filter" + install -dm755 "$pkgdir/opt/$pkgname/LNP/utilities/df_announcement_filter" + install -Dm755 "$srcdir/DFAnnouncementFilter.jar" \ + "$pkgdir/opt/$pkgname/LNP/utilities/df_announcement_filter" + + + install -Dm644 "${srcdir}/${pkgname}.desktop" \ + "$pkgdir/usr/share/applications/lnp.desktop" + + install -Dm644 "${srcdir}/Lazy-Newb-Pack-Linux/pack/dflogo128.png" \ + "$pkgdir/usr/share/icons/hicolor/128x128/apps/lnp.png" + + for license in python-lnp/COPYING.txt dfhack/depends/protobuf/COPYING.txt \ + dfhack/plugins/stonesense/LICENSE dfhack/LICENSE.rst \ + dfhack/depends/lua/COPYRIGHT dfhack/scripts/3rdparty/maienm/LICENSE \ + dfhack/scripts/3rdparty/lethosor/LICENSE ; do + install -DTm644 "$srcdir/$license" \ + "${pkgdir}/usr/share/licenses/${pkgname}/$license" + done + + for license in df_linux/data/art/font df_linux/sdl/sdl ; do + install -DTm644 "$srcdir/$license license.txt" \ + "${pkgdir}/usr/share/licenses/${pkgname}/$license license.txt" + done + + # Set world-readable for files and executable for dirs + find ${pkgdir} -type d -exec chmod a+rx {} + + find ${pkgdir} -type f -exec chmod a+r {} + + +} diff --git a/README.md b/README.md new file mode 100644 index 000000000000..5b8cba0e2981 --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +Overview : +=========== + +df-lnp-arch is an installer of the Dwarf Fortress Lazy Newb Pack for the Arch Linux/Manjaro users. +It is freely inspired by the [df-lnp-installer](https://github.com/andrewd18/df-lnp-installer). + +Warning : +========== +**This is not a stable installer and there can be bugs, do not use it with important saves.** + +Included mods : +---------------- + +* Lazy Newb Pack for Linux 0.5.3-SNAPSHOT-20130822-1652 +* DF Hack 0.34.11-r3 +* Falconne's DFHack UI Plugins v0.36 +* SoundSense r42 (app only) +* Dwarf Therapist last version (splintermind, pulled and built from source) +* A Darf Therapist guide by ResMar +* And of course Dwarf Fortress 0.34.11 +* If someone want a graphic pack, simply open a issue + +Installation : +============== + +1. Clone the git repository with `git clone git://github.com/ytterbium/df-lnp-arch.git` +2. Go to the cloned directory with `cd df-lnp-arch` +3. Create the package with `makepkg`, wait a little until all is downloaded and compiled. +4. Install the package with `sudo pacman -U df-lnp-arch-version_of_package.tar.xz` +5. Follow the prompts. +6. Once DF is installed, enter the DF folder and run ./startlnp. +7. Start the SoundSense r42 utility from the Utilities tab. +8. Click the "Pack Update" tab. +9. Click "Start Automatic Update". +10. Get a Dwarven Ale; it's going to be a while. +11. Once finished, close SoundSense, and muck about with LNP as normal. + +Update : +======= + +1. Update your git repository with git pull . +2. Recreate a package with makepkg. +3. Install the package with `sudo pacman -U df-lnp-arch-new_version.tar.xz` diff --git a/dfhack-twbt.patch b/dfhack-twbt.patch new file mode 100644 index 000000000000..7c4a8e93cc5f --- /dev/null +++ b/dfhack-twbt.patch @@ -0,0 +1,12 @@ +--- CMakeLists.custom.txt.old 2016-02-21 00:27:31.328461633 -0500 ++++ CMakeLists.custom.txt 2016-02-21 00:28:19.798459722 -0500 +@@ -1,3 +1,9 @@ + # You can add custom plugins here to avoid touching plugins/CMakeLists.txt, + # This can be useful if you've made modifications to that file and try to + # switch between branches that have also made modifications to it. ++ ++OPTION(BUILD_TWBT "Build df-twbt." ON) ++if(BUILD_TWBT) ++ add_subdirectory (df-twbt) ++endif() ++ diff --git a/dfhack-visualizers.patch b/dfhack-visualizers.patch new file mode 100644 index 000000000000..01736592a302 --- /dev/null +++ b/dfhack-visualizers.patch @@ -0,0 +1,17 @@ +--- CMakeLists.txt.old 2016-02-21 14:50:18.710034624 -0500 ++++ CMakeLists.txt 2016-02-21 14:50:52.823366613 -0500 +@@ -6,12 +6,12 @@ + add_subdirectory (Dfusion) + endif() + +-OPTION(BUILD_STONESENSE "Build stonesense (needs a checkout first)." OFF) ++OPTION(BUILD_STONESENSE "Build stonesense (needs a checkout first)." ON) + if(BUILD_STONESENSE) + add_subdirectory (stonesense) + endif() + +-OPTION(BUILD_ISOWORLD "Build isoworld (needs a checkout first)." OFF) ++OPTION(BUILD_ISOWORLD "Build isoworld (needs a checkout first)." OFF) + if(BUILD_ISOWORLD) + add_subdirectory (isoworld) + IF(UNIX) diff --git a/dwarffortress-lnp-git.desktop b/dwarffortress-lnp-git.desktop new file mode 100644 index 000000000000..638b369d7351 --- /dev/null +++ b/dwarffortress-lnp-git.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Lazy Newb Pack +Comment=An launcher for Dwarf Fortress and related utilities +Exec=lnp +Icon=lnp +Terminal=false +X-MultipleArgs=false +Type=Application +Categories=Game; diff --git a/dwarffortress-lnp-git.install b/dwarffortress-lnp-git.install new file mode 100644 index 000000000000..234a63b153d8 --- /dev/null +++ b/dwarffortress-lnp-git.install @@ -0,0 +1,14 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + echo 'Installed. Run lnp to launch.' + echo 'You may have to delete ~/.dwarffortress-lnp-git to get latest version (you will have to manually back up saves)' + echo 'Refer to ~./dwarffortress-lnp-git/LNP/ for local LNP base directory' + echo 'Optional utilites can be installed by adding a symlink to /opt/dwarffortress-lnp-git/LNP/utilities' + echo 'If you run into issues, try examining ~/.dwarffortress-lnp-git/df_linux/distro_specific_fixes.sh for distro related problems.' +} + +post_upgrade() { + post_install "$1" +} + +# vim:set ts=2 sw=2 et: @@ -0,0 +1,57 @@ +#!/bin/sh +#export SDL_DISABLE_LOCK_KEYS=1 # Work around for bug in Debian/Ubuntu SDL patch. +#export SDL_VIDEO_CENTERED=1 # Centre the screen. Messes up resizing. + +pkgname=dwarffortress-lnp-git #set by PKGBUILD + +if [[ ! -d "$HOME/.$pkgname" ]]; then + mkdir -p "$HOME/.$pkgname/df_linux/data" + mkdir -p "$HOME/.$pkgname/LNP" + #ln -s "/opt/$pkgname/python-lnp" "$HOME/.$pkgname/python-lnp" + cp -rn "/opt/$pkgname/python-lnp" "$HOME/.$pkgname/" + + ln -s "$HOME/.$pkgname/python-lnp/launch.py" "$HOME/.$pkgname/PyLNP" + cp -n /opt/"$pkgname"/startlnp "$HOME/.$pkgname/startlnp" + + cp -rn /opt/"$pkgname"/df_linux/data/init "$HOME/.$pkgname/df_linux/data/init" + cp -rn /opt/"$pkgname"/df_linux/raw "$HOME/.$pkgname/df_linux/raw" + + for link in libs stonesense dfhack-config ; do + ln -s /opt/"$pkgname"/df_linux/$link\ + "$HOME/.$pkgname/df_linux/$link" + done + + mkdir -p "$HOME/.$pkgname/df_linux/hack" + for link in libdfhack.so liblua.so libprotobuf-lite.so libruby.so \ + libdfhack-client.so; do + ln -s /opt/"$pkgname"/df_linux/hack/$link\ + "$HOME/.$pkgname/df_linux/hack/$link" + done + + for link in binpatch dfhack-run libs lua plugins raw ruby symbols.xml ; do + ln -s /opt/"$pkgname"/df_linux/hack/$link \ + "$HOME/.$pkgname/df_linux/hack/$link" + done + + cp -rn /opt/"$pkgname"/df_linux/hack/scripts \ + "$HOME/.$pkgname/df_linux/hack/scripts" + + cp -rn /opt/"$pkgname"/LNP "$HOME/.$pkgname/" + +fi + + +for copyfile in df dfhack dfhack-run dfhack.init distro_fixes.sh \ + ; do + cp -n /opt/"$pkgname"/df_linux/$copyfile \ + "$HOME/.$pkgname/df_linux/$copyfile" +done + +for link in announcement art dipscript help index initial_movies movies \ + shader.fs shader.vs sound speech ; do + cp -rn /opt/"$pkgname"/df_linux/data/$link "$HOME/.$pkgname/df_linux/data/$link" +done + +cd "$HOME/.$pkgname" +exec ./startlnp "$@" + |