mochi/nixos/overlays/arr/sonarr.nix

85 lines
1.8 KiB
Nix
Raw Normal View History

{
lib,
stdenv,
fetchurl,
mono,
libmediainfo,
sqlite,
curl,
makeWrapper,
icu,
dotnet-runtime,
openssl,
nixosTests,
zlib,
2025-02-04 12:02:57 -06:00
}: let
os =
if stdenv.hostPlatform.isDarwin
then "osx"
else "linux";
arch =
{
x86_64-linux = "x64";
aarch64-linux = "arm64";
x86_64-darwin = "x64";
aarch64-darwin = "arm64";
}
2025-02-04 12:02:57 -06:00
."${stdenv.hostPlatform.system}"
or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
hash =
{
2025-02-04 12:02:57 -06:00
x64-linux_hash = "sha256-M2qpyV8fdFleWge1k1EUEeGFg4G7caxkShIriac8bYk=";
arm64-linux_hash = lib.fakeSha256;
x64-osx_hash = lib.fakeSha256;
arm64-osx_hash = lib.fakeSha256;
}
."${arch}-${os}_hash";
in
2025-02-04 12:02:57 -06:00
stdenv.mkDerivation rec {
pname = "sonarr";
version = "4.0.12.2900";
branch = "develop";
2025-02-04 12:02:57 -06:00
src = fetchurl {
# url = "https://github.com/Sonarr/Sonarr/releases/download/v${version}/Sonarr.main.${version}.${os}-${arch}.tar.gz";
url = "https://services.sonarr.tv/v1/update/${branch}/download?version=${version}&os=${os}&runtime=netcore&arch=${arch}";
sha256 = hash;
};
2025-02-04 12:02:57 -06:00
nativeBuildInputs = [makeWrapper];
2025-02-04 12:02:57 -06:00
unpackPhase = ''
mkdir -p $out
tar -zxf $src --strip-components=1
'';
2025-02-04 12:02:57 -06:00
installPhase = ''
runHook preInstall
2025-02-04 12:02:57 -06:00
mkdir -p $out/{bin,share/${pname}-${version}}
cp -r * $out/share/${pname}-${version}/.
makeWrapper "${dotnet-runtime}/bin/dotnet" $out/bin/Sonarr \
--add-flags "$out/share/${pname}-${version}/Sonarr.dll" \
--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath [
curl
sqlite
libmediainfo
mono
openssl
icu
zlib
]
}
2025-02-04 12:02:57 -06:00
runHook postInstall
'';
passthru = {
tests.smoke-test = nixosTests.radarr;
};
2025-02-04 12:02:57 -06:00
meta.mainProgram = "Sonarr";
}