jobextra/git/PKGBUILD

137 lines
4.8 KiB
Bash

#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
# Website : https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=git
pkgver=2.40.1
pkgrel=01
pkgdesc='the fast distributed version control system w/o systemd'
url='https://git-scm.com/'
depends=('curl' 'expat' 'perl' 'perl-error' 'perl-mailtools'
'openssl' 'pcre2' 'grep' 'shadow' 'zlib')
makedepends=('python' 'libgnome-keyring' 'xmlto' 'asciidoc')
optdepends=('tk: gitk and git gui'
'perl-libwww: git svn'
'perl-term-readkey: git svn and interactive.singlekey setting'
'perl-io-socket-ssl: git send-email TLS support'
'perl-authen-sasl: git send-email TLS support'
'perl-mediawiki-api: git mediawiki support'
'perl-datetime-format-iso8601: git mediawiki support'
'perl-lwp-protocol-https: git mediawiki https support'
'perl-cgi: gitweb (web interface) support'
'python: git svn & git p4'
'subversion: git svn'
'org.freedesktop.secrets: keyring credential helper'
'libsecret: libsecret credential helper')
install=git.install
source=("https://www.kernel.org/pub/software/scm/git/git-$pkgver.tar."{xz,sign}
'git-sysusers.conf')
_make_paths=(
prefix='/usr'
gitexecdir='/usr/lib/git-core'
perllibdir="$(/usr/bin/perl -MConfig -wle 'print $Config{installvendorlib}')"
)
_make_options=(
CFLAGS="$CFLAGS"
LDFLAGS="$LDFLAGS"
INSTALL_SYMLINKS=1
MAN_BOLD_LITERAL=1
NO_PERL_CPAN_FALLBACKS=1
USE_LIBPCRE2=1
)
build() {
cd "$srcdir/$pkgname-$pkgver"
make \
"${_make_paths[@]}" \
"${_make_options[@]}" \
all man
make -C contrib/credential/gnome-keyring
make -C contrib/credential/libsecret
make -C contrib/subtree "${_make_paths[@]}" all man
make -C contrib/mw-to-git "${_make_paths[@]}" all
make -C contrib/diff-highlight "${_make_paths[@]}"
}
check() {
cd "$srcdir/$pkgname-$pkgver"
local jobs
jobs=$(expr "$MAKEFLAGS" : '.*\(-j[0-9]*\).*') || true
mkdir -p /dev/shm/git-test
# explicitly specify SHELL to avoid a test failure in t/t9903-bash-prompt.sh
# which is caused by 'git rebase' trying to use builduser's SHELL inside the
# build chroot (i.e.: /usr/bin/nologin)
SHELL=/bin/sh \
make \
"${_make_paths[@]}" \
"${_make_options[@]}" \
NO_SVN_TESTS=y \
DEFAULT_TEST_TARGET=prove \
GIT_PROVE_OPTS="$jobs -Q" \
GIT_TEST_OPTS="--root=/dev/shm/git-test" \
test
}
package() {
cd "$srcdir/$pkgname-$pkgver"
make \
"${_make_paths[@]}" \
"${_make_options[@]}" \
DESTDIR="$pkgdir" \
install install-man
# bash completion
mkdir -p "$pkgdir"/usr/share/bash-completion/completions/
install -m 0644 ./contrib/completion/git-completion.bash "$pkgdir"/usr/share/bash-completion/completions/git
# fancy git prompt
mkdir -p "$pkgdir"/usr/share/git/
install -m 0644 ./contrib/completion/git-prompt.sh "$pkgdir"/usr/share/git/git-prompt.sh
# gnome credentials helper (deprecated, but we will keep it as long there is no extra cost)
# https://gitlab.gnome.org/GNOME/libgnome-keyring/commit/6a5adea4aec93
install -m 0755 contrib/credential/gnome-keyring/git-credential-gnome-keyring \
"$pkgdir"/usr/lib/git-core/git-credential-gnome-keyring
make -C contrib/credential/gnome-keyring clean
# libsecret credentials helper
install -m 0755 contrib/credential/libsecret/git-credential-libsecret \
"$pkgdir"/usr/lib/git-core/git-credential-libsecret
make -C contrib/credential/libsecret clean
# subtree installation
make -C contrib/subtree "${_make_paths[@]}" DESTDIR="$pkgdir" install install-man
# mediawiki installation
make -C contrib/mw-to-git "${_make_paths[@]}" DESTDIR="$pkgdir" install
# the rest of the contrib stuff
find contrib/ -name '.gitignore' -delete
cp -a ./contrib/* "$pkgdir"/usr/share/git/
# # git-daemon via systemd socket activation
# install -D -m 0644 "$srcdir"/git-daemon@.service "$pkgdir"/usr/lib/systemd/system/git-daemon@.service
# install -D -m 0644 "$srcdir"/git-daemon.socket "$pkgdir"/usr/lib/systemd/system/git-daemon.socket
# sysusers file
install -D -m 0644 "$srcdir"/git-sysusers.conf "$pkgdir"/usr/lib/sysusers.d/git.conf
}
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=('GPL2')
validpgpkeys=('96E07AF25771955980DAD10020D04E5A713660A7') # Junio C Hamano
sha256sums=(4893b8b98eefc9fdc4b0e7ca249e340004faa7804a433d17429e311e1fef21d2 # git-2.40.1.tar.xz
e95fcb5c6d15e21204c64d2b9913e30f7bf15ed448e60e44b04be1ed13714ade # git-2.40.1.tar.sign
7630e8245526ad80f703fac9900a1328588c503ce32b37b9f8811674fcda4a45) # git-sysusers.conf
## ad706ff4a9aa75673b93f826bce4b9e5ccbcff3b9059b1081799c921c5bef4f3 git-2.40.1-01-x86_64.pkg.tar.lz