nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 writeScript,
4 stdenv,
5 qt5,
6 fetchurl,
7 autoPatchelfHook,
8}:
9
10stdenv.mkDerivation rec {
11 pname = "synology-cloud-sync-decryption-tool";
12 version = "027";
13
14 src = fetchurl {
15 url = "https://global.download.synology.com/download/Utility/SynologyCloudSyncDecryptionTool/${version}/Linux/x86_64/SynologyCloudSyncDecryptionTool-${version}_x64.tar.gz";
16 sha256 = "sha256-EWxADvkfhnMwHIauJj3pH6SvSkkrc4cwAhsf1pWOOWQ=";
17 };
18
19 nativeBuildInputs = [
20 autoPatchelfHook
21 qt5.wrapQtAppsHook
22 ];
23
24 installPhase = ''
25 runHook preInstall
26
27 mkdir -p $out/bin
28 cp $NIX_BUILD_TOP/SynologyCloudSyncDecryptionTool $out/bin
29
30 runHook postInstall
31 '';
32
33 passthru.updateScript = writeScript "update-synology-cloud-sync-decryption-tool" ''
34 #!/usr/bin/env nix-shell
35 #!nix-shell -i bash -p curl common-updater-scripts
36
37 set -euo pipefail
38
39 version="$(curl -s https://www.synology.com/en-uk/releaseNote/SynologyCloudSyncDecryptionTool \
40 | grep -oP '(?<=data-version=")\d+' \
41 | head -1)"
42 update-source-version synology-cloud-sync-decryption-tool "$version"
43 '';
44
45 meta = {
46 description = "Desktop tool to decrypt data encrypted by Cloud Sync";
47 homepage = "https://kb.synology.com/en-global/DSM/help/SynologyCloudSyncDecryptionTool/synologycloudsyncdecryptiontool";
48 sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
49 license = lib.licenses.unfree;
50 maintainers = with lib.maintainers; [ kalbasit ];
51 platforms = [ "x86_64-linux" ];
52 mainProgram = "SynologyCloudSyncDecryptionTool";
53 };
54}