summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 0729fa898c4eac9cd231a0461ed3666d3b50dca2 (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
106
107
108
109
110
111
112
113
114
115
116
# Maintainer: q234 rty <q23456yuiop at gmail dot com>
# Contributor: Ruben Kelevra <cyrond@gmail.com>
# Contributor: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Fabian Bornschein <fabiscafe@archlinux.org>

_pkgname=libadwaita
pkgbase=libadwaita-testing
pkgname=(
  libadwaita-testing
  libadwaita-testing-demos
  libadwaita-testing-docs
)
pkgver=1.4.4
pkgrel=1
pkgdesc="Building blocks for modern adaptive GNOME applications"
url="https://gnome.pages.gitlab.gnome.org/libadwaita/"
arch=(x86_64)
license=(LGPL-2.1-or-later)
depends=(
  appstream
  fribidi
  glib2
  graphene
  gtk4
  pango
)
makedepends=(
  gi-docgen
  git
  gobject-introspection
  meson
  sassc
  vala
)
checkdepends=(weston)
_commit=f5a021d0ab0eb98455529dd8c055c45897c891df  # tags/1.4.4^0
source=("git+https://gitlab.gnome.org/GNOME/libadwaita.git#commit=$_commit")
b2sums=('SKIP')

pkgver() {
  cd $_pkgname
  git describe --tags | sed -r 's/_/./;s/\.([a-z])/\1/;s/([a-z])\./\1/;s/[^-]*-g/r&/;s/-/+/g'
}

prepare() {
  cd $_pkgname
}

build() {
  local meson_options=(
    -D gtk_doc=true
  )

  arch-meson $_pkgname build "${meson_options[@]}"
  meson compile -C build
}

check() (
  export XDG_RUNTIME_DIR="$PWD/runtime-dir" WAYLAND_DISPLAY=wayland-5

  mkdir -p -m 700 "$XDG_RUNTIME_DIR"
  weston --backend=headless-backend.so --socket=$WAYLAND_DISPLAY --idle-time=0 &
  _w=$!

  trap "kill $_w; wait" EXIT

  meson test -C build --print-errorlogs
)

_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_libadwaita-testing() {
  depends+=(libgtk-4.so)
  provides+=($_pkgname=1:$pkgver libadwaita-1.so)
  conflicts=($_pkgname)
  
  meson install -C build --destdir "$pkgdir"

  cd "$pkgdir"

  _pick demo usr/bin/adwaita-1-demo
  _pick demo usr/share/applications/org.gnome.Adwaita1.Demo.desktop
  _pick demo usr/share/icons/hicolor/*/apps/org.gnome.Adwaita1.Demo[-.]*
  _pick demo usr/share/metainfo/org.gnome.Adwaita1.Demo.metainfo.xml

  _pick docs usr/share/doc
}

package_libadwaita-testing-demos() {
  pkgdesc+=" (demo applications)"
  depends=(
    glib2
    gtk4
    hicolor-icon-theme
    $_pkgname-testing
  )
  conflicts=($_pkgname-demos)
  mv demo/* "$pkgdir"
}

package_libadwaita-testing-docs() {
  pkgdesc+=" (documentation)"
  depends=()
  conflicts=($_pkgname-docs)
  mv docs/* "$pkgdir"
}

# vim:set sw=2 sts=-1 et: