summary refs log tree commit diff
path: root/pkgs/tools/misc
diff options
context:
space:
mode:
authorpaumr <paum@bdisk.eu>2023-10-31 22:49:15 +0100
committerWeijia Wang <9713184+wegank@users.noreply.github.com>2023-11-17 01:02:08 +0100
commit25c6f35a32a313589ceeffcc8bf7b46673a1829a (patch)
treefbbe8e6311f2aad67a9f6f35d5ccd63d7cee7ef6 /pkgs/tools/misc
parentfe1e9d524b7ac9fac5f8be3ea2a7d177a5a4b4dc (diff)
downloadnixpkgs-25c6f35a32a313589ceeffcc8bf7b46673a1829a.tar
nixpkgs-25c6f35a32a313589ceeffcc8bf7b46673a1829a.tar.gz
nixpkgs-25c6f35a32a313589ceeffcc8bf7b46673a1829a.tar.bz2
nixpkgs-25c6f35a32a313589ceeffcc8bf7b46673a1829a.tar.lz
nixpkgs-25c6f35a32a313589ceeffcc8bf7b46673a1829a.tar.xz
nixpkgs-25c6f35a32a313589ceeffcc8bf7b46673a1829a.tar.zst
nixpkgs-25c6f35a32a313589ceeffcc8bf7b46673a1829a.zip
archi: 4.7.1 -> 5.2.0
upgraded binary release of archi to 5.2.0

The .dmg couldn't be extracted since undmg only supports
HFS and not APFS.
To work arround this issue it was replaced by 7zz.
Diffstat (limited to 'pkgs/tools/misc')
-rw-r--r--pkgs/tools/misc/archi/default.nix41
1 files changed, 25 insertions, 16 deletions
diff --git a/pkgs/tools/misc/archi/default.nix b/pkgs/tools/misc/archi/default.nix
index f74d1a8c803..cf9055c78c6 100644
--- a/pkgs/tools/misc/archi/default.nix
+++ b/pkgs/tools/misc/archi/default.nix
@@ -1,31 +1,32 @@
 { lib, stdenv
 , fetchurl
-, fetchzip
 , autoPatchelfHook
 , makeWrapper
 , jdk
 , libsecret
 , webkitgtk
 , wrapGAppsHook
+, _7zz
 }:
 
 stdenv.mkDerivation rec {
   pname = "Archi";
-  version = "4.7.1";
+  version = "5.2.0";
 
-  src =
-    if stdenv.hostPlatform.system == "x86_64-linux" then
-      fetchurl {
-        url = "https://www.archimatetool.com/downloads/archi/Archi-Linux64-${version}.tgz";
-        sha256 = "0sd57cfnh5q2p17sd86c8wgmqyipg29rz6iaa5brq8mwn8ps2fdw";
-      }
-    else if stdenv.hostPlatform.system == "x86_64-darwin" then
-      fetchzip {
-        url = "https://www.archimatetool.com/downloads/archi/Archi-Mac-${version}.zip";
-        sha256 = "1h05lal5jnjwm30dbqvd6gisgrmf1an8xf34f01gs9pwqvqfvmxc";
-      }
-    else
-      throw "Unsupported system";
+  src = {
+    "x86_64-linux" = fetchurl {
+      url = "https://www.archimatetool.com/downloads/archi_5.php?/${version}/Archi-Linux64-${version}.tgz";
+      hash = "sha256-uGW4Wl3E71ZCgWzPHkmXv/PluegDF8C64FUQ7C5/SDA=";
+    };
+    "x86_64-darwin" = fetchurl {
+      url = "https://www.archimatetool.com/downloads/archi_5.php?/${version}/Archi-Mac-${version}.dmg";
+      hash = "sha256-GI9aIAYwu60RdjN0Y3O94sVMzJR1+nX4txVcvqn1r58=";
+    };
+    "aarch64-darwin" = fetchurl {
+      url = "https://www.archimatetool.com/downloads/archi_5.php?/${version}/Archi-Mac-Silicon-${version}.dmg";
+      hash = "sha256-Jg+tl902OWSm4GHxF7QXbRU5nxX4/5q6LTGubHWQ08E=";
+    };
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system");
 
   buildInputs = [
     libsecret
@@ -34,7 +35,15 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     makeWrapper
     wrapGAppsHook
-  ] ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook;
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    _7zz
+  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
+    autoPatchelfHook
+  ];
+
+  unpackPhase = if stdenv.hostPlatform.isDarwin then ''
+    7zz x $src
+  '' else null;
 
   installPhase =
     if stdenv.hostPlatform.system == "x86_64-linux" then