summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD115
-rwxr-xr-xdoomrl-launch5
3 files changed, 83 insertions, 43 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ed2926952d2c..44657129fe9a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = doomrl-git
pkgdesc = Doom: The Rogue-like (git-latest) (WIP!).
pkgver = r8.0cbac80
- pkgrel = 8
+ pkgrel = 10
url = http://drl.chaosforge.org/
arch = any
license = GPL3
@@ -10,7 +10,7 @@ pkgbase = doomrl-git
makedepends = lua
depends = sdl_mixer
depends = zlib
- depends = lua
+ depends = lua51
depends = timidity++
depends = sdl_image
source = doomrl-git::git+https://github.com/ChaosForge/doomrl
@@ -28,7 +28,7 @@ pkgbase = doomrl-git
sha256sums = 439de08ce548b0dc7ff6ba31ace7f375a1e6f0ebac32addf8a05d3d31283e192
sha256sums = e57148577e3152c99a61adb7ae841272491b7be62b168b8d62ee73b322b37418
sha256sums = 8b7be4a787422722da65b3c184178f221d5ec76e60f11fda371aa27c9808ea9d
- sha256sums = SKIP
+ sha256sums = 1bd87b0e8707ed7c41ad4f3b409515e5ac66aa9f14127cef584a68c7644615bc
pkgname = doomrl-git
diff --git a/PKGBUILD b/PKGBUILD
index 99eb6c5c8fcd..6b0a21457c82 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,14 +3,14 @@
pkgname=doomrl-git
pkgver=r8.0cbac80
doomrl_assets='doomrl-linux-assets-x64-0997'
-pkgrel=8
+pkgrel=10
pkgdesc="Doom: The Rogue-like (git-latest) (WIP!)."
arch=(any)
url="http://drl.chaosforge.org/"
license=('GPL3')
-depends=('sdl_mixer' 'zlib' 'lua' 'timidity++' 'sdl_image')
+depends=('sdl_mixer' 'zlib' 'lua51' 'timidity++' 'sdl_image')
makedepends=('git' 'fpc-svn' 'lua')
-source=("$pkgname::git+https://github.com/ChaosForge/doomrl"
+source=("${pkgname}::git+https://github.com/ChaosForge/doomrl"
"fpcvalkyrie::git+https://github.com/ChaosForge/fpcvalkyrie"
"http://www.libregeek.org/Linux/game-files/doomrl/${doomrl_assets}.tar"
'disable-asmcse-opt.patch'
@@ -26,7 +26,7 @@ sha256sums=('SKIP'
'439de08ce548b0dc7ff6ba31ace7f375a1e6f0ebac32addf8a05d3d31283e192'
'e57148577e3152c99a61adb7ae841272491b7be62b168b8d62ee73b322b37418'
'8b7be4a787422722da65b3c184178f221d5ec76e60f11fda371aa27c9808ea9d'
- 'SKIP'
+ '1bd87b0e8707ed7c41ad4f3b409515e5ac66aa9f14127cef584a68c7644615bc'
)
prepare()
@@ -35,15 +35,15 @@ prepare()
msg2 "Cleaning files"
# clean
- find "$srcdir/$pkgname" "$srcdir/fpcvalkyrie" \
+ find "${srcdir}/${pkgname}" "${srcdir}/fpcvalkyrie" \
'(' -iname '*.o' -or -iname '*.ppu' ')' -exec rm -f '{}' ';'
# assets
- cp -ru "$srcdir/$doomrl_assets/mp3"/* "$srcdir/$pkgname/bin/mp3"
- cp -ru "$srcdir/$doomrl_assets/wavhq"/* "$srcdir/$pkgname/bin/wavhq"
+ cp -ru "${srcdir}/$doomrl_assets/mp3"/* "${srcdir}/${pkgname}/bin/mp3"
+ cp -ru "${srcdir}/$doomrl_assets/wavhq"/* "${srcdir}/${pkgname}/bin/wavhq"
# symlinks
- rm -f "$srcdir/$pkgname/bin/liblua5.1.so"
+ rm -f "${srcdir}/${pkgname}/bin/lua5.1.so"
msg2 "Patching"
@@ -57,22 +57,22 @@ prepare()
}
pkgver() {
- cd "$pkgname"
+ cd "${pkgname}"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build()
{
- cd $srcdir/$pkgname
+ cd ${srcdir}/${pkgname}
rm -rf tmp && mkdir tmp
# add Linux config
msg2 "Compiling doomrl"
- echo "OS=\"LINUX\"" > "$srcdir/$pkgname/config.lua"
- echo "VALKYRIE_ROOT=\"$srcdir/fpcvalkyrie/\"" >> "$srcdir/$pkgname/config.lua"
+ echo "OS=\"LINUX\"" > "${srcdir}/${pkgname}/config.lua"
+ echo "VALKYRIE_ROOT=\"${srcdir}/fpcvalkyrie/\"" >> "${srcdir}/${pkgname}/config.lua"
- # lua makefile can be called to do thr build
+ # lua makefile can be called to do the build
# but it seems to miss building makewad
# use lazbuild instead
# lua makefile.lua hq
@@ -82,25 +82,38 @@ build()
# Generate wad
msg2 "Generating wad file(s)"
- cd "$srcdir/$pkgname/bin"
- # makewad doesn't properly search for the lua lialb
- ln -s "/usr/lib/liblua5.1.so" "liblua5.1.so"
+ cd "${srcdir}/${pkgname}/bin"
+
+ # makewad doesn't properly search for the lua lib, include our lib path
+ # link and provide the path
+ ln -s "/usr/lib/liblua5.1.so" "lua5.1.so"
+ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. ./makewad
}
package() {
- # check for doomrl executable first
+ msg2 "Installing doomrl files"
+
+ # check for doomrl and wads
# Even if compile fails, it often will just continue on
# Doesn't seem to exit fully
- if [[ ! -f "$srcdir/$pkgname/bin/doomrl" ]]; then
- echo "ERROR: Cannot find built binary. Exiting build."
- exit 1
+ file_check="doomrl core.wad doomrl.wad"
+
+ for file in ${file_check};
+ do
+
+ if [[ ! -f "${srcdir}/${pkgname}/bin/${file}" ]]; then
- fi
+ echo "ERROR: Cannot find core file ${file}. Exiting build."
+ exit 1
- cd "$srcdir/$pkgname"
+ fi
+
+ done
+
+ cd "${srcdir}/${pkgname}"
#####################
# Directories
@@ -110,7 +123,7 @@ package() {
# Modules should not include original source content, just readme
install -d "$pkgdir/usr/share/games/doomrl/modules"
- DIRS="mp3 wavhq screenshot backup mortem"
+ DIRS="backup mp3 wavhq screenshot backup mortem"
for dir in $DIRS;
do
@@ -124,30 +137,54 @@ package() {
# Shouldn't need the extra scripts, but include them anyway
- FILES="doomrl.wad
- bin/doomrl
- bin/manual.txt
- bin/version.txt
- bin/unix_notes.txt
- bin/config.lua
- bin/colors.lua
- bin/keybindings.lua
- bin/sound.lua
- bin/music.lua
- bin/musichq.lua
- bin/doomrl_gnome-terminal
- bin/doomrl_konsole
- bin/doomrl_xterm
- bin/modules/!readme.txt"
+ FILES="core.wad
+ doomrl.wad
+ doomrl
+ manual.txt
+ version.txt
+ version_api.txt
+ unix_notes.txt
+ config.lua
+ colors.lua
+ keybindings.lua
+ sound.lua
+ manual.txt
+ music.lua
+ musichq.lua
+ doomrl_gnome-terminal
+ doomrl_konsole
+ doomrl_xterm
+ modules/!readme.txt"
for file in $FILES;
do
- install -m755 "${file}" "$pkgdir/usr/share/games/doomrl/$(basename ${file})"
+ install -m755 "bin/${file}" "$pkgdir/usr/share/games/doomrl/$(basename ${file})"
done
# launcher
install -Dm755 "$startdir/doomrl-launch" "$pkgdir/usr/bin/doomrl"
+ msg2 "Fixing permissions"
+
+ # doomrl must have write access to several files
+ # Use a workaround, makeing the group owner games and
+ # only modifying files we need to
+ chown -R root:games "$pkgdir/usr/share/games/doomrl"
+ chmod -R g+w "$pkgdir/usr/share/games/doomrl"
+
+ #############
+ # libs
+ #############
+
+ msg "Fixing up libs"
+
+ # doomrl expects the lib to be "lua5.1.so", not our liblua5.1.so
+ # Need to use a hack (until otherwise fixed) to trick doomrl to find it
+ # copy in the existing symlink in the $srcdir/$pkgname/bin dir, preserving
+ # the symlink path
+
+ cp -P "bin/lua5.1.so" "$pkgdir/usr/share/games/doomrl"
+
}
diff --git a/doomrl-launch b/doomrl-launch
index c663a99c28f9..b27e70b79876 100755
--- a/doomrl-launch
+++ b/doomrl-launch
@@ -1,4 +1,7 @@
#!/bin/bash
+# Enter core directory
cd /usr/share/games/doomrl
-./doomrl
+
+# Set path to system libs and launch
+LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${PWD} ./doomrl