bcb2f287e1
GitOrigin-RevId: d603719ec6e294f034936c0d0dc06f689d91b6c3
64 lines
1.5 KiB
Nix
64 lines
1.5 KiB
Nix
{
|
|
lib,
|
|
fetchFromGitHub,
|
|
nixosTests,
|
|
dotnetCorePackages,
|
|
buildDotnetModule,
|
|
jellyfin-ffmpeg,
|
|
fontconfig,
|
|
freetype,
|
|
jellyfin-web,
|
|
sqlite,
|
|
}:
|
|
|
|
buildDotnetModule rec {
|
|
pname = "jellyfin";
|
|
version = "10.9.6"; # ensure that jellyfin-web has matching version
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "jellyfin";
|
|
repo = "jellyfin";
|
|
rev = "v${version}";
|
|
sha256 = "sha256-Ze1KO+Rx4sz8qdKa1U2g096Ck/Qc+JdQj4MNqaJRhb8=";
|
|
};
|
|
|
|
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;
|
|
};
|
|
}
|