blob: c9aae517ff02a3a8a45ac3f5cc533565b0bc66e2 (
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
|
# Maintainer: Ron <thefangeddeity>
pkgname=hls-livecam-server
pkgver=5.1.9
pkgrel=1
pkgdesc="Stream a USB webcam via HLS using MediaMTX and ffmpeg, with browser viewer, camdash monitor, and family presence features"
arch=('any')
url="https://github.com/thefangeddeity/hls-livecam-server"
license=('GPL-3.0-or-later')
depends=('ffmpeg' 'nginx' 'python' 'python-psutil' 'python-flask' 'python-pillow' 'python-numpy' 'python-pyfakewebcam' 'v4l2loopback-dkms' 'smartmontools' 'v4l-utils' 'wget' 'ttf-dejavu')
install=hls-livecam-server.install
source=("$pkgname-$pkgver.tar.gz::https://github.com/thefangeddeity/hls-livecam-server/archive/refs/tags/v$pkgver.tar.gz"
"hls-livecam-server.install")
sha256sums=('823e13e649b6fe820ffcfbf2b7159b04bf35aa68fb206b3fa00a99a2fa93e82d'
'SKIP')
package() {
cd "$pkgname-$pkgver"
# ── Executables ──────────────────────────────────────────────────────────
install -Dm755 pkg/usr/share/hls-livecam-server/hls-livecam-setup-arch \
"$pkgdir/usr/local/bin/hls-livecam-setup"
install -Dm755 pkg/usr/local/bin/camdash "$pkgdir/usr/local/bin/camdash"
install -Dm755 pkg/usr/local/bin/hls-livecam-repair "$pkgdir/usr/local/bin/hls-livecam-repair"
install -Dm755 pkg/usr/local/bin/hls-livecam-dark "$pkgdir/usr/local/bin/hls-livecam-dark"
install -Dm755 pkg/usr/local/bin/broadcast-api "$pkgdir/usr/local/bin/broadcast-api"
# ── Shared data ──────────────────────────────────────────────────────────
install -Dm755 pkg/usr/share/hls-livecam-server/camdash \
"$pkgdir/usr/share/hls-livecam-server/camdash"
install -Dm755 pkg/usr/share/hls-livecam-server/hls-livecam-setup-arch \
"$pkgdir/usr/share/hls-livecam-server/hls-livecam-setup"
install -Dm755 pkg/usr/share/hls-livecam-server/hls-livecam-repair \
"$pkgdir/usr/share/hls-livecam-server/hls-livecam-repair"
install -Dm644 pkg/usr/share/hls-livecam-server/block_art.py \
"$pkgdir/usr/share/hls-livecam-server/block_art.py"
install -Dm644 pkg/usr/share/hls-livecam-server/index.html \
"$pkgdir/usr/share/hls-livecam-server/index.html"
install -Dm644 pkg/usr/share/hls-livecam-server/cams/cams.html \
"$pkgdir/usr/share/hls-livecam-server/cams/cams.html"
install -Dm644 pkg/usr/share/hls-livecam-server/ffmpeg-cam.service \
"$pkgdir/usr/share/hls-livecam-server/ffmpeg-cam.service"
# NOTE: var/www/hls-livecam/index.html is NOT installed here.
# hls-livecam-setup populates /var/www/hls-livecam/ at configure time,
# substituting @HOSTNAME@ into share/index.html. Installing a pre-baked
# file here would overwrite it with the wrong hostname on every upgrade.
# ── Systemd services ─────────────────────────────────────────────────────
# Arch convention: vendor units go to /usr/lib/systemd/system/
install -Dm644 pkg/usr/share/hls-livecam-server/broadcast-api-arch.service \
"$pkgdir/usr/lib/systemd/system/broadcast-api.service"
install -Dm644 pkg/etc/systemd/system/ffmpeg-cam-dark.service \
"$pkgdir/usr/lib/systemd/system/ffmpeg-cam-dark.service"
install -Dm644 pkg/usr/lib/systemd/system/ffmpeg-cam.service \
"$pkgdir/usr/lib/systemd/system/ffmpeg-cam.service"
# ── tmpfiles.d ───────────────────────────────────────────────────────────
install -Dm644 pkg/usr/lib/tmpfiles.d/hls-livecam.conf \
"$pkgdir/usr/lib/tmpfiles.d/hls-livecam.conf"
# ── nginx ────────────────────────────────────────────────────────────────
install -Dm644 pkg/etc/nginx/conf.d/hls-livecam.conf "$pkgdir/etc/nginx/conf.d/hls-livecam.conf"
# ── Sudoers ───────────────────────────────────────────────────────────────
# Ships http user for broadcast-api (Arch has no www-data).
# Per-user entries (hls-livecam-dark, hls-livecam-services, camdash-smart)
# are written dynamically by hls-livecam-setup at configure time.
install -Dm440 pkg/etc/sudoers.d/hls-livecam-dark \
"$pkgdir/etc/sudoers.d/hls-livecam-dark"
}
|