about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/networking/synology-cloud-sync-decryption-tool/default.nix43
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/applications/networking/synology-cloud-sync-decryption-tool/default.nix b/pkgs/applications/networking/synology-cloud-sync-decryption-tool/default.nix
new file mode 100644
index 0000000000000..3ceb5c0e1afd2
--- /dev/null
+++ b/pkgs/applications/networking/synology-cloud-sync-decryption-tool/default.nix
@@ -0,0 +1,43 @@
+{ lib, writeScript, qt5, fetchurl, autoPatchelfHook }:
+
+qt5.mkDerivation rec {
+  pname = "synology-cloud-sync-decryption-tool";
+  version = "027";
+
+  src = fetchurl {
+    url = "https://global.download.synology.com/download/Utility/SynologyCloudSyncDecryptionTool/${version}/Linux/x86_64/SynologyCloudSyncDecryptionTool-${version}_x64.tar.gz";
+    sha256 = "sha256-EWxADvkfhnMwHIauJj3pH6SvSkkrc4cwAhsf1pWOOWQ=";
+  };
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp $NIX_BUILD_TOP/SynologyCloudSyncDecryptionTool $out/bin
+
+    runHook postInstall
+  '';
+
+  passthru.updateScript = writeScript "update-synology-cloud-sync-decryption-tool" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p curl common-updater-scripts
+
+    set -euo pipefail
+
+    version="$(curl -s https://www.synology.com/en-uk/releaseNote/SynologyCloudSyncDecryptionTool \
+             | grep -oP '(?<=data-version=")\d+' \
+             | head -1)"
+    update-source-version synology-cloud-sync-decryption-tool "$version"
+  '';
+
+  meta = with lib; {
+    description = "A desktop tool to decrypt data encrypted by Cloud Sync.";
+    homepage = "https://kb.synology.com/en-global/DSM/help/SynologyCloudSyncDecryptionTool/synologycloudsyncdecryptiontool";
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    license = licenses.unfree;
+    maintainers = with maintainers; [ kalbasit ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 489cfa2ddf888..f06ca130bd331 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -31797,6 +31797,8 @@ with pkgs;
 
   synology-drive-client = callPackage ../applications/networking/synology-drive-client { };
 
+  synology-cloud-sync-decryption-tool = callPackage ../applications/networking/synology-cloud-sync-decryption-tool { };
+
   maestral = with python3Packages; toPythonApplication maestral;
 
   maestral-gui = libsForQt5.callPackage ../applications/networking/maestral-qt { };