PKGBUILD RawHistoryFolder
1# Maintainer: bnema <b at bnema dot dev>
2# The release workflow sets pkgver and publishes this file to the AUR on every
3# release tag, so the AUR version never falls behind the latest tag.
4pkgname=neferwl-git
5pkgver=0.1.0.r78.ge0b15ca
6pkgrel=1
7pkgdesc='A Wayland compositor that spends its frames on your apps, not on itself (git version)'
8arch=('x86_64' 'aarch64')
9url='https://git.bnema.dev/neferwl'
10license=('AGPL-3.0-only')
11# Loaded at runtime (purego, no cgo): not seen by makepkg's library scan.
12depends=('glibc' 'libinput' 'libxkbcommon' 'seatd' 'systemd-libs' 'vulkan-icd-loader'
13 'vulkan-driver' 'wayland' 'dbus' 'libcap')
14makedepends=('go>=2:1.27' 'git')
15optdepends=('xwayland-satellite>=0.7: X11 apps'
16 'foot: default terminal'
17 'fuzzel: launcher'
18 'xdg-desktop-portal-gtk: file pickers and settings for apps'
19 'xdg-desktop-portal-gnome: screen sharing and screenshots through the portal'
20 'pipewire: screen sharing streams'
21 'nefercap: screenshots and screen recording')
22provides=('neferwl')
23conflicts=('neferwl' 'neferwl-bin')
24install=neferwl.install
25source=('git+https://git.bnema.dev/neferwl.git')
26sha256sums=('SKIP')
27
28pkgver() {
29 cd neferwl
30 # v0.2.0-5-gabc1234 -> 0.2.0.r5.gabc1234. Pre-release tags (v0.3.0-rc1)
31 # are skipped: pacman sorts 0.3.0.rc1 after 0.3.0.
32 git describe --long --tags --abbrev=7 --exclude='*-*' | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
33}
34
35prepare() {
36 cd neferwl
37 export GOPATH="$srcdir/gopath" GOFLAGS='-mod=readonly -modcacherw' GOTOOLCHAIN=local
38 go mod download
39}
40
41build() {
42 cd neferwl
43 export GOPATH="$srcdir/gopath" CGO_ENABLED=0 GOTOOLCHAIN=local GOPROXY=off
44 export GOFLAGS='-mod=readonly -modcacherw -trimpath -buildvcs=false -buildmode=pie'
45 go build -ldflags "-X main.version=$pkgver" -o neferwl ./cmd/neferwl
46}
47
48check() {
49 cd neferwl
50 ./neferwl version
51 ./neferwl validate-config examples/config
52}
53
54package() {
55 cd neferwl
56 install -Dm755 neferwl "$pkgdir/usr/bin/neferwl"
57 install -Dm755 packaging/neferwl-session "$pkgdir/usr/bin/neferwl-session"
58 install -Dm644 packaging/neferwl.service "$pkgdir/usr/lib/systemd/user/neferwl.service"
59 install -Dm644 packaging/neferwl-shutdown.target "$pkgdir/usr/lib/systemd/user/neferwl-shutdown.target"
60 install -Dm644 packaging/neferwl.desktop "$pkgdir/usr/share/wayland-sessions/neferwl.desktop"
61 install -Dm644 packaging/neferwl-portals.conf "$pkgdir/usr/share/xdg-desktop-portal/neferwl-portals.conf"
62 install -Dm644 examples/config "$pkgdir/usr/share/doc/neferwl/config.example"
63 install -Dm644 examples/capture-allow "$pkgdir/usr/share/doc/neferwl/capture-allow.example"
64 install -Dm644 README.md "$pkgdir/usr/share/doc/neferwl/README.md"
65 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
66}