diff options
author | Nikolay Korotkiy | 2018-09-20 14:09:25 +0300 |
---|---|---|
committer | Nikolay Korotkiy | 2018-09-20 14:09:25 +0300 |
commit | 0218dcc63bcf884c143eba321bbb1c6053ad8641 (patch) | |
tree | 3f6721725ee97055d4bf2479fe0794f4e8e2d509 /PKGBUILD | |
parent | 07657e1ac87a808abecf319904c22c817025a0bd (diff) | |
download | aur-0218dcc63bcf884c143eba321bbb1c6053ad8641.tar.gz |
Minor improvement
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 40 |
1 files changed, 32 insertions, 8 deletions
@@ -2,20 +2,30 @@ _orgname=BourgeoisLab _pkgname=GPXLab _branch=master +_use_gh_api=true pkgname=${_pkgname,,}-git -pkgver=0.4.0.r17.6c69ea7 +pkgver=0.4.0.r17.6c69ea7b pkgrel=1 pkgdesc='Program to show and manipulate GPS tracks' arch=('i686' 'x86_64') url="https://bourgeoislab.wordpress.com/gpxlab/" license=('GPL3') depends=('qt5-base') -makedepends=('git' 'qt5-tools') +makedepends=('qt5-tools') +if [ "${_use_gh_api}" = true ]; then + makedepends+=('python') +else + makedepends+=('git') +fi provides=("${pkgname//-git}=${pkgver}") conflicts=(${pkgname//-git}) -source=("${_pkgname}-${_branch}::git://github.com/${_orgname}/${_pkgname}.git#branch=${_branch}" - "gpxlab.desktop" - "gpxlab.xml") +if [ "${_use_gh_api}" = true ]; then + source=("https://github.com/${_orgname}/${_pkgname}/archive/${_branch}.tar.gz") +else + source=("${_pkgname}-${_branch}::git://github.com/${_orgname}/${_pkgname}.git#branch=${_branch}") +fi +source+=("gpxlab.desktop" + "gpxlab.xml") sha256sums=('SKIP' 'df674c3baa689b5441c81447fa999f418029c1edc5ac1933cdb26202049d2b58' '5e35029c0cf26cbe82c3fbe1f839688f99406c2e054b1311e7912d0468df7c38') @@ -23,9 +33,23 @@ sha256sums=('SKIP' pkgver() { cd ${_pkgname}-${_branch} - RELEASE="$(git describe --tags $(git rev-list --tags --max-count=1))" - REVISION="$(git rev-list --count HEAD).$(git rev-parse --short HEAD)" - printf "%s.r%s" "${RELEASE#?}" "${REVISION}" + if [ "${_use_gh_api}" = true ]; then + api_url="https://api.github.com/repos/${_orgname}/${_pkgname}" + base="30fb6d1" + head=$(curl -s "$api_url/git/refs/heads/${_branch}" | \ + python -c "import sys, json; print(json.load(sys.stdin)['object']['sha'][:8])") + count=$(curl -s "$api_url/compare/${base}...${head}" | \ + python -c "import sys, json; print(json.load(sys.stdin)['total_commits'] + 1)") + release=$(curl -s "$api_url/tags" | \ + python -c "import sys, json; r = json.load(sys.stdin)[0]; print(r['name'])") + else + release="$(git describe --tags $(git rev-list --tags --max-count=1))" + count="$(git rev-list --count HEAD)" + head="$(git rev-parse --short HEAD)" + fi + + release=${release//-/.} # pkgver is not allowed to contain hyphens + printf "%s.r%s.%s" "${release#?}" "${count}" "${head}" } prepare() { |