summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: fc6bf1b3a0ee646efcd2ac356b585a5f78375fea (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
# Maintainer: Ivan Shapovalov <intelfx@intelfx.name>
# Contributor: Paul Weingardt <paulweingardt@web.de>
# Contributor: Mark Wagie <mark dot wagie at proton dot me>
# Contributor: TDY <tdy@gmx.com>
pkgname=git-cola-git
_pkgname=git-cola
pkgver=4.4.1.r58.g5a33a788
pkgrel=1
pkgdesc="The highly caffeinated Git GUI"
arch=('any')
url="https://git-cola.github.io"
license=('GPL2')
depends=('git' 'hicolor-icon-theme' 'python-numpy' 'python-polib' 'python-pyqt5'
         'python-qtpy')
makedepends=('python-build' 'python-installer' 'python-jaraco.packaging'
             'python-rst.linker' 'python-setuptools-scm' 'python-sphinx'
             'python-sphinx_rtd_theme' 'python-wheel' 'rsync' 'git')
checkdepends=('appstream-glib' 'desktop-file-utils' 'python-pytest')
optdepends=('python-pygments: syntax highlighting'
            'python-pyinotify: file system change monitoring'
            'python-send2trash: enables "Send to Trash" functionality.'
            'tk: to use the built-in ssh-askpass handler')
provides=('git-cola')
conflicts=('git-cola')
source=("$_pkgname::git+https://github.com/git-cola/git-cola.git"
        '0001-Unvendorize-polib.py.patch')
sha256sums=('SKIP'
            '00db8356a4bc6f1d9dade64ab04b6f8bada2df22b246e21551ce925de9f95625')

pkgver() {
  cd "$_pkgname"
  git describe --long | sed 's/^v//;s/-/.r/;s/-/./'
}

prepare() {
  cd "$_pkgname"

  # Remove vendorized polib.py
  patch -Np1 -i ../0001-Unvendorize-polib.py.patch
  rm cola/polib.py
}

build() {
  cd "$_pkgname"
  python -m build --wheel --no-isolation

  # sphinx (or, rather, rtd.linker) races against itself, leading to a spurious ENOENT
  make -j1 prefix=/usr doc
}

check() {
  cd "$_pkgname"

  desktop-file-validate share/applications/*.desktop
  appstream-util validate-relax --nonet share/metainfo/*.appdata.xml

  # Run the unit tests
  GIT_CONFIG_NOSYSTEM=true LC_ALL="C.UTF-8" make test V=2
}

package() {
  cd "$_pkgname"
  python -m installer --destdir="$pkgdir" dist/*.whl

  # `make -C docs` is used instead of `make install-doc` to specify
  # `-o man -o html` (do not remake docs, we just built them)
  #make install-doc
  make -C docs -o man -o html prefix=/usr DESTDIR="$pkgdir" install

  install -Dm644 "contrib/_${_pkgname}" -t "$pkgdir/usr/share/zsh/site-functions/"
  install -Dm644 "contrib/${_pkgname}-completion.bash" \
    "$pkgdir/usr/share/bash-completion/completions/${_pkgname}"
}