summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 323fa51b5fe52648aff47c0a5ca13cd1c5ef4957 (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
# Maintainer: GreyXor <greyxor@protonmail.com>
# Contributor: Drew DeVault <sir@cmpwn.com>
pkgname=sway-asan-git
pkgver=1.10.r7276.c8676fa
pkgrel=1
pkgdesc='Tiling Wayland compositor and replacement for the i3 window manager (with address sanitizer)'
arch=('x86_64')
url="https://github.com/swaywm/sway"
license=("MIT")
depends=(
"cairo"
"gdk-pixbuf2"
"glib2"
"glibc"
"json-c"
"libdrm"
"libevdev"
"libinput"
"libxcb"
"libxkbcommon"
"pango"
"pcre2"
"pixman"
"systemd-libs"
"wayland"
"wlroots-git"
"xcb-util-wm"
)
makedepends=(
"git"
"libcap"
"meson"
"scdoc"
"wayland-protocols"
)
optdepends=(
'wmenu: Application launcher used in default configuration'
'foot: Terminal emulator used in default configuration'
'polkit: System privilege control. Required if not using seatd service'
'swaybg: Wallpaper tool for sway'
'swayidle: Idle management daemon'
'swaylock: Screen locker'
'xorg-xwayland: X11 support'
'xdg-desktop-portal-gtk: Portal used for default file picking'
'xdg-desktop-portal-wlr: Portal used for screen sharing'
)
provides=("${pkgname%-asan-git}" "${pkgname/-asan/}=${pkgver}")
conflicts=("${pkgname%-asan-git}" "${pkgname/-asan/}")
install="sway-git.install"
source=("${pkgname}::git+${url}.git"
"50-systemd-user.conf"
"sway-portals.conf"
"0001-asan-options.patch")
b2sums=('SKIP'
        '71f45f9abb4e9f98a52177b227aa30ab27d02c9eef8a31400460e71c72b6d40ec396581f0b1703d4cec655aaba704077212882f643c6efb6cda951ea69b5383d'
        'cdba5fd2988b7ead8b264d5b41f1c7adb47a6487be1e3a4ce98c0af2094d9964f4bc364237c4437014be18061f067aa741b0382f21365be497e06b189c5c7728'
        '30efac9b5d06babb8ee9b35a25887b403d9e0e0a81078841d3837e075ce84a3a8aa93cbdd156db092c333b9b98e4ce3fd1ab40078ac1a90e243f1e24b9ebf5be')

_meson_setup() {
  arch-meson "$pkgname" "$1" -D sd-bus-provider=libsystemd \
    -Db_sanitize=address,undefined
}

prepare() {
  _meson_setup build-pkgver
  cd "$pkgname"
  for f in "$srcdir"/*.patch; do
    patch -p1 < "$f"
  done
}

pkgver() {
  (
    set -o pipefail
    meson introspect --projectinfo build-pkgver | sed -n 's/.*"version": "\([^"]*\)".*/\1/;s/-dev//p' | tr -d '\n'
  )
  cd "$pkgname"
  printf ".r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
}

build() {
  _meson_setup build
  meson compile -C build
}

package() {
  meson install -C build --destdir "$pkgdir"

  install -Dm644 "${pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
  install -Dm644 "${pkgname}/README.md" "${pkgdir}/usr/share/doc/${pkgname}/README.md"

  install -Dm644 50-systemd-user.conf -t "$pkgdir/etc/sway/config.d/"
  install -Dm644 sway-portals.conf -t "$pkgdir/usr/share/xdg-desktop-portal/"
}