# Maintainer: Luca Weiss # Contributor: Maxime Gauduin # Contributor: Daniel Seymour pkgbase=jellyfin pkgname=(jellyfin jellyfin-web jellyfin-server) pkgver=10.8.0alpha5 pkgrel=1 pkgdesc='The Free Software Media System' arch=('i686' 'x86_64' 'armv6h') url='https://github.com/jellyfin/jellyfin' license=('GPL2') makedepends=('dotnet-sdk>=5' 'npm' 'git') source=("jellyfin-$pkgver.tar.gz::https://github.com/jellyfin/jellyfin/archive/v10.8.0-alpha5.tar.gz" "jellyfin-web-$pkgver.tar.gz::https://github.com/jellyfin/jellyfin-web/archive/v10.8.0-alpha5.tar.gz" 'jellyfin.conf' 'jellyfin.service' 'jellyfin.sysusers' 'jellyfin.tmpfiles') b2sums=('6ac9536f3bf0d316061625cc9cb229885ad6ccd457a38ebd51a4f17d641a7aa551bf2273b29654a5a3a15ee7f971d3df12a15c8ef8856c819ba36a3b958d5108' 'd06e3a721611bbe0c55be8f9da9b58950663ffa5e728605b97fd1518f69892f1fa91ae4947c8ac17c0629264dc814d315cfb0dc8ce7f63b273d6f27782201d85' '687d46dc6ba548d536dfe0efe5d265c56d6e681ff0c5d6e211c46a5383d6e350dcdbb943d17a30395e468e56deedc741c126c78206c3577564eb0df1c3351929' 'cbfe2e55eb32a70fcf7f875ff5314aaf2c58650ba60e4aa241cb348cbbb8108592905cf209cd9ebe8790dfc5d755347e5226ef58ee64c82f296ec90b580e7c10' '0abe73da344e379a9c19efe4e656144a8d4056fccafba0f94f8c79154eeeb488127936c8c7f1cde011bbb53b757aea1f3d2f8d5cdb17293e8b8a1a9fb8b04f90' '5756d26274c359ea48a5841e0a96319c6f5359fd4f81ed2f1f97dcf8e93f5afbefd2be4ca1bed70569a78149e9b292d07bf7971401ae3fbea1354568c7583ad8') build(){ # Build jellyfin-web cd jellyfin-web-10.8.0-alpha5 #yarn install --cache-folder "$srcdir"/yarn-cache npm install --cache "${srcdir}/npm-cache" # Build jellyfin-server cd ../jellyfin-10.8.0-alpha5 # Disable dotnet telemetry export DOTNET_CLI_TELEMETRY_OPTOUT=1 dotnet build --configuration Release Jellyfin.Server # Ideally, this would be run in package() with the --output variable pointing # to "$pkgdir"/usr/lib/jellyfin, but this step fails in fakeroot. # The makepkg output looks like # Restore completed in 56.84 ms for /aur/jellyfin-git/src/jellyfin/Jellyfin.Server/Jellyfin.Server.csproj. # ==> ERROR: A failure occurred in package(). # without indicating any sort of failure. dotnet publish --configuration Release Jellyfin.Server --output "$PWD"/publish # Clean up the runtimes folder (keep linux-*) rm -rfv publish/runtimes/{alpine-*,osx*,tizen-*,win*} } package_jellyfin() { depends=("jellyfin-web=$pkgver" "jellyfin-server=$pkgver") } package_jellyfin-server() { pkgdesc="Jellyfin server component" depends=('dotnet-runtime>=5' 'aspnet-runtime>=5' 'ffmpeg' 'sqlite') backup=('etc/conf.d/jellyfin') mkdir -p "$pkgdir"/usr/lib cp -dr --no-preserve='ownership' jellyfin-10.8.0-alpha5/publish "$pkgdir"/usr/lib/jellyfin install -Dm 644 jellyfin.service -t "$pkgdir"/usr/lib/systemd/system/ install -Dm 644 jellyfin.sysusers "$pkgdir"/usr/lib/sysusers.d/jellyfin.conf install -Dm 644 jellyfin.tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/jellyfin.conf install -Dm 644 jellyfin.conf "$pkgdir"/etc/conf.d/jellyfin } package_jellyfin-web() { pkgdesc="Jellyfin web client" mkdir -p "$pkgdir"/usr/lib/jellyfin cp -r jellyfin-web-10.8.0-alpha5/dist "$pkgdir"/usr/lib/jellyfin/jellyfin-web } # vim: ts=2 sw=2 et: