summaryrefslogtreecommitdiff
path: root/proto
diff options
context:
space:
mode:
authorMaxime Gauduin <alucryd@gmail.com>2014-01-28 14:49:47 +0100
committerAllan McRae <allan@archlinux.org>2014-02-02 16:11:32 +1000
commitedce7555a6b7410d1a4da6d27d22383989306ccc (patch)
tree42c0c646d0852a3507de6f512b2e58fbce929b2d /proto
parentaa4d3298fb6d46bec3d8996ff8c7ec8c9cc50db9 (diff)
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>
Diffstat (limited to 'proto')
-rw-r--r--proto/PKGBUILD-vcs.proto78
1 files changed, 78 insertions, 0 deletions
diff --git a/proto/PKGBUILD-vcs.proto b/proto/PKGBUILD-vcs.proto
new file mode 100644
index 00000000..ae9956a9
--- /dev/null
+++ b/proto/PKGBUILD-vcs.proto
@@ -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
+}