Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / je / jellyfin-web / package.nix
blobc80bf01ab799caebaf5fec7cec8e972d61f2240e
2   lib,
3   stdenv,
4   overrideSDK,
5   fetchFromGitHub,
6   buildNpmPackage,
7   jellyfin,
8   nix-update-script,
9   pkg-config,
10   xcbuild,
11   pango,
12   giflib,
13   darwin,
15 let
16   # node-canvas builds code that requires aligned_alloc,
17   # which on Darwin requires at least the 10.15 SDK
18   stdenv' =
19     if stdenv.isDarwin then
20       overrideSDK stdenv {
21         darwinMinVersion = "10.15";
22         darwinSdkVersion = "11.0";
23       }
24     else
25       stdenv;
26   buildNpmPackage' = buildNpmPackage.override { stdenv = stdenv'; };
28 buildNpmPackage' rec {
29   pname = "jellyfin-web";
30   version = "10.9.7";
32   src =
33     assert version == jellyfin.version;
34     fetchFromGitHub {
35       owner = "jellyfin";
36       repo = "jellyfin-web";
37       rev = "v${version}";
38       hash = "sha256-vjp96NTcSY1Uj1PeEOPIdZuMFNcO3ZyjRvYYT0AQCrk=";
39     };
41   npmDepsHash = "sha256-CKUssg4YWZd2Gzz7FtO5zA4ngQeLXkFu0VskXrFNwjM=";
43   npmBuildScript = [ "build:production" ];
45   nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.isDarwin [ xcbuild ];
47   buildInputs =
48     [ pango ]
49     ++ lib.optionals stdenv.isDarwin [
50       giflib
51       darwin.apple_sdk.frameworks.CoreText
52     ];
54   installPhase = ''
55     runHook preInstall
57     mkdir -p $out/share
58     cp -a dist $out/share/jellyfin-web
60     runHook postInstall
61   '';
63   passthru.updateScript = nix-update-script { };
65   meta = with lib; {
66     description = "Web Client for Jellyfin";
67     homepage = "https://jellyfin.org/";
68     license = licenses.gpl2Plus;
69     maintainers = with maintainers; [
70       nyanloutre
71       minijackson
72       purcell
73       jojosch
74     ];
75   };