archrelease: copy trunk to extra-x86_64
[arch-packages.git] / libxkbcommon / trunk / PKGBUILD
blobc0c03222c84bc8c628c681b0c20ae4296859a1d6
1 # Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
2 # Contributor: Daniel Micay <danielmicay@gmail.com>
3 # Contributor: Mladen Pejakovic <pejakm@gmail.com>
5 pkgbase=libxkbcommon
6 pkgname=(
7   libxkbcommon
8   libxkbcommon-x11
9   libxkbcommon-doc
11 pkgver=1.5.0
12 pkgrel=1
13 pkgdesc='Keymap handling library for toolkits and window systems'
14 url='https://xkbcommon.org/'
15 arch=(x86_64)
16 license=(custom)
17 makedepends=(
18   doxygen
19   git
20   libxcb 
21   libxml2
22   meson
23   wayland
24   wayland-protocols
25   xkeyboard-config
26   xorgproto
28 checkdepends=(
29   libgl
30   xorg-server-xvfb
32 options=(
33   debug
35 _commit=cecaa01df18925eb66c6a81f6e4b7167421d45f2  # tags/xkbcommon-1.5.0^0
36 source=("git+https://github.com/xkbcommon/libxkbcommon#commit=$_commit")
37 sha256sums=('SKIP')
39 pkgver() {
40   cd libxkbcommon
41   git describe --tags | sed 's/^xkbcommon-//;s/[^-]*-g/r&/;s/-/+/g'
44 prepare() {
45   cd libxkbcommon
47   # Fix xkbcli interactive-wayland
48   git cherry-pick -n 320f56d2a4a31026e5c8d3b60303af98bf885e1b
51 build() {
52   arch-meson libxkbcommon build
53   meson compile -C build
56 check() {
57   xvfb-run -s '-nolisten local' meson test -C build --print-errorlogs
60 _pick() {
61   local p="$1" f d; shift
62   for f; do
63     d="$srcdir/$p/${f#$pkgdir/}"
64     mkdir -p "$(dirname "$d")"
65     mv "$f" "$d"
66     rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
67   done
70 package_libxkbcommon() {
71   depends=(
72     libxml2
73     xkeyboard-config
74   )
75   optdepends=(
76     'libxkbcommon-x11: xkbcli interactive-x11'
77     'wayland: xkbcli interactive-wayland'
78   )
79   provides=(
80     libxkbcommon.so
81     libxkbregistry.so
82   )
84   meson install -C build --destdir "$pkgdir"
86   _pick x11 "$pkgdir"/usr/lib/*x11*
87   _pick x11 "$pkgdir"/usr/lib/pkgconfig/*x11*
88   _pick x11 "$pkgdir"/usr/lib/xkbcommon/*x11*
89   _pick x11 "$pkgdir"/usr/include/xkbcommon/*x11*
90   _pick x11 "$pkgdir"/usr/share/man/man1/*x11*
92   _pick doc "$pkgdir"/usr/share/doc
94   install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libxkbcommon/LICENSE
97 package_libxkbcommon-x11() {
98   pkgdesc='Keyboard handling library using XKB data for X11 XCB clients'
99   depends=(
100     libxcb
101     libxkbcommon
102     libxkbcommon.so
103   )
104   provides=(
105     libxkbcommon-x11.so
106   )
108   mv x11/* "$pkgdir"/
110   install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libxkbcommon/LICENSE
113 package_libxkbcommon-doc() {
114   pkgdesc='API documentation for libxkbcommon'
116   mv doc/* "$pkgdir"/
118   install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libxkbcommon/LICENSE
121 # vim:set sw=2 sts=-1 et: