diff options
author | Lucki | 2018-09-24 14:27:16 +0200 |
---|---|---|
committer | Lucki | 2018-09-24 14:27:16 +0200 |
commit | be0f0dce10a10e86fa8b8a9f485cfca5f99f24a3 (patch) | |
tree | f25fe844b0b566921e729540fa3b12224663d79b | |
parent | 1fd41a029c69c2b229f09efcc1735141ca2bc447 (diff) | |
download | aur-be0f0dce10a10e86fa8b8a9f485cfca5f99f24a3.tar.gz |
Use timestamps to work around squashes
and let makepkg handle dubs deps
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | PKGBUILD | 192 |
2 files changed, 144 insertions, 67 deletions
@@ -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 @@ -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; |