1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
{
lib,
stdenv,
curl,
dotnet-runtime,
fetchurl,
icu,
libmediainfo,
makeWrapper,
mono,
openssl,
sqlite,
zlib,
nixosTests,
}:
let
os = if stdenv.hostPlatform.isDarwin then "osx" else "linux";
system = stdenv.hostPlatform.system;
arch =
{
aarch64-darwin = "arm64";
aarch64-linux = "arm64";
x86_64-darwin = "x64";
x86_64-linux = "x64";
}
."${system}" or (throw "Unsupported system: ${system}");
hash =
{
arm64-linux-hash = "sha256-sMhZ2QPIkuomUdgKYMoPwyQH5k0ziqdJSoCvV51tVNQ=";
arm64-osx-hash = "sha256-uubRkA6ER/kQeUXys9Jcf4Aii7FFkrKPgh/niK/3jO0=";
x64-linux-hash = "sha256-S2Ow+5AdvFZ10lA0xnvT5egdi1QbFTy97XzvSI5FtRk=";
x64-osx-hash = "sha256-7PvYkhJ9Tlulk0t/s8qAJUAHguUeilAQsQ0qU+DBVQM=";
}
."${arch}-${os}-hash";
in
stdenv.mkDerivation rec {
pname = "whisparr";
version = "2.0.0.987";
src = fetchurl {
name = "${pname}-${arch}-${os}-${version}.tar.gz";
url = "https://whisparr.servarr.com/v1/update/nightly/updatefile?runtime=netcore&version=${version}&arch=${arch}&os=${os}";
inherit hash;
};
nativeBuildInputs = [ makeWrapper ];
runtimeLibs = lib.makeLibraryPath [
curl
icu
libmediainfo
mono
openssl
sqlite
zlib
];
installPhase = ''
runHook preInstall
rm -rf "Whisparr.Update"
mkdir -p $out/{bin,share/${pname}-${version}}
cp -r * $out/share/${pname}-${version}/
makeWrapper "${dotnet-runtime}/bin/dotnet" $out/bin/Whisparr \
--add-flags "$out/share/${pname}-${version}/Whisparr.dll" \
--prefix LD_LIBRARY_PATH : ${runtimeLibs}
runHook postInstall
'';
passthru = {
updateScript = ./update.sh;
tests.smoke-test = nixosTests.whisparr;
};
meta = {
description = "Adult movie collection manager for Usenet and BitTorrent users";
homepage = "https://wiki.servarr.com/en/whisparr";
changelog = "https://whisparr.servarr.com/v1/update/nightly/changes";
license = lib.licenses.gpl3Only;
platforms = [
"aarch64-darwin"
"aarch64-linux"
"x86_64-darwin"
"x86_64-linux"
];
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
mainProgram = "Whisparr";
maintainers = [ lib.maintainers.paveloom ];
};
}
|