1diff --git a/apks/alps/APKBUILD b/apks/alps/APKBUILD
2new file mode 100644
3index 0000000000000000000000000000000000000000..e7bab57895bc4587830bcd10ec5c0c3c83e066fa
4--- /dev/null
5+++ b/apks/alps/APKBUILD
6@@ -0,0 +1,45 @@
7+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
8+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
9+pkgname=alps
10+pkgver=0_git20221018
11+pkgrel=0
12+_commit=f01fbcbc48db5e65d69a0ebd9d7cb0deb378cf13
13+pkgdesc="Simple and extensible webmail"
14+url="https://sr.ht/~migadu/alps/"
15+arch="all"
16+license="MIT"
17+makedepends="go"
18+install="$pkgname.pre-install"
19+subpackages="$pkgname-openrc"
20+source="$pkgname-$_commit.tar.gz::https://git.sr.ht/~migadu/alps/archive/$_commit.tar.gz
21+ fix-statics-dir.patch
22+
23+ alps.confd
24+ alps.initd
25+ "
26+builddir="$srcdir/alps-$_commit"
27+options="!check net" # no tests in upstream
28+
29+build() {
30+ go build -o alps ./cmd/alps
31+}
32+
33+package() {
34+ install -Dm755 alps "$pkgdir"/usr/bin/alps
35+
36+ install -dm755 "$pkgdir"/var/lib/alps
37+ cp -r themes "$pkgdir"/var/lib/alps
38+ for asset in plugins/*/public/*.html plugins/*/public/**/*; do
39+ install -Dm644 "$asset" "$pkgdir"/var/lib/alps/"$asset"
40+ done
41+
42+ install -Dm755 "$srcdir"/alps.initd "$pkgdir"/etc/init.d/alps
43+ install -Dm644 "$srcdir"/alps.confd "$pkgdir"/etc/conf.d/alps
44+}
45+
46+sha512sums="
47+682a8dc80f5812a033c57eb91f17a3e2da7320a642a04f08abda2baeb93a69528c446323d089773061f6a6b91dcda7e4dfa0885285532d310bdcc1565d6d3e81 alps-f01fbcbc48db5e65d69a0ebd9d7cb0deb378cf13.tar.gz
48+789b4cae9b2c4acb5b05288c4f9858de1b5cfda87bc96c40505e9447ec9ad39fdabbd5af0c65007c51a5f3a425602ea7a81d3f6c62894dddf6790fe26793755c fix-statics-dir.patch
49+61c1b05851ae05fbf51cb8eb060c5677de7145a07dac3a194a3f7513b2ff3bf5f3792a749d1a2eef09fc6378f2fbf2021cc49dffe652f51230120c40a7062b6c alps.confd
50+6e109577d662ce61d2b753e5b82237827646f10d0af02b10b3f184a10bb747c3c8303e7d20a5cc2b7c31ac4a6f3aef62290c068868e647c9b1ce711dfb6e025a alps.initd
51+"
52diff --git a/apks/alps/alps.confd b/apks/alps/alps.confd
53new file mode 100644
54index 0000000000000000000000000000000000000000..cd610105fd19d2bd9f86b66f34c676a0ef7266d0
55--- /dev/null
56+++ b/apks/alps/alps.confd
57@@ -0,0 +1,11 @@
58+# Configuration for /etc/init.d/alps
59+
60+# space-separated list of imap/smtp servers
61+servers="imap://localhost"
62+
63+theme="alps"
64+listen_address=":1323"
65+command_user="alps:alps"
66+
67+# comment this out for old style service management
68+supervisor=supervise-daemon
69diff --git a/apks/alps/alps.initd b/apks/alps/alps.initd
70new file mode 100644
71index 0000000000000000000000000000000000000000..307c6e333dd1bb8471fee1b2b6cf3c0ffdfe1648
72--- /dev/null
73+++ b/apks/alps/alps.initd
74@@ -0,0 +1,23 @@
75+#!/sbin/openrc-run
76+
77+name="alps webmail server"
78+
79+command="/usr/bin/alps"
80+command_args="${listen_address:+-addr $listen_address} ${theme:+-theme $theme} $servers"
81+: ${command_user:="alps:alps"}
82+command_background=yes
83+directory="/var/lib/alps"
84+pidfile="/run/alps.pid"
85+
86+output_log="/var/log/alps.log"
87+error_log="/var/log/alps.log"
88+
89+depend() {
90+ need net
91+ after firewall
92+}
93+
94+start_pre() {
95+ checkpath -d -m 755 -o "$command_user" /var/lib/alps
96+ checkpath -f -m 644 -o "$command_user" /var/log/alps.log
97+}
98diff --git a/apks/alps/alps.pre-install b/apks/alps/alps.pre-install
99new file mode 100644
100index 0000000000000000000000000000000000000000..176a80109280df86ef66fd371ee1769eeb73622b
101--- /dev/null
102+++ b/apks/alps/alps.pre-install
103@@ -0,0 +1,6 @@
104+#!/bin/sh
105+
106+addgroup -S alps
107+adduser -S -D -H -h /var/lib/alps -s /sbin/nologin -G alps -g alps alps
108+
109+exit 0
110diff --git a/apks/alps/fix-statics-dir.patch b/apks/alps/fix-statics-dir.patch
111new file mode 100644
112index 0000000000000000000000000000000000000000..72eaffaaab3340c683e3a082a1077aa0b403e4e1
113--- /dev/null
114+++ b/apks/alps/fix-statics-dir.patch
115@@ -0,0 +1,26 @@
116+diff --git a/cmd/alps/main.go b/cmd/alps/main.go
117+index 5a00957..f537177 100644
118+--- a/cmd/alps/main.go
119++++ b/cmd/alps/main.go
120+@@ -23,7 +23,7 @@ import (
121+ _ "git.sr.ht/~migadu/alps/plugins/viewtext"
122+ )
123+
124+-var themesPath = "./themes"
125++var themesPath = "/var/lib/alps/themes"
126+
127+ func main() {
128+ var (
129+diff --git a/plugin.go b/plugin.go
130+index e634f02..43b8164 100644
131+--- a/plugin.go
132++++ b/plugin.go
133+@@ -7,7 +7,7 @@ import (
134+ )
135+
136+ // PluginDir is the path to the plugins directory.
137+-const PluginDir = "plugins"
138++const PluginDir = "/var/lib/alps/plugins"
139+
140+ // Plugin extends alps with additional functionality.
141+ type Plugin interface {
142diff --git a/apks/jellyfin-web/APKBUILD b/apks/jellyfin-web/APKBUILD
143deleted file mode 100644
144index 5781b3e3eb13fae1a3c09ec7f0a2b3220f8340c0..0000000000000000000000000000000000000000
145--- a/apks/jellyfin-web/APKBUILD
146+++ /dev/null
147@@ -1,28 +0,0 @@
148-# Maintainer: Simon Zeni <simon@bl4ckb0ne.ca>
149-pkgname=jellyfin-web
150-pkgver=10.8.8
151-pkgrel=0
152-pkgdesc="Web Client for Jellyfin"
153-url="https://jellyfin.org/"
154-# armv7: oom
155-arch="x86_64"
156-options="!check net" # no tests
157-license="GPL-2.0-only"
158-install="$pkgname.post-install"
159-depends="jellyfin"
160-makedepends="npm"
161-source="$pkgname-$pkgver.tar.gz::https://github.com/jellyfin/jellyfin-web/archive/refs/tags/v$pkgver.tar.gz"
162-
163-build() {
164- npm ci --no-audit
165-}
166-
167-package() {
168- mkdir -p "$pkgdir"/usr/lib/jellyfin/jellyfin-web
169-
170- cp -r "$builddir"/dist/* "$pkgdir"/usr/lib/jellyfin/jellyfin-web
171-}
172-
173-sha512sums="
174-88a829248f1d2506509a3610cc67575899df4fcb371fdd766b4a91f2005f387055ac716047293882cc494e2894f4121049c9525f468a33c99a12ff5d0c87fb19 jellyfin-web-10.8.8.tar.gz
175-"
176diff --git a/apks/jellyfin-web/jellyfin-web.post-install b/apks/jellyfin-web/jellyfin-web.post-install
177deleted file mode 100644
178index a6e69426fe7357daabddec8f662975f83bbecddd..0000000000000000000000000000000000000000
179--- a/apks/jellyfin-web/jellyfin-web.post-install
180+++ /dev/null
181@@ -1,6 +0,0 @@
182-#!/bin/sh
183-
184-printf " *\n * The default jellyfin configuration does not enable the web ui.\n"
185-printf " * Remove the '--nowebclient' option from /etc/conf.d/jellyfin to enable it.\n *\n"
186-
187-exit 0
188diff --git a/apks/jellyfin/APKBUILD b/apks/jellyfin/APKBUILD
189deleted file mode 100644
190index d2eb21204da6459bbdc8af83999bdcfcc67bee79..0000000000000000000000000000000000000000
191--- a/apks/jellyfin/APKBUILD
192+++ /dev/null
193@@ -1,63 +0,0 @@
194-# Maintainer: Simon Zeni <simon@bl4ckb0ne.ca>
195-pkgname=jellyfin
196-pkgver=10.8.8
197-pkgrel=0
198-pkgdesc="The Free Software Media System"
199-pkgusers="$pkgname"
200-pkggroups="$pkgname"
201-install="$pkgname.pre-install"
202-url="https://jellyfin.org/"
203-arch="x86_64"
204-license="GPL-2.0-only"
205-makedepends="dotnet6-sdk"
206-depends="aspnetcore6-runtime ffmpeg"
207-subpackages="$pkgname-openrc"
208-source="$pkgname-$pkgver.tar.gz::https://github.com/jellyfin/jellyfin/archive/refs/tags/v$pkgver.tar.gz
209- $pkgname.initd
210- $pkgname.confd"
211-
212-case $CARCH in
213- x86_64) _dotnet_arch=x64;;
214- aarch64) _dotnet_arch=arm64;;
215- armv7|armhf) _dotnet_arch=arm;;
216-esac
217-
218-# parses RID from /etc/os-release depending on if edge or production release
219-# to set _runtime_id
220-# shellcheck disable=SC2034
221-. /etc/os-release
222-[ -n "${VERSION_ID//[^_]}" ] && _runtime_id="alpine.${VERSION_ID%_*}-$_dotnet_arch" || _runtime_id="alpine.${VERSION_ID%.*}-$_dotnet_arch"
223-
224-build() {
225- dotnet build --configuration Release Jellyfin.Server --no-self-contained --runtime $_runtime_id
226- dotnet publish --configuration Release Jellyfin.Server --no-self-contained --output publish --runtime $_runtime_id
227-}
228-
229-check() {
230- # check on aarch64 is broken for dotnet6-sdk v6.0.1xx due to
231- # https://github.com/microsoft/vstest/issues/2566
232- if [ "$CARCH" = "aarch64" ]; then
233- return
234- fi
235-
236- dotnet test --runtime $_runtime_id
237-}
238-
239-package() {
240- mkdir -p "$pkgdir"/usr/lib
241- cp -dr publish "$pkgdir"/usr/lib/jellyfin
242-
243- mkdir -p "$pkgdir"/usr/bin
244- ln -s /usr/lib/jellyfin/jellyfin "$pkgdir"/usr/bin/jellyfin
245-
246- install -Dm755 "$srcdir"/$pkgname.initd \
247- "$pkgdir"/etc/init.d/$pkgname
248- install -Dm644 "$srcdir"/$pkgname.confd \
249- "$pkgdir"/etc/conf.d/$pkgname
250-}
251-
252-sha512sums="
253-1866a8e6a730d2d2211a907aa9087c8bc7069ef53010ba652f1dbbe2c6c638a29259531e31ccf5bee797651999ec0963b2ff3588e791f3b523e43bf4a3556070 jellyfin-10.8.8.tar.gz
254-364a70a953d921048a249fd370642c1782e434c850334cd55e35bbb10d1bb93482d37faa1c11da5d7acba96a084d9832e5db212b65b0fa9907c7d3afe553aaf9 jellyfin.initd
255-d35eb07d11d711b8ad35c7726e151a8096609712fee3bfea00c9adeff8e56660e3cde3d9b0b2dc8a847514af4d2b32340e2b29b77facfab4f8921ba15ba671b0 jellyfin.confd
256-"
257diff --git a/apks/jellyfin/jellyfin.confd b/apks/jellyfin/jellyfin.confd
258deleted file mode 100644
259index 6cd891ce6d9f1932bbe850fe3e41b6135ac6ad7b..0000000000000000000000000000000000000000
260--- a/apks/jellyfin/jellyfin.confd
261+++ /dev/null
262@@ -1,5 +0,0 @@
263-supervisor=supervise-daemon
264-datadir="/var/lib/jellyfin"
265-cachedir="/var/cache/jellyfin"
266-logdir="/var/log/jellyfin"
267-opts="--nowebclient"
268diff --git a/apks/jellyfin/jellyfin.initd b/apks/jellyfin/jellyfin.initd
269deleted file mode 100644
270index 278d79dddae9ea4542ce580166a1e6fa3a2d94b7..0000000000000000000000000000000000000000
271--- a/apks/jellyfin/jellyfin.initd
272+++ /dev/null
273@@ -1,20 +0,0 @@
274-#!/sbin/openrc-run
275-
276-name=jellyfin
277-description="The Free Software Media System"
278-
279-command=/usr/bin/jellyfin
280-command_user=jellyfin:jellyfin
281-command_args="--datadir ${datadir} --cachedir ${cachedir} --logdir ${logdir} ${opts}"
282-
283-depend() {
284- use logger dns
285- need net
286- after firewall
287-}
288-
289-start_pre() {
290- checkpath -d -o $command_user "$datadir"
291- checkpath -d -o $command_user "$cachedir"
292- checkpath -d -o $command_user "$logdir"
293-}
294diff --git a/apks/jellyfin/jellyfin.pre-install b/apks/jellyfin/jellyfin.pre-install
295deleted file mode 100644
296index 6e647160debab510a6a24035d4028b66a6594e71..0000000000000000000000000000000000000000
297--- a/apks/jellyfin/jellyfin.pre-install
298+++ /dev/null
299@@ -1,9 +0,0 @@
300-#!/bin/sh
301-
302-user=jellyfin
303-group=jellyfin
304-
305-addgroup -S $group 2>/dev/null
306-adduser -S -D -h /var/lib/$user -s /sbin/nologin -G $group -g $user $user 2>/dev/null
307-
308-exit 0