65 lines
1.5 KiB
Nix
65 lines
1.5 KiB
Nix
|
{
|
||
|
lib,
|
||
|
fetchFromGitHub,
|
||
|
nixosTests,
|
||
|
dotnetCorePackages,
|
||
|
buildDotnetModule,
|
||
|
jellyfin-ffmpeg,
|
||
|
fontconfig,
|
||
|
freetype,
|
||
|
jellyfin-web,
|
||
|
sqlite,
|
||
|
}:
|
||
|
|
||
|
buildDotnetModule rec {
|
||
|
pname = "jellyfin";
|
||
|
version = "10.10.1"; # ensure that jellyfin-web has matching version
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "jellyfin";
|
||
|
repo = "jellyfin";
|
||
|
rev = "v${version}";
|
||
|
hash = "sha256-jDiJ1tnCR3cZvNmvZ47Vvoqow1sC+xciHsO546yoIKY=";
|
||
|
};
|
||
|
|
||
|
propagatedBuildInputs = [ sqlite ];
|
||
|
|
||
|
projectFile = "Jellyfin.Server/Jellyfin.Server.csproj";
|
||
|
executables = [ "jellyfin" ];
|
||
|
nugetDeps = ./nuget-deps.nix;
|
||
|
runtimeDeps = [
|
||
|
jellyfin-ffmpeg
|
||
|
fontconfig
|
||
|
freetype
|
||
|
];
|
||
|
dotnet-sdk = dotnetCorePackages.sdk_8_0;
|
||
|
dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
|
||
|
dotnetBuildFlags = [ "--no-self-contained" ];
|
||
|
|
||
|
makeWrapperArgs = [
|
||
|
"--add-flags" "--ffmpeg=${jellyfin-ffmpeg}/bin/ffmpeg"
|
||
|
"--add-flags" "--webdir=${jellyfin-web}/share/jellyfin-web"
|
||
|
];
|
||
|
|
||
|
passthru.tests = {
|
||
|
smoke-test = nixosTests.jellyfin;
|
||
|
};
|
||
|
|
||
|
passthru.updateScript = ./update.sh;
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = "Free Software Media System";
|
||
|
homepage = "https://jellyfin.org/";
|
||
|
# https://github.com/jellyfin/jellyfin/issues/610#issuecomment-537625510
|
||
|
license = licenses.gpl2Plus;
|
||
|
maintainers = with maintainers; [
|
||
|
nyanloutre
|
||
|
minijackson
|
||
|
purcell
|
||
|
jojosch
|
||
|
];
|
||
|
mainProgram = "jellyfin";
|
||
|
platforms = dotnet-runtime.meta.platforms;
|
||
|
};
|
||
|
}
|