apkbuilds @ e89c3ae528d667a63b9716653f9f926bf416f2ee

feat: add initial photoview APKBUILD
  1diff --git a/apks/photoview/APKBUILD b/apks/photoview/APKBUILD
  2new file mode 100644
  3index 0000000000000000000000000000000000000000..ab6003ccbae6cd90e3136bf1e643e8b2f7d01ca9
  4--- /dev/null
  5+++ b/apks/photoview/APKBUILD
  6@@ -0,0 +1,63 @@
  7+# Maintainer: Gabriel Giovanini <mail@gabrielgio.me>
  8+pkgname=photoview
  9+pkgver=2.3.13
 10+pkgrel=2
 11+pkgdesc="Photo gallery for self-hosted personal servers"
 12+url="https://github.com/photoview/photoview"
 13+arch="x86_64"
 14+license="AGPL-3.0"
 15+install="$pkgname.pre-install"
 16+makedepends="go 
 17+    npm
 18+    dlib-dev
 19+    yaml-dev
 20+    libheif-dev
 21+    jpeg-dev
 22+    blas-dev
 23+    lapack-dev
 24+    exiftool
 25+    ffmpeg-dev"
 26+subpackages="$pkgname-openrc"
 27+source="$pkgname-$pkgver.tar.gz::https://github.com/photoview/photoview/archive/v$pkgver.tar.gz
 28+    $pkgname.pre-install
 29+    $pkgname.initd
 30+    $pkgname.confd"
 31+builddir="$srcdir/$pkgname-$pkgver"
 32+
 33+build() {
 34+    cd "$srcdir/$pkgname-$pkgver/api"
 35+    go build -o "$pkgname" server.go
 36+
 37+    cd "$srcdir/$pkgname-$pkgver/ui"
 38+    npm ci --yes --omit=dev --ignore-scripts
 39+    npm run build
 40+}
 41+
 42+check() {
 43+    cd "$srcdir/$pkgname-$pkgver/api"
 44+    go test ./...
 45+
 46+    cd "$srcdir/$pkgname-$pkgver/ui"
 47+    npm install
 48+    CI=true npm run test
 49+}
 50+
 51+package() {
 52+    install -Dm755 api/"$pkgname" "$pkgdir/usr/bin/$pkgname"
 53+    install -d "${pkgdir}/var/cache/${pkgname}/media_cache"
 54+
 55+    cd "$srcdir/$pkgname-$pkgver/ui/dist"
 56+    find * -type f -exec install -Dm0644 "{}" "${pkgdir}/usr/share/webapps/${pkgname}/{}" \;
 57+
 58+    install -d "${pkgdir}/var/lib/${pkgname}"
 59+
 60+	install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
 61+	install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
 62+}
 63+
 64+sha512sums="
 65+63feaaa33257a5f529fe87f354b1937f7eac60faf1ec0d01c1ca91bf6929b08b680359c044879e9ab96329690baa543e19d4cf0237b20fda152c39631496cd59  photoview-2.3.13.tar.gz
 66+25ab91023866397d7e7557c546606212c1c59f97d7a4f1dc091b717c5daaadcb35ab82552bc7ee723baf9b5dd8a76114e027ab453e4db9469931378655c82a29  photoview.pre-install
 67+e93390bbd9cf50f4838fdbe217656722781d07dcedebbbef27060df69107ebd5f04b8dec54f1802318e6da8f3a3c9c74a301c208e92713d3c785c7e35f14f55b  photoview.initd
 68+41e8ac7cca9051b7420de9c4fb67bad0168ac1ecc4ff63761defb1e025b0cbc8264443e2488af18b21ecd189d63cf2037103d3a6d6ba83eaf362c578f765da31  photoview.confd
 69+"
 70diff --git a/apks/photoview/photoview.confd b/apks/photoview/photoview.confd
 71new file mode 100644
 72index 0000000000000000000000000000000000000000..0c90d9ef153572ecc7c734f5ea4f0e96844fbe7e
 73--- /dev/null
 74+++ b/apks/photoview/photoview.confd
 75@@ -0,0 +1,17 @@
 76+# Available options mysql (default), postgres and sqlite.
 77+PHOTOVIEW_DATABASE_DRIVER=sqlite
 78+PHOTOVIEW_SQLITE_PATH=/var/lib/photoview/photoview.db
 79+
 80+# PHOTOVIEW_MYSQL_URL=
 81+# PHOTOVIEW_POSTGRES_URL=
 82+
 83+PHOTOVIEW_LISTEN_IP=localhost
 84+PHOTOVIEW_LISTEN_PORT=4001
 85+PHOTOVIEW_SERVE_UI=1
 86+PHOTOVIEW_UI_PATH=/usr/share/webapps/photoview/
 87+PHOTOVIEW_MEDIA_CACHE=/var/cache/photoview/media_cache
 88+
 89+# disable features
 90+PHOTOVIEW_DISABLE_FACE_RECOGNITION=1
 91+PHOTOVIEW_DISABLE_VIDEO_ENCODING=0
 92+PHOTOVIEW_DISABLE_RAW_PROCESSING=0
 93diff --git a/apks/photoview/photoview.initd b/apks/photoview/photoview.initd
 94new file mode 100644
 95index 0000000000000000000000000000000000000000..04a799c90d4c2b5910bce2028724061911ee584b
 96--- /dev/null
 97+++ b/apks/photoview/photoview.initd
 98@@ -0,0 +1,40 @@
 99+#!/sbin/openrc-run
100+supervisor=supervise-daemon
101+
102+command="/usr/bin/photoview"
103+command_background="yes"
104+command_user="photoview:photoview"
105+
106+# database
107+export PHOTOVIEW_DATABASE_DRIVER
108+export PHOTOVIEW_SQLITE_PATH
109+export PHOTOVIEW_MYSQL_URL
110+export PHOTOVIEW_POSTGRES_URL
111+
112+export PHOTOVIEW_LISTEN_IP
113+export PHOTOVIEW_LISTEN_PORT
114+export PHOTOVIEW_SERVE_UI
115+export PHOTOVIEW_UI_PATH
116+export PHOTOVIEW_MEDIA_CACHE
117+
118+# features
119+export PHOTOVIEW_DISABLE_FACE_RECOGNITION
120+export PHOTOVIEW_DISABLE_VIDEO_ENCODING
121+export PHOTOVIEW_DISABLE_RAW_PROCESSING
122+
123+logdir="/var/log/photoview"
124+error_log="$logdir/${SVCNAME}.log"
125+pidfile="/var/run/${SVCNAME}.pid"
126+
127+depend() {
128+	need net
129+	after firewall
130+}
131+
132+start_pre() {
133+    checkpath -d -o $command_user -m755 $logdir
134+    checkpath -d -o $command_user -m755 /var/cache/photoview/media_cache
135+    checkpath -d -o $command_user -m755 /var/lib/photoview
136+    checkpath -d -o $command_user -m755 /usr/share/webapps/photoview
137+    checkpath -f -o $command_user -m644 $error_log
138+}
139diff --git a/apks/photoview/photoview.pre-install b/apks/photoview/photoview.pre-install
140new file mode 100644
141index 0000000000000000000000000000000000000000..a493b21631e607bcda180413ba6adbc69e52b8e4
142--- /dev/null
143+++ b/apks/photoview/photoview.pre-install
144@@ -0,0 +1,6 @@
145+#!/bin/sh
146+
147+addgroup -S photoview 2>/dev/null
148+adduser -S -D -h /var/lib/photoview -s /sbin/nologin -G photoview -g photoview photoview 2>/dev/null
149+
150+exit 0