diff options
author | Marcell Meszaros | 2022-04-06 17:39:50 +0200 |
---|---|---|
committer | Marcell Meszaros | 2022-04-06 19:54:17 +0200 |
commit | 2b14a3829d560e31daf3aee86a36df52f9414861 (patch) | |
tree | 9ca050fc13f0542749d56e93616fd4c94522eddd | |
parent | 77959911da7acc51b8f40d735c112a83a315fb34 (diff) | |
download | aur-2b14a3829d560e31daf3aee86a36df52f9414861.tar.gz |
use git tag based version, also generate Python project version from that
Colorama Python project uses a version string not compliant with PEP 440.
So we substitute it with a somewhat PEP 440 conformant string generated
from Git tag, corresponding unequivocally to the package's pkgver.
-rw-r--r-- | .SRCINFO | 3 | ||||
-rw-r--r-- | PKGBUILD | 42 |
2 files changed, 29 insertions, 16 deletions
@@ -1,7 +1,8 @@ pkgbase = python2-colorama-git pkgdesc = Simple cross-plaform colored terminal text in Python 2 - pkgver = 0.4.5.pre.0.4.1.r101.gaff7fb2 + pkgver = 0.4.4.r50.gaff7fb2 pkgrel = 1 + epoch = 1 url = https://github.com/tartley/colorama arch = any license = BSD @@ -2,8 +2,9 @@ # Contributor: jyantis <yantis@yantis.net> pkgname=python2-colorama-git -pkgver=0.4.5.pre.0.4.1.r101.gaff7fb2 +pkgver=0.4.4.r50.gaff7fb2 pkgrel=1 +epoch=1 pkgdesc='Simple cross-plaform colored terminal text in Python 2' arch=('any') url='https://github.com/tartley/colorama' @@ -15,20 +16,7 @@ sha256sums=('SKIP') provides=('python2-colorama') conflicts=('python2-colorama') -pkgver() { - cd colorama - set -o pipefail - _gitversion=$( git describe --long | sed -r 's/([^-]*-g)/r\1/;s/-/./g' || - printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" ) - - if [ -f "colorama/__init__.py" ]; then - printf "%s.%s" "$(grep -R "__version__ =" colorama/__init__.py | awk -F\' '{print $2}')" $_gitversion | sed 's/-/./g' - else - printf "%s" $_gitversion - fi -} - -build() { +prepare() { cd colorama # Patch any #!/usr/bin/python to #!/usr/bin/python2 @@ -36,7 +24,31 @@ build() { sed -r -i 's_^#!.*/usr/bin/python(\s|$)_#!/usr/bin/python2_' $file sed -r -i 's_^#!.*/usr/bin/env(\s)*python(\s|$)_#!/usr/bin/env python2_' $file done +} + +pkgver() { + cd colorama + + # Generate git tag based version. Count only proper (v)#.#* [#=number] tags. + local _gitversion=$(git describe --long --tags --match '[v0-9][0-9.][0-9.]*' | sed -e 's|^v||') + + # Generate Python-compatible SCM version from git version + local _py_project_scm_version=$(echo $_gitversion | sed \ + -e 's|\-\([0-9]\+\)-\(g[0-9a-f]\+\)|.dev\1+\2|' + ) + + # Replace project version with generated Python-compatible SCM version + sed -i -e "s|^__version__.\+\$|__version__ = '${_py_project_scm_version}'|" './colorama/__init__.py' + # Format git-based version for pkgver + echo $_gitversion | sed \ + -e 's|^\([0-9][0-9.]*\)-\([a-zA-Z]\+\)|\1\2|' \ + -e 's|\([0-9]\+-g\)|r\1|' \ + -e 's|-|.|g' +} + +build() { + cd colorama python2 setup.py build } |