aboutsummaryrefslogtreecommitdiffstats
path: root/community/weston/APKBUILD
blob: e1bdc48031e66ae7707192fedcd710d2a18141f8 (plain) (blame)
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
117
118
119
120
121
122
123
124
125
126
127
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
pkgname=weston
pkgver=8.0.0
pkgrel=3
_libname=lib$pkgname
_libdir=$_libname-${pkgver%%.*}
pkgdesc="The reference Wayland server"
url="https://wayland.freedesktop.org/"
arch="all !s390x !ppc64le"
license="MIT"
makedepends="wayland-protocols libxkbcommon-dev xkeyboard-config
	libinput-dev libunwind-dev mtdev-dev libxcursor-dev glu-dev
	pango-dev colord-dev libwebp-dev libva-dev dbus-dev
	linux-pam-dev wayland-dev libevdev-dev libjpeg-turbo-dev
	freerdp-dev lcms2-dev gstreamer-dev gst-plugins-base-dev meson
	elogind-dev
	"
_cms="cms-colord cms-static"
_shell="shell-desktop shell-fullscreen shell-ivi"
_client="info terminal wcap-decode"
_backend="backend-drm backend-fbdev backend-headless
	backend-x11 backend-wayland backend-rdp
	"
for _sub in $_cms $_shell $_client $_backend; do
	subpackages="$subpackages $pkgname-$_sub:_sub"
done
subpackages="$pkgname-dev $pkgname-doc $subpackages
	$pkgname-clients $_libname-desktop:_libd $_libname:libs
	$pkgname-xwayland $pkgname-desktop-x11:_x11:noarch
	"
source="https://wayland.freedesktop.org/releases/weston-$pkgver.tar.xz
	timespec.patch
	"
# weston-launch requires suid
options="!check suid"
install="$pkgname.pre-install"

build() {
	abuild-meson \
		-Dlauncher-logind=true \
		-Dsystemd=false \
		-Dsimple-dmabuf-drm=auto \
		-Dpipewire=false \
		build
	meson compile ${JOBS:+-j ${JOBS}} -C build
}

# Does not run through, see also:
# https://github.com/alpinelinux/aports/pull/1689
check() {
	ninja -C "$builddir"/build test
}

package() {
	DESTDIR="$pkgdir" ninja -C "$builddir"/build install

	mkdir -p "$pkgdir"/usr/lib
	mv "$pkgdir"/usr/share/pkgconfig/* "$pkgdir"/usr/lib/pkgconfig/
}

libs() {
	depends="xkeyboard-config"
	default_libs
}

_libd() {
	pkgdesc="Desktop shells abstraction library for libweston compositors"
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/*desktop* "$subpkgdir"/usr/lib
}

clients() {
	pkgdesc="Weston example clients"
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/$pkgname-* "$subpkgdir"/usr/bin
}

xwayland() {
	pkgdesc="Wayland module to run X Clients"
	mkdir -p "$subpkgdir"/usr/lib/$_libdir
	mv "$pkgdir"/usr/lib/$_libdir/xwayland.so \
		"$subpkgdir"/usr/lib/$_libdir
}

_x11() {
	pkgdesc="Weston desktop helper pack (x11 backend)"
	depends="$pkgname $pkgname-shell-desktop $pkgname-xwayland
		$pkgname-backend-x11 $pkgname-terminal"
	mkdir -p "$subpkgdir"
}

_sub() {
	local name path
	case $subpkgname in
	*-cms-*)
		name=${subpkgname#$pkgname-cms-}
		path=/usr/lib/$pkgname
		pkgdesc="Weston CMS module: $name"
		name=cms-$name.so
		;;
	*-shell-*)
		name=${subpkgname#$pkgname-shell-}
		path=/usr/lib/$pkgname
		pkgdesc="Weston shell: $name"
		name=*$name-shell*
		;;
	*-backend-*)
		name=${subpkgname#$pkgname-backend-}
		path=/usr/lib/$_libdir
		pkgdesc="Weston backend: $name"
		name=$name-backend.so
		grep -q cairo "$pkgdir"/$path/$name && depends="mesa-dri-swrast"
		;;
	*)
		name=$subpkgname
		path=/usr/bin
		[ -x "$pkgdir"/$path/$name ] || name=${subpkgname#$pkgname-}
		pkgdesc="Weston client: $name"
		;;
	esac
	mkdir -p "$subpkgdir"/$path
	mv "$pkgdir"/$path/$name "$subpkgdir"/$path
}

sha512sums="74853b0c9cabbabe942a2d057b65e4e97b48dc5f4df6d7b9ffc10ec52bc787009b12b900be6b426551902b920b7308baa967b7489761641dc9c31cf90440950c  weston-8.0.0.tar.xz
3e596af4bf0a6b06a5d28376043db111fe1c161ead04501fa6d2c667b5a21889cca3354d1bdc4ac794841bef68ed5e1a7a84e44e7d510e947e3673195706caed  timespec.patch"