blob: 36125ca47517cf30d24b1ed675d3f2927d80982d (
plain)
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
|
# Maintainer: Paul Weingardt <paulweingardt@web.de>
# Co-Maintainer: Mark Wagie <mark dot wagie at proton dot me>
# Contributor: TDY <tdy@gmx.com>
# Contributor: Ivan Shapovalov <intelfx@intelfx.name>
pkgname=git-cola
pkgver=4.19.0
pkgrel=2
pkgdesc="The highly caffeinated Git GUI"
arch=('any')
url="https://git-cola.gitlab.io"
license=('GPL-2.0-or-later')
depends=(
'git'
'hicolor-icon-theme'
'python-numpy'
'python-polib'
'python-pyqt6'
'python-qtpy'
)
makedepends=(
'python-build'
'python-installer'
'python-rst.linker'
'python-setuptools-scm'
'python-sphinx'
'python-sphinx-furo'
'python-wheel'
'rsync'
)
checkdepends=(
'appstream'
'desktop-file-utils'
'garden-tools'
'python-pytest'
)
optdepends=(
'aspell: Aspell based spell checking support'
'hunspell: Hunspell based checking support'
'python-notify2: Enables desktop notifications'
'python-pygments: Syntax highlighting'
'python-pyinotify: Enable file system change monitoring'
'python-pyqt6-webengine'
'python-send2trash: Enables "Send to Trash" functionality'
'tk: Fallback built-in ssh-askpass handler'
'x11-ssh-askpass: Default askpass credential helper'
)
source=("git+https://github.com/git-cola/git-cola.git#tag=v$pkgver?signed")
sha256sums=('36138d4ef4c71a60137465b246a8afdd987d1f035352282024eb8d0880e590f6')
validpgpkeys=('FA41BF59C1B48E8C5F3DA61C8CE26BF4A9F606B0') # David Aguilar <davvid@gmail.com>
prepare() {
cd "$pkgname"
git clean -dfx
make clean
# Remove vendorized polib.py
rm -rv cola/polib.py extras/polib
# Remove vendored qtpy
rm -rv qtpy extras/qtpy
}
build() {
cd "$pkgname"
export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
python -m build --wheel --no-isolation
# Limit to 1 job to avoid build failure
make -j1 doc
}
check() {
cd "$pkgname"
desktop-file-validate share/applications/*.desktop
appstreamcli validate --no-net share/metainfo/*.appdata.xml || :
# Use local git config
export GIT_CONFIG_GLOBAL="$PWD/git.config"
git config --global init.defaultBranch main
git config --global user.name "Git Cola"
git config --global user.email "git-cola@localhost"
make test
}
package() {
cd "$pkgname"
python -m installer --destdir="$pkgdir" dist/*.whl
make prefix=/usr DESTDIR="$pkgdir" \
install-desktop-files \
install-icons \
install-htmldocs \
install-metainfo
# Don't rebuild man pages & docs
make -C docs -o man prefix=/usr DESTDIR="$pkgdir" install-man
make -C docs -o html prefix=/usr DESTDIR="$pkgdir" install-html
install -Dm644 "contrib/_${pkgname}" -t "$pkgdir/usr/share/zsh/site-functions/"
install -Dm644 "contrib/$pkgname-completion.bash" \
"$pkgdir/usr/share/bash-completion/completions/$pkgname"
}
|