apkbuilds @ 3.21

 1pkgname=invidious
 2pkgver=v2.20250504.0 
 3pkgrel=0
 4pkgdesc="Alternative front-end to YouTube"
 5url="https://github.com/iv-org/invidious"
 6arch="x86_64"
 7license="AGPL-3.0-or-later"
 8depends="
 9	rsvg-convert
10"
11# testing breaks for now fixing later
12options="
13    !check
14    net
15"
16makedepends="
17	crystal
18	git
19	libxml2-dev
20	openssl-dev
21	shards
22	sqlite-dev
23	yaml-dev
24	zlib-dev
25"
26install="$pkgname.pre-install"
27pkgusers="$pkgname"
28pkggroups="$pkgname"
29subpackages="$pkgname-openrc"
30source="
31	$pkgname-$pkgver.tar.gz::https://github.com/iv-org/invidious/archive/refs/tags/$pkgver.tar.gz
32	$pkgname.initd
33"
34builddir="$srcdir/$pkgname-${pkgver:1}"
35
36prepare() {
37	default_prepare
38
39	sed \
40		-e 's/^CURRENT_BRANCH =.*/CURRENT_BRANCH = "release"/' \
41		-e 's/^CURRENT_COMMIT  =.*/CURRENT_COMMIT  = "'$pkgver'"/' \
42		-e 's/^CURRENT_VERSION =.*/CURRENT_VERSION = "'$pkgver'"/' \
43		-e 's/^ASSET_COMMIT =.*/ASSET_COMMIT = "'$pkgver'"/' \
44		-i src/invidious.cr
45
46	datadir=/usr/share/webapps/invidious
47	# fix paths
48	sed -i src/invidious.cr \
49		-e "s|\(public_folder\) \"assets\"|\1 \"$datadir/assets\"|"
50	sed -i src/invidious/helpers/i18n.cr \
51		-e "s|File.read(\"locales/|File.read(\"$datadir/locales/|"
52	sed -i src/invidious/database/base.cr \
53		-e "s|config/sql|/etc/$pkgname/\0|g"
54
55}
56
57build() {
58	shards install
59	crystal build \
60		--release \
61		-Ddisable_quic \
62		src/invidious.cr
63}
64
65package() {
66	install -Dm755 "$pkgname" "$pkgdir"/usr/bin/invidious
67	install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
68	mkdir -p "$pkgdir"/usr/share/webapps/invidious
69	cp -r "$builddir"/assets "$builddir"/locales \
70		"$pkgdir"/usr/share/webapps/invidious
71	install -Dm644 "$builddir"/config/config.example.yml \
72		"$pkgdir"/etc/"$pkgname"/config.yml
73}
74sha512sums="
75c6169ed12591065bff21630a4c18832534e199af028ed4af023dfe2cdfe1dcffcb999b5a9502a556a5690ca77cc1f3ccab0bbea31d24782ca8ff76b7bf7a5d29  invidious-v2.20250504.0.tar.gz
76ed0a2e498751927c1ad82619395a07c169f7353a9c1453381ad288ad501b915010df5b799e4f102e034f0483b9101b9a8ae40d150b3d7db80605f87b9ca6f596  invidious.initd
77"