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"