# Maintainer: Antoine Martin pkgname=jellyfin pkgver=10.7.7 pkgrel=0 pkgdesc='The Free Software Media System' arch='i686 x86_64 armv6h' url='https://github.com/jellyfin/jellyfin' license='GPL2' options="!strip" makedepends='dotnet-sdk-5.0 git npm yarn' source="jellyfin-$pkgver.tar.gz::https://github.com/jellyfin/jellyfin/archive/v$pkgver.tar.gz jellyfin-web-$pkgver.tar.gz::https://github.com/jellyfin/jellyfin-web/archive/v$pkgver.tar.gz jellyfin.conf jellyfin.initd" subpackages="$pkgname-web $pkgname-server" build(){ # Build jellyfin-web cd "${srcdir}"/jellyfin-web-$pkgver yarn install --cache-folder "$srcdir"/yarn-cache --update-db # Build jellyfin-server cd "${srcdir}"/jellyfin-$pkgver # 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() { depends="jellyfin-web=$pkgver jellyfin-server=$pkgver" mkdir -p "${pkgdir}" } server() { pkgdesc="Jellyfin server component" depends=' dotnet-runtime-5.0 aspnet-runtime-5.0 ffmpeg sqlite' mkdir -p "$subpkgdir"/usr/lib cp -r "${srcdir}"/jellyfin-$pkgver/publish "$subpkgdir"/usr/lib/jellyfin install -Dm 755 jellyfin.initd -t "$subpkgdir"/etc/init.d/jellyfin install -Dm 644 jellyfin.conf "$subpkgdir"/etc/conf.d/jellyfin } web() { pkgdesc="Jellyfin web client" mkdir -p "$subpkgdir"/usr/lib/jellyfin cp -r "$srcdir"/jellyfin-web-$pkgver/dist "$subpkgdir"/usr/lib/jellyfin/jellyfin-web } sha512sums=" 46da01564c917f65316507c298ab9c30abfd48b351ff6d8ab33429c1ba4800b986267d89431c4c8e3c0274dcd24c6864576b1d7a81a53b61c041da4ba2342d30 jellyfin-10.7.7.tar.gz 0ea3bdce5d99eef9562174410a1b4dde0f083ed92948366ccf3aa259ecfe1ebb559019cbe4d9bbd64e4a35232075d2f9348b63fb3f15ebd6dc2f4e9532903b66 jellyfin-web-10.7.7.tar.gz 2aa97a1a7a8a447171b59be3e93183e09cbbc32c816843cc47c6777b9aec48bd9c1d9d354f166e0b000ad8d2e94e6e4b0559aa52e5c159abbc103ed2c5afa3f0 jellyfin.conf 6974b86bd2bfeff288f3ed059b5d4b94f74fe045df44127c34a755be8d22af7f5338cc706080df4c4a720ef7256fd5a377abea5be4b68b79492bdd59ff962d69 jellyfin.initd "