From a010f5e9c5018c90c53fd0b948f8115a47d3dc22 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Sat, 11 May 2024 22:48:30 +0200 Subject: [PATCH] jellyfin-web: 10.8.13 -> 10.9.1 --- pkgs/servers/jellyfin/web.nix | 57 +++++++++++++++++++++++++++-------- 1 file changed, 45 insertions(+), 12 deletions(-) diff --git a/pkgs/servers/jellyfin/web.nix b/pkgs/servers/jellyfin/web.nix index b2a40c069083..a2437af14ee4 100644 --- a/pkgs/servers/jellyfin/web.nix +++ b/pkgs/servers/jellyfin/web.nix @@ -1,25 +1,53 @@ -{ lib -, fetchFromGitHub -, stdenv -, buildNpmPackage -, nix-update-script +{ + lib, + stdenv, + overrideSDK, + fetchFromGitHub, + buildNpmPackage, + nix-update-script, + pkg-config, + xcbuild, + pango, + giflib, + darwin, }: - -buildNpmPackage rec { +let + # node-canvas builds code that requires aligned_alloc, + # which on Darwin requires at least the 10.15 SDK + stdenv' = + if stdenv.isDarwin then + overrideSDK stdenv { + darwinMinVersion = "10.15"; + darwinSdkVersion = "11.0"; + } + else + stdenv; + buildNpmPackage' = buildNpmPackage.override { stdenv = stdenv'; }; +in +buildNpmPackage' rec { pname = "jellyfin-web"; - version = "10.8.13"; + version = "10.9.1"; src = fetchFromGitHub { owner = "jellyfin"; repo = "jellyfin-web"; rev = "v${version}"; - hash = "sha256-2W9s8TQV9BtxNYIrCbGRh5EUw0brwxSHohnb7269pQE="; + hash = "sha256-KkPZ8OvGN/0gdoSVh9q0qEilae3tccgHRQQvrTsvycA="; }; - npmDepsHash = "sha256-i077UAxY2K12VXkHYbGYZRV1uhgdGUnoDbokSk2ZDIA="; + npmDepsHash = "sha256-LmbygyCYSp0gtjU2pNCV17WEyEoaIzPs7H9UoMFV+PU="; npmBuildScript = [ "build:production" ]; + nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.isDarwin [ xcbuild ]; + + buildInputs = + [ pango ] + ++ lib.optionals stdenv.isDarwin [ + giflib + darwin.apple_sdk.frameworks.CoreText + ]; + installPhase = '' runHook preInstall @@ -29,12 +57,17 @@ buildNpmPackage rec { runHook postInstall ''; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "Web Client for Jellyfin"; homepage = "https://jellyfin.org/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ nyanloutre minijackson purcell jojosch ]; + maintainers = with maintainers; [ + nyanloutre + minijackson + purcell + jojosch + ]; }; }