summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 3977a9a5344222f1927aa5d64ea2868a1ab6987b (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
# Maintainer: GreyXor <greyxor@protonmail.com>
# Contributor: Drew DeVault <sir@cmpwn.com>
pkgname=sway-asan-git
pkgver=1.10.r7377.3f327b3
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'
	'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/"
}