summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: c3df77c94385d829ce14ceb6273b8e480ea8d5a9 (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
103
104
105
# Maintainer: Pellegrino Prevete <pellegrinoprevete@gmail.com>

# shellcheck disable=SC2034
_pkgbase=gnome-desktop
pkgbase="${_pkgbase}-git"
pkgname=("${_pkgbase}-common-git"
         "${_pkgbase}-git"
         "${_pkgbase}-4-git")
pkgver=43+2+gc564dd8a
pkgrel=1
pkgdesc="Library with common API for various GNOME modules"
epoch=1
url="https://gitlab.gnome.org/GNOME/${_pkgbase}"
arch=(x86_64)
license=(GPL LGPL)
makedepends=('gobject-introspection-git'
             'git'
             'meson'
             'gtk-doc'
             'yelp-tools')
checkdepends=(xorg-server-xvfb)
source=("git+${url}.git")
b2sums=('SKIP')

pkgver() {
  cd "${_pkgbase}" || exit
  git describe --tags | sed 's/-/+/g'
}

build() {
  arch-meson ${_pkgbase} build \
    -D gtk_doc=true \
    -D debug_tools=false \
    -D legacy_library=true \
    -D build_gtk4=true
  meson compile -C build
}

check() {
  dbus-run-session xvfb-run -s '-nolisten local' \
    meson test -C build --print-errorlogs
}

# shellcheck disable=SC2154
# shellcheck disable=SC2295
_pick() {
  local p="$1" f d; shift
  for f; do
    d="$srcdir/$p/${f#$pkgdir/}"
    mkdir -p "$(dirname "$d")"
    mv "$f" "$d"
    rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
  done
}

package_gnome-desktop-common-git() {
  pkgdesc+=" (common files)"
  depends=(gsettings-desktop-schemas
           xkeyboard-config
           iso-codes
           libseccomp
           bubblewrap
           systemd
           libxkbcommon)
  provides=("${_pkgbase}-common")
  conflicts=("${_pkgbase}-common")

  meson install -C build --destdir "$pkgdir"

  cd "${pkgdir}" || exit

  _pick gtk3 usr/include/gnome-desktop-3.0
  _pick gtk3 usr/lib/libgnome-desktop-3.so*
  _pick gtk3 usr/lib/pkgconfig/gnome-desktop-3.0.pc
  _pick gtk3 usr/lib/girepository-1.0/GnomeDesktop-3.0.typelib
  _pick gtk3 usr/share/gir-1.0/GnomeDesktop-3.0.gir

  _pick gtk4 usr/include/gnome-desktop-4.0
  _pick gtk4 usr/lib/libgnome-*-4.so*
  _pick gtk4 usr/lib/pkgconfig/gnome-*-4.pc
  _pick gtk4 usr/lib/girepository-1.0/Gnome*-4.0.typelib
  _pick gtk4 usr/share/gir-1.0/Gnome*-4.0.gir
}

package_gnome-desktop-git() {
  pkgdesc+=" (GTK3)"
  depends=("${_pkgbase}-common-git=${epoch}:${pkgver}-${pkgrel}"
           gtk3)
  provides=("lib${_pkgbase}-3.so"
            "${_pkgbase}")
  conflicts=("${_pkgbase}")
  mv gtk3/* "$pkgdir"
}

package_gnome-desktop-4-git() {
  pkgdesc+=" (GTK4)"
  depends=("${_pkgbase}-common-git=${epoch}:${pkgver}-${pkgrel}"
           "gtk4")
  provides=(libgnome-{bg,desktop,rr}-4.so
            "${_pkgbase}-4")

  mv gtk4/* "$pkgdir"
}

# vim:set sw=2 et: