Add PKGBUILD-vcs.proto

This PKGBUILD proto covers the newly introduced VCS capabilities of
pacman. It serves as a replacement for the current bzr, git, hg and svn
protos found in ABS.

Signed-off-by: Maxime Gauduin <alucryd@gmail.com>

[Allan: add to Makefile.am]
Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Maxime Gauduin 2014-01-28 14:49:47 +01:00 committed by Allan McRae
parent aa4d3298fb
commit edce7555a6
2 changed files with 79 additions and 0 deletions

View File

@ -20,6 +20,7 @@ pkgdatadir = ${datadir}/${PACKAGE}
dist_pkgdata_DATA = \
proto/PKGBUILD.proto \
proto/PKGBUILD-split.proto \
proto/PKGBUILD-vcs.proto \
proto/proto.install \
proto/ChangeLog.proto

78
proto/PKGBUILD-vcs.proto Normal file
View File

@ -0,0 +1,78 @@
# This is an example PKGBUILD file. Use this as a start to creating your own,
# and remove these comments. For more information, see 'man PKGBUILD'.
# NOTE: Please fill out the license field for your package! If it is unknown,
# then please put 'unknown'.
# The following guidelines are specific to BZR, GIT, HG and SVN packages.
# Other VCS sources are not natively supported by makepkg yet.
# Maintainer: Your Name <youremail@domain.com>
pkgname=NAME-VCS # '-bzr', '-git', '-hg' or '-svn'
pkgver=VERSION
pkgrel=1
pkgdesc=""
arch=()
url=""
license=('GPL')
groups=()
depends=()
makedepends=('VCS_PACKAGE') # 'bzr', 'git', 'mercurial' or 'subversion'
provides=("${pkgname%-VCS}")
conflicts=("${pkgname%-VCS}")
replaces=()
backup=()
options=()
install=
source=('FOLDER::VCS+URL#FRAGMENT')
noextract=()
md5sums=('SKIP')
# Please refer to the 'USING VCS SOURCES' section of the PKGBUILD man page for
# a description of each element in the source array.
pkgver() {
cd "$srcdir/${pkgname%-VCS}"
# The examples below are not absolute and need to be adapted to each repo. The
# primary goal is to generate version numbers that will increase according to
# pacman's version comparisons with later commits to the repo. The format
# VERSION='VER_NUM.rREV_NUM.HASH', or a relevant subset in case VER_NUM or HASH
# are not available, is recommended.
# Bazaar
printf "r%s" "$(bzr revno)"
# Git, tags available
printf "%s" "$(git describe --long | sed 's/\([^-]*-\)g/r\1/;s/-/./g')"
# Git, no tags available
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
# Mercurial
printf "r%s.%s" "$(hg identify -n)" "$(hg identify -i)"
# Subversion
printf "r%s" "$(svnversion | tr -d 'A-z')"
}
prepare() {
cd "$srcdir/${pkgname%-VCS}"
patch -p1 -i "$srcdir/${pkgname%-VCS}.patch"
}
build() {
cd "$srcdir/${pkgname%-VCS}"
./autogen.sh
./configure --prefix=/usr
make
}
check() {
cd "$srcdir/${pkgname%-VCS}"
make -k check
}
package() {
cd "$srcdir/${pkgname%-VCS}"
make DESTDIR="$pkgdir/" install
}