aboutsummaryrefslogtreecommitdiffstats
path: root/community/sxmo-utils/APKBUILD
blob: f248ff4801e382f204581b8e13585addab9dc44d (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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
# Contributor: Anjandev Momi <anjan@momi.ca>
# Contributor: Maarten van Gompel <proycon@anaproy.nl>
# Maintainer: Willow Barraco <contact@willowbarraco.fr>
pkgname=sxmo-utils
pkgver=1.15.2
pkgrel=4
pkgdesc="Utility scripts, programs, and configs that hold the Sxmo UI environment together"
url="https://git.sr.ht/~mil/sxmo-utils"
arch="all !ppc64le" # limited by codemadness-frontends
license="AGPL-3.0-only"
depends="
	coreutils
	gawk
	curl
	doas
	gojq
	"
makedepends="
	libx11-dev
	linux-headers
	scdoc
	xproto
	"
options="!check" # has no tests
subpackages="
	$pkgname-doc
	$pkgname-common::noarch
	$pkgname-x11::noarch
	$pkgname-wayland::noarch
	$pkgname-dwm::noarch
	$pkgname-sway::noarch
	$pkgname-audio-pipewire:audio_pipewire:noarch
	$pkgname-audio-pulseaudio:audio_pulseaudio:noarch
	$pkgname-audio-bluetooth:audio_bluetooth:noarch
	$pkgname-audio-bluetooth-pipewire:audio_bluetooth_pipewire:noarch
	$pkgname-audio-bluetooth-pulseaudio:audio_bluetooth_pulseaudio:noarch
	"
source="
	$pkgname-$pkgver.tar.gz::https://git.sr.ht/~mil/sxmo-utils/archive/$pkgver.tar.gz
	rootfs-etc-NetworkManager-conf.d-00-sxmo.conf
	rootfs-etc-polkit-1-rules.d-00-sxmo.rules
	rootfs-etc-polkit-1-rules.d-50-org.freedesktop.NetworkManager.rules
	"

package() {
	mkdir -p "$pkgdir/etc/modules-load.d/"
	printf %b "snd-aloop" > "$pkgdir/etc/modules-load.d/sxmo.conf"
	mkdir -p "$pkgdir/etc/modprobe.d/"
	printf %b "options snd slots=,snd-aloop" > "$pkgdir/etc/modprobe.d/sxmo.conf"

	make  -C "$builddir" DESTDIR=$pkgdir install

	install -Dm644 "$srcdir/rootfs-etc-NetworkManager-conf.d-00-sxmo.conf" \
		"$pkgdir/etc/NetworkManager/conf.d/00-sxmo.conf"

	install -Dm644 "$srcdir/rootfs-etc-polkit-1-rules.d-00-sxmo.rules" \
		"$pkgdir/etc/polkit-1/rules.d/00-sxmo.rules"

	install -Dm644 "$srcdir/rootfs-etc-polkit-1-rules.d-50-org.freedesktop.NetworkManager.rules" \
		"$pkgdir/etc/polkit-1/rules.d/50-org.freedesktop.NetworkManager.rules"
}

common() {
	pkgdesc="$pkgdesc - common dependencies"
	depends="
		$pkgname=$pkgver-r$pkgrel
		$pkgname-audio
		$pkgname-wm

		adwaita-icon-theme
		alsa-utils
		brightnessctl
		callaudiod
		codemadness-frontends
		conky
		dnsmasq
		dunstify
		file
		font-dejavu
		font-dejavu-sans-mono-nerd
		geoclue
		inotify-tools
		linux-tools-iio
		lisgd
		mediainfo
		mmsd-tng
		mmsd-tng-tools
		mnc
		modemmanager
		mpv
		ncurses
		pnc
		polkit
		pulseaudio-utils
		superd
		tinydm
		tzdata
		upower
		v4l-utils
		vim
		vvmd
		xdg-user-dirs
		yt-dlp
		"

	# bonsai and sxmobar requires hare which doesnt work on all arches
	# refer to https://pkgs.alpinelinux.org/packages?name=hare&branch=edge&repo=&arch=&maintainer=
	# and add arches here as they become available. Bonsai should always be preferred
	# cause it fixes alot of issues. If bonsai is not installed, sxmo will fallback
	# to the old buggy shell script.
	case "$CARCH" in
	x86_64|aarch64|riscv64)
		depends="$depends bonsai sxmobar"
		;;
	esac

	mkdir -p "$subpkgdir"
}

x11() {
	pkgdesc="$pkgdesc - x11 dependencies"
	depends="
		$pkgname-common=$pkgver-r$pkgrel

		autocutsel
		dunst
		feh
		svkbd
		sxiv
		sxmo-dmenu
		sxmo-dwm
		sxmo-st
		unclutter-xfixes
		xcalib
		xclip
		xdotool
		xdpyinfo
		xinput
		xprintidle
		xprop
		xrandr
		xrdb
		xsel
		xset
		xsetroot
		xwininfo
		"

	mkdir -p "$subpkgdir"
}

wayland() {
	pkgdesc="$pkgdesc - wayland dependencies"
	depends="
		$pkgname-common=$pkgver-r$pkgrel

		bemenu
		foot
		grim
		mako
		slurp
		swaybg
		swayidle
		wl-clipboard
		wob
		wtype
		wvkbd
		xwayland
		"

	mkdir -p "$subpkgdir"
}

dwm() {
	pkgdesc="$pkgdesc - dwm dependencies"
	provides="$pkgname-wm"
	provider_priority="10"
	depends="
		$pkgname-x11=$pkgver-r$pkgrel

		sxmo-dwm
		"
	install="$subpkgname.post-install"

	mkdir -p "$subpkgdir"
}

sway() {
	pkgdesc="$pkgdesc - sway dependencies"
	provides="$pkgname-wm"
	provider_priority="20"
	depends="
		$pkgname-wayland=$pkgver-r$pkgrel

		sway
		seatd
		xdg-desktop-portal-gtk
		xdg-desktop-portal-wlr
		"
	install="$subpkgname.post-install"

	mkdir -p "$subpkgdir"
}

audio_pipewire() {
	provides="$pkgname-audio"
	provider_priority="20"
	depends="pipewire-pulse pipewire wireplumber pipewire-alsa"

	mkdir -p "$subpkgdir"
}

audio_pulseaudio() {
	provides="$pkgname-audio"
	provider_priority="10"
	depends="pulseaudio pulseaudio-alsa"

	mkdir -p "$subpkgdir"
}

audio_bluetooth() {
	mkdir -p "$subpkgdir"
}

audio_bluetooth_pipewire() {
	install_if="$pkgname-audio-bluetooth=$pkgver-r$pkgrel $pkgname-audio-pipewire=$pkgver-r$pkgrel"
	depends="
		bluez
		pipewire-spa-bluez
		"

	mkdir -p "$subpkgdir"
}

audio_bluetooth_pulseaudio() {
	install_if="$pkgname-audio-bluetooth=$pkgver-r$pkgrel $pkgname-audio-pulseaudio=$pkgver-r$pkgrel"
	depends="
		bluez
		pulseaudio-bluez
		!$pkgname-audio-pipewire
		"

	mkdir -p "$subpkgdir"
}


sha512sums="
ee68b67a0d136a7a70b896d9ad4217d23f54022faca59c9ac241f1948c6a203453595569278e5909fa631e3855fcf0560efa7012ad9d201f1819fd65bd7b0500  sxmo-utils-1.15.2.tar.gz
67a031f309a3232ac1e8abc3fedeaee912c035f9c81b4f709248895905a27ab5844ec92c65e55b79af3894450ba3883549d4004f11efebb47114d41f730e4a5f  rootfs-etc-NetworkManager-conf.d-00-sxmo.conf
32532ad5071588b80f43d539b3bd140e3f5b4100fca244be2ade5b8c697c76043ce5278ae7bf14762106aed2c9690f34c14e73031e5d86c11cc042c8f7245421  rootfs-etc-polkit-1-rules.d-00-sxmo.rules
7b34e861bc4ec57d970d2a7aacca36e3c3742a63ff995af1336f80b666e4a38c1035b35e129322e0d62dc75011bfaf495eb2bcae5392f2bf39f1d7b1400afcce  rootfs-etc-polkit-1-rules.d-50-org.freedesktop.NetworkManager.rules
"