···
15
+
_supportedPlatforms = {
16
+
"armv7l-linux" = "linux-arm7";
17
+
"x86_64-linux" = "linux-x64";
18
+
"aarch64-linux" = "linux-arm64";
20
+
_platform = _supportedPlatforms."${stdenv.hostPlatform.system}";
21
+
# nix hash convert --to sri "sha256:`nix-prefetch-url --unpack https://updates.duplicati.com/stable/duplicati-2.1.0.5_stable_2025-03-04-linux-arm64-cli.zip`"
22
+
_fileHashForSystem = {
23
+
"armv7l-linux" = "sha256-FQQ07M0rwvxNkHPW6iK5WBTKgFrZ4LOP4vgINfmtq4k=";
24
+
"x86_64-linux" = "sha256-1QspF/A3hOtqd8bVbSqClJIHUN9gBrd18J5qvZJLkQE=";
25
+
"aarch64-linux" = "sha256-mSNInaCkNf1MBZK2M42SjJnYRtB5SyGMvSGSn5oH1Cs=";
stdenv.mkDerivation (finalAttrs: {
29
+
# TODO build duplicati from source https://github.com/duplicati/duplicati/blob/master/.github/workflows/build-packages.yml
12
-
version = "2.1.0.2";
14
-
build_date = "2024-11-29";
31
+
version = "2.1.0.5";
33
+
buildDate = "2025-03-04";
19
-
"https://github.com/duplicati/duplicati/releases/download/v${version}-${version}_${channel}_${build_date}/duplicati-${version}_${channel}_${build_date}.zip";
20
-
hash = "sha256-LmW6yGutxP33ghFqyOLKrGDNCQdr8DDFn/IHigsLpzA=";
38
+
"https://updates.duplicati.com/stable/duplicati-${version}_${channel}_${buildDate}-${_platform}-cli.zip";
39
+
hash = _fileHashForSystem."${stdenv.hostPlatform.system}";
24
-
nativeBuildInputs = [ makeWrapper ];
43
+
nativeBuildInputs = [
27
-
mkdir -p $out/{bin,share/duplicati-${finalAttrs.version}}
28
-
cp -r * $out/share/duplicati-${finalAttrs.version}
29
-
makeWrapper "${lib.getExe mono}" $out/bin/duplicati-cli \
30
-
--add-flags "$out/share/duplicati-${finalAttrs.version}/Duplicati.CommandLine.exe" \
31
-
--prefix LD_LIBRARY_PATH : ${
32
-
lib.makeLibraryPath [
36
-
makeWrapper "${lib.getExe mono}" $out/bin/duplicati-server \
37
-
--add-flags "$out/share/duplicati-${finalAttrs.version}/Duplicati.Server.exe" \
56
+
mkdir -p $out/{bin,share}
57
+
cp -r * "$out/share/"
58
+
for file in $out/share/duplicati-*; do
59
+
makeBinaryWrapper "$file" "$out/bin/$(basename $file)" \
--prefix LD_LIBRARY_PATH : ${
···
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
54
-
platforms = lib.platforms.all;
80
+
platforms = builtins.attrNames _supportedPlatforms;