summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: b46dcf55346cae5208a089870b9e304bc46694f5 (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
# Maintainer: mcol <mcol@posteo.net>
# Contributor: roger <roger@rogerpc.com.ar>

pkgname=qtile-git
pkgver=v0.18.0.r112.g2ec771fe
pkgrel=2
pkgdesc="A full-featured, pure-Python tiling window manager. (git version)"
arch=('x86_64')
url="http://www.qtile.org"
license=('MIT')

# Technically the X-related dependencies are *not* required, if the user only
# wants to use the Wayland backend. However this would cause disruption, so
# let's hold off on changing that for now.
depends=(
  'gdk-pixbuf2'
  'glibc'
  'pango'
  'python-cairocffi'
  'python-cffi'
  'python-xcffib'
)

makedepends=('git' 'python-setuptools' 'python-setuptools-scm' 'libpulse')
checkdepends=(
  'dbus'
  'graphviz'
  'gtk3'
  'imagemagick'
  'libnotify'
  'librsvg'
  'mypy'
  'python-bowler'
  'python-dbus-next'
  'python-gobject'
  'python-pytest'
  'python-pywlroots'
  'python-xdg'
  'python-xvfbwrapper'
  'wlroots'
  'xorg-server-xephyr'
  'xorg-xrandr'
)
optdepends=(
  'alsa-utils: volume widget'
  'canto-daemon: canto widget'
  'cmus: cmus widget'
  'jupyter_console: interaction with qtile via Jupyter'
  'khal: khal_calendar widget'
  'libpulse: for pulse_volume and pulseaudio_ffi widget'
  'librsvg: for SVG support in some widgets widgets or wallpapers'
  'lm_sensors: sensors widget'
  'moc: moc widget'
  'python-dbus-next: for utils, notifications and several widgets'
  'python-iwlib: wlan widget'
  'python-keyring: imapwidget widget'
  'python-mpd2: mpd2widget widget'
  'python-psutil: graph, net and memory widget'
  'python-pywlroots: Wayland backend'
  'python-setproctitle: change process name to qtile'
  'python-xdg: launchbar widget'
)
provides=('qtile')
conflicts=('qtile')
install=${pkgname}.install
source=('git+https://github.com/qtile/qtile')
md5sums=('SKIP')

pkgver() {
  cd qtile
  git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//'
}

build() {
  cd qtile
  python setup.py build
  ./scripts/ffibuild
}

check() {
  cd qtile
  export LC_TYPE=en_US.UTF-8
  # export MYPYPATH="$PWD:$PWD/stubs"
  # mypy-based tests are ignored until I figure out how to fix them
  # Plus they won't change from merge to package
  pytest -vv --backend x11 --backend wayland \
    --ignore test/test_check.py --ignore test/test_migrate.py test
}

package() {
  cd qtile
  python setup.py install --skip-build --optimize=1 --root="$pkgdir"
  install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/"
  install -vDm 644 CHANGELOG README.rst libqtile/resources/default_config.py \
    -t "${pkgdir}/usr/share/doc/$pkgname/"
  install -vDm 644 resources/qtile.desktop -t "$pkgdir/usr/share/xsessions/"
  install -vDm 644 resources/qtile-wayland.desktop -t "$pkgdir/usr/share/wayland-sessions/"
}