blob: 54528b9653aa602b9c6cbe6c0faa2b274950187a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
# Maintainer: Christian Hesse <mail@eworm.de>
# Maintainer: Dan McGee <dan@archlinux.org>
pkgname=git-mistress
pkgver=2.40.0
pkgrel=1
pkgdesc='the fast distributed version control system'
arch=('x86_64')
url='https://git-scm.com/'
license=('GPL2')
depends=('curl' 'expat' 'perl' 'perl-error' 'perl-mailtools'
'openssl' 'pcre2' 'grep' 'shadow' 'zlib')
makedepends=('python' 'libgnome-keyring' 'xmlto' 'asciidoc' 'patch')
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')
conflicts=('git')
provides=('git')
install=git.install
validpgpkeys=('96E07AF25771955980DAD10020D04E5A713660A7') # Junio C Hamano
source=("https://www.kernel.org/pub/software/scm/git/git-$pkgver.tar."{xz,sign}
'git-daemon@.service'
'git-daemon.socket'
'git-sysusers.conf'
'default-branch.patch')
sha256sums=('b17a598fbf58729ef13b577465eb93b2d484df1201518b708b5044ff623bf46d'
'SKIP'
'14c0b67cfe116b430645c19d8c4759419657e6809dfa28f438c33a005245ad91'
'ac4c90d62c44926e6d30d18d97767efc901076d4e0283ed812a349aece72f203'
'7630e8245526ad80f703fac9900a1328588c503ce32b37b9f8811674fcda4a45'
'b61dc8d002f73aa96e565841a2923453418f7ce27d29ba9e2bad7f4ae10044c2')
_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/git-$pkgver"
patch -p1 < "$srcdir"/default-branch.patch
make -j$(nproc) \
"${_make_paths[@]}" \
"${_make_options[@]}" \
all man
make -j$(nproc) -C contrib/credential/gnome-keyring
make -j$(nproc) -C contrib/credential/libsecret
make -j$(nproc) -C contrib/subtree "${_make_paths[@]}" all man
make -j$(nproc) -C contrib/mw-to-git "${_make_paths[@]}" all
make -j$(nproc) -C contrib/diff-highlight "${_make_paths[@]}"
}
# check() {
# cd "$srcdir/git-$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 -j$(nproc) \
# "${_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/git-$pkgver"
make -j$(nproc) \
"${_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 -j$(nproc) -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 -j$(nproc) -C contrib/credential/libsecret clean
# subtree installation
make -j$(nproc) -C contrib/subtree "${_make_paths[@]}" DESTDIR="$pkgdir" install install-man
# mediawiki installation
make -j$(nproc) -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
}
|