summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucki2018-09-24 14:27:16 +0200
committerLucki2018-09-24 14:27:16 +0200
commitbe0f0dce10a10e86fa8b8a9f485cfca5f99f24a3 (patch)
treef25fe844b0b566921e729540fa3b12224663d79b
parent1fd41a029c69c2b229f09efcc1735141ca2bc447 (diff)
downloadaur-be0f0dce10a10e86fa8b8a9f485cfca5f99f24a3.tar.gz
Use timestamps to work around squashes
and let makepkg handle dubs deps
-rw-r--r--.SRCINFO19
-rw-r--r--PKGBUILD192
2 files changed, 144 insertions, 67 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 94a51632ab5f..861c229dbbb0 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = lix-git
pkgdesc = An action-puzzle game inspired by Lemmings
- pkgver = r1115.fce75cef
- pkgrel = 2
+ pkgver = 0.9.19.r1536359906.8af2dfb3
+ pkgrel = 1
url = http://www.lixgame.com/
arch = i686
arch = x86_64
@@ -11,14 +11,29 @@ pkgbase = lix-git
makedepends = dub
depends = allegro
depends = enet
+ depends = hicolor-icon-theme
provides = lix
conflicts = lix
source = lix::git+https://github.com/SimonN/lix-unstable.git
source = lix-music-1.zip::http://www.lixgame.com/dow/lix-music.zip
source = lix.desktop
+ source = allegro::git+https://github.com/SiegeLord/DAllegro5.git#tag=v4.0.3+5.2.0
+ source = bolts::git+https://github.com/aliak00/bolts.git#tag=v0.7.1
+ source = derelict-enet::git+https://github.com/DerelictOrg/DerelictENet.git#tag=v2.0.0
+ source = derelict-util::git+https://github.com/DerelictOrg/DerelictUtil.git#tag=v2.1.0
+ source = enumap::git+https://github.com/rcorre/enumap.git#tag=v0.4.2
+ source = optional::git+https://github.com/aliak00/optional.git#tag=v0.6.3
+ source = silly::git+https://github.com/ohdatboi/silly.git#tag=v0.7.0
sha512sums = SKIP
sha512sums = 37349c98b739ea43c25137dd03865f1c9c41eec91e5edc109afd9d50ce3871bd0c7f63c3f3599a47bb4ef52f5bfd14e034010de0ac2aec5a9c0c83eaf0b89425
sha512sums = 52d49562cd9be4eec76b464153af1cce2211fdbd6113a6a60df042f7e8f7e6a8f1942df883dfaaa6c1bbfea004c4154d884dfa767e25fa3fadf9c58be1103fe6
+ sha512sums = SKIP
+ sha512sums = SKIP
+ sha512sums = SKIP
+ sha512sums = SKIP
+ sha512sums = SKIP
+ sha512sums = SKIP
+ sha512sums = SKIP
pkgname = lix-git
diff --git a/PKGBUILD b/PKGBUILD
index 21f25e22b65f..485d19e734b8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,117 +2,179 @@
# Contributor: Carl Reinke <mindless2112 gmail com>
pkgname=lix-git
-pkgver=r1115.fce75cef
-pkgrel=2
+pkgver=0.9.20.r1537722993.ca86cbc0
+pkgrel=1
provides=("${pkgname%-git}")
conflicts=("${pkgname%-git}")
-source=("${pkgname%-git}::git+https://github.com/SimonN/lix-unstable.git"
- "${pkgname%-git}-music-1.zip::http://www.lixgame.com/dow/lix-music.zip"
- "${pkgname%-git}.desktop")
-sha512sums=('SKIP'
- '37349c98b739ea43c25137dd03865f1c9c41eec91e5edc109afd9d50ce3871bd0c7f63c3f3599a47bb4ef52f5bfd14e034010de0ac2aec5a9c0c83eaf0b89425'
- '52d49562cd9be4eec76b464153af1cce2211fdbd6113a6a60df042f7e8f7e6a8f1942df883dfaaa6c1bbfea004c4154d884dfa767e25fa3fadf9c58be1103fe6')
+source=("${pkgname%-git}::git+https://github.com/SimonN/lix-unstable.git")
+sha512sums=('SKIP')
pkgver()
{
# https://wiki.archlinux.org/index.php/VCS_package_guidelines#Git
- cd "${pkgname%-git}"
+ cd "${pkgname%-git}" || exit
(
set -o pipefail
- git describe --long --tags 2>/dev/null | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' ||
- printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+
+ # version with unix committer date to bypass git squashes
+ printf "%s.r%s.%s" \
+ "$(< src/net/version.d sed -rn 's/.*_gameVersion = Version\(([0-9]+), ([0-9]+), ([0-9]+)\).*/\1.\2.\3/p')" \
+ "$(git show -s --format=%ct HEAD)" \
+ "$(git rev-parse --short HEAD)"
)
}
_pkgname=${pkgname%-git}
-# template start; name=lix; version=0.6;
+# template start; name=lix; version=0.9;
pkgdesc="An action-puzzle game inspired by Lemmings"
arch=('i686' 'x86_64')
url="http://www.lixgame.com/"
license=('custom:CC0')
-depends=('allegro' 'enet')
+depends=('allegro' 'enet' 'hicolor-icon-theme')
makedepends=('git' 'dmd' 'dub')
+_dub_versions=( '4.0.3+5.2.0' # Allegro
+ '0.7.1' # Bolts
+ '2.0.0' # Derelict-Enet
+ '2.1.0' # Derelict-Util
+ '0.4.2' # Enumap
+ '0.6.3' # Optional
+ '0.7.1') # Silly
+
+# let makepkg handle dub packages
+# https://wiki.archlinux.org/index.php/VCS_package_guidelines#Git_Submodules
+source+=( "${_pkgname}-music-1.zip::http://www.lixgame.com/dow/lix-music.zip"
+ "${_pkgname}.desktop"
+ "allegro::git+https://github.com/SiegeLord/DAllegro5.git" #tag=v${_dub_versions[0]}"
+ "bolts::git+https://github.com/aliak00/bolts.git#tag=v${_dub_versions[1]}"
+ "derelict-enet::git+https://github.com/DerelictOrg/DerelictENet.git#tag=v${_dub_versions[2]}"
+ "derelict-util::git+https://github.com/DerelictOrg/DerelictUtil.git#tag=v${_dub_versions[3]}"
+ "enumap::git+https://github.com/rcorre/enumap.git" #tag=v${_dub_versions[4]}"
+ "optional::git+https://github.com/aliak00/optional.git#tag=v${_dub_versions[5]}"
+ "silly::git+https://github.com/ohdatboi/silly.git" #tag=v${_dub_versions[6]}"
+ )
+sha512sums+=( '37349c98b739ea43c25137dd03865f1c9c41eec91e5edc109afd9d50ce3871bd0c7f63c3f3599a47bb4ef52f5bfd14e034010de0ac2aec5a9c0c83eaf0b89425'
+ '52d49562cd9be4eec76b464153af1cce2211fdbd6113a6a60df042f7e8f7e6a8f1942df883dfaaa6c1bbfea004c4154d884dfa767e25fa3fadf9c58be1103fe6'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP')
build()
{
- cd "${srcdir}/${_pkgname}"
+ cd "${srcdir}/${_pkgname}" || exit
_r=0
- # force an upgrade of the dependencies to the local folder, without --cache=local they get added to the users home directory
- dub upgrade --cache=local
-
# add local dependencies to search path
- dub add-local allegro-*/allegro
- dub add-local derelict-enet-*/derelict-enet
- dub add-local derelict-util-*/derelict-util
- dub add-local enumap-*/enumap
- dub add-local optional-*/optional
- dub add-local bolts-*/bolts
+ dub add-path "${srcdir}"
# force FHS compatibility with '-b releaseXDG'
- dub build -f -b releaseXDG --cache=local || _r=$?
-
- # remove local dependencies from search path so dub don't find them later again
- dub remove-local allegro-*/allegro
- dub remove-local derelict-enet-*/derelict-enet
- dub remove-local derelict-util-*/derelict-util
- dub remove-local enumap-*/enumap
- dub remove-local optional-*/optional
- dub remove-local bolts-*/bolts
+ # ensure with --cache=local dub stays outside the users home directory
+ dub build -f -b releaseXDG --cache=local || _r="${?}"
+
+ # remove local dependencies from search path so dub won't find them
+ # later again
+ dub remove-path "${srcdir}"
+
+ # removes any cached metadata like the list of available packages
+ # and their latest version
dub clean-caches
- if [[ "$_r" != 0 ]] ; then
+ if [[ "${_r}" != 0 ]]
+ then
# dub failed so we also fail after we removed the local dependencies
- return "$_r";
+ return "${_r}"
fi
}
check()
{
- cd "${srcdir}/${_pkgname}"
+ cd "${srcdir}/${_pkgname}" || exit
_r=0
- # force an upgrade of the dependencies to the local folder, without --cache=local they get added to the users home directory
- dub upgrade --cache=local
-
# add local dependencies to search path
- dub add-local allegro-*/allegro
- dub add-local derelict-enet-*/derelict-enet
- dub add-local derelict-util-*/derelict-util
- dub add-local enumap-*/enumap
- dub add-local optional-*/optional
- dub add-local bolts-*/bolts
-
- dub test --cache=local || _r=$?
-
- # remove local dependencies from search path so dub don't find them later again
- dub remove-local allegro-*/allegro
- dub remove-local derelict-enet-*/derelict-enet
- dub remove-local derelict-util-*/derelict-util
- dub remove-local enumap-*/enumap
- dub remove-local optional-*/optional
- dub remove-local bolts-*/bolts
+ dub add-path "${srcdir}"
+
+ # run test suite
+ # ensure with --cache=local dub stays outside the users home directory
+ dub test --cache=local || _r="${?}"
+
+ # remove local dependencies from search path so dub won't find them
+ # later again
+ dub remove-path "${srcdir}"
+
+ # removes any cached metadata like the list of available packages
+ # and their latest version
dub clean-caches
- if [[ "$_r" != 0 ]] ; then
+ if [[ "${_r}" != 0 ]]
+ then
# dub failed so we also fail after we removed the local dependencies
- return "$_r"
+ return "${_r}"
fi
}
package()
{
- cd "${srcdir}"
- install -Dm644 "${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
+ cd "${srcdir}" || exit
- cd "${_pkgname}"
- install -Dm644 "data/images/${_pkgname}_logo.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/${_pkgname}.svg"
- install -Dm644 "doc/copying.txt" "${pkgdir}/usr/share/licenses/${_pkgname}/COPYING"
- install -Dm755 "bin/${_pkgname}" "${pkgdir}/usr/bin/${_pkgname}"
+ # install application entry
+ install -Dm644 \
+ `# SRCFILE:` \
+ "${_pkgname}.desktop" \
+ `# DSTFILE:` \
+ "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
+
+ cd "${_pkgname}" || exit
+
+ # install application entry icon
+ install -Dm644 \
+ `# SRCFILE:` \
+ "data/images/${_pkgname}_logo.svg" \
+ `# DSTFILE:` \
+ "${pkgdir}/usr/share/icons/hicolor/scalable/apps/${_pkgname}.svg"
+
+ # install license text
+ install -Dm644 \
+ `# SRCFILE:` \
+ "doc/copying.txt" \
+ `# DSTFILE:` \
+ "${pkgdir}/usr/share/licenses/${_pkgname}/COPYING"
+
+ # install binary
+ install -Dm755 \
+ `# SRCFILE:` \
+ "bin/${_pkgname}" \
+ `# DSTFILE:` \
+ "${pkgdir}/usr/bin/${_pkgname}"
+
+ # remove unimportant files
+ # https://raw.githubusercontent.com/SimonN/LixD/master/doc/build/package.txt
+ rm -r "${srcdir}/${_pkgname}/doc/build"
# https://lists.archlinux.org/pipermail/aur-general/2011-November/016777.html
- mkdir -p "${pkgdir}/usr/share/${_pkgname}" "${pkgdir}/usr/share/doc/${_pkgname}"
- cp -dpr --no-preserve=ownership "doc/." "${pkgdir}/usr/share/doc/${_pkgname}/"
- cp -dpr --no-preserve=ownership "data" "images" "levels" "${srcdir}/music" "${pkgdir}/usr/share/${_pkgname}"
+ # make directories
+ mkdir -p \
+ "${pkgdir}/usr/share/${_pkgname}" \
+ "${pkgdir}/usr/share/doc/${_pkgname}"
+
+ # copy documentary
+ cp -dpr --no-preserve=ownership \
+ `# SRCFILES:` \
+ "doc/." \
+ `# DSTDIR:` \
+ "${pkgdir}/usr/share/doc/${_pkgname}/"
+
+ # copy game files
+ cp -dpr --no-preserve=ownership \
+ `# SRCDIRS:` \
+ "data" \
+ "images" \
+ "levels" \
+ "${srcdir}/music" \
+ `# DSTDIR:` \
+ "${pkgdir}/usr/share/${_pkgname}"
}
# template end;