core/git/PKGBUILD
2014-12-24 12:43:34 +01:00

115 lines
4.0 KiB
Bash

# maintainer <inkane@chakraos.org>
# contributor <almack[at]chakraos[dot]org>
pkgname=git
pkgver=2.2.1
pkgrel=1
pkgdesc="Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency."
arch=('x86_64')
url="http://git-scm.com/"
license=('GPL2')
depends=('curl' 'expat>=2.0' 'perl-error' 'perl' 'openssl' 'pcre')
makedepends=('python2' 'emacs' 'asciidoc' 'xmlto')
optdepends=('tk: gitk and git gui'
'perl-libwww: git svn'
'perl-term-readkey: git svn'
'perl-net-smtp-ssl: git send-email TLS support'
'python2: various helper scripts'
'subversion: git svn')
replaces=('git-core')
provides=('git-core')
install="git.install"
source=("https://www.kernel.org/pub/software/scm/git/git-$pkgver.tar.xz"
0001-create-gpg-homedir-on-the-fly.patch
0002-skip-RFC1991-tests-for-gnupg-2.1.patch
git-daemon@.service
git-daemon.socket)
md5sums=('43e01f9d96ba8c11611e0eef0d9f9f28'
'5383e27f24bfd356f24b709ea27f8201'
'9bb82b29aee1772a893cc2a0a1584b89'
'042524f942785772d7bd52a1f02fe5ae'
'f67869315c2cc112e076f0c73f248002')
prepare() {
cd "$srcdir/$pkgname-$pkgver"
patch -Np1 < ../0001-create-gpg-homedir-on-the-fly.patch
# patch utility doesn't support git binary diffs
rm t/lib-gpg/random_seed
rm t/lib-gpg/trustdb.gpg
patch -Np1 < ../0002-skip-RFC1991-tests-for-gnupg-2.1.patch
}
build() {
export PYTHON_PATH='/usr/bin/python2'
cd "${srcdir}/${pkgname}-${pkgver}"
make prefix=/usr gitexecdir=/usr/lib/git-core \
CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
USE_LIBPCRE=1 \
NO_CROSS_DIRECTORY_HARDLINKS=1 \
MAN_BOLD_LITERAL=1 \
all doc
make -C contrib/emacs prefix=/usr
make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core all doc
}
check() {
export PYTHON_PATH='/usr/bin/python2'
cd "$srcdir/$pkgname-$pkgver"
local jobs
jobs=$(expr "$MAKEFLAGS" : '.*\(-j[0-9]*\).*') || true
mkdir -p /dev/shm/git-test
make prefix=/usr gitexecdir=/usr/lib/git-core \
CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
USE_LIBPCRE=1 \
NO_CROSS_DIRECTORY_HARDLINKS=1 \
MAN_BOLD_LITERAL=1 \
NO_SVN_TESTS=y \
DEFAULT_TEST_TARGET=prove \
GIT_PROVE_OPTS="$jobs -Q" \
GIT_TEST_OPTS="--root=/dev/shm/git-test" \
test
}
package() {
export PYTHON_PATH='/usr/bin/python2'
cd "${srcdir}/${pkgname}-${pkgver}"
make prefix=/usr gitexecdir=/usr/lib/git-core \
CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
USE_LIBPCRE=1 \
NO_CROSS_DIRECTORY_HARDLINKS=1 \
MAN_BOLD_LITERAL=1 \
INSTALLDIRS=vendor DESTDIR="$pkgdir" install install-doc
# bash completion
mkdir -p "${pkgdir}/usr/share/bash-completion/completions/"
install -m644 ./contrib/completion/git-completion.bash "${pkgdir}/usr/share/bash-completion/completions/git"
# fancy git prompt
mkdir -p "${pkgdir}/usr/share/git/"
install -m644 ./contrib/completion/git-prompt.sh "${pkgdir}/usr/share/git/git-prompt.sh"
# emacs interface
make -C contrib/emacs prefix=/usr DESTDIR="$pkgdir" install
# subtree installation
make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core DESTDIR="$pkgdir" install install-doc
# the rest of the contrib stuff
cp -a ./contrib/* $pkgdir/usr/share/git/
# scripts are for python 2.x
sed -i 's|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|' \
$(find "$pkgdir" -name '*.py') \
"$pkgdir"/usr/share/git/gitview/gitview \
"$pkgdir"/usr/share/git/remote-helpers/git-remote-bzr \
"$pkgdir"/usr/share/git/remote-helpers/git-remote-hg
sed -i 's|#![ ]*/usr/bin/python$|#!/usr/bin/python2|' \
"$pkgdir"/usr/share/git/svn-fe/svnrdump_sim.py
# remove perllocal.pod, .packlist, and empty directories.
rm -rf "${pkgdir}/usr/lib/perl5"
# systemd stuff
install -D -m644 "${srcdir}/git-daemon@.service" "${pkgdir}/usr/lib/systemd/system/git-daemon@.service"
install -D -m644 "${srcdir}/git-daemon.socket" "${pkgdir}/usr/lib/systemd/system/git-daemon.socket"
}
# vim:set ts=2 sw=2 et: