diff --git a/pkgs/tools/misc/archi/default.nix b/pkgs/tools/misc/archi/default.nix new file mode 100644 index 00000000000..41562ccbf71 --- /dev/null +++ b/pkgs/tools/misc/archi/default.nix @@ -0,0 +1,61 @@ +{ stdenv +, fetchurl +, fetchzip +, autoPatchelfHook +, libsecret +}: + +stdenv.mkDerivation rec { + pname = "Archi"; + version = "4.7.1"; + + 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"; + + buildInputs = [ + libsecret + ]; + + nativeBuildInputs = [ + autoPatchelfHook + ]; + + installPhase = + if stdenv.hostPlatform.system == "x86_64-linux" then + '' + mkdir -p $out/bin + for f in configuration features p2 plugins Archi.ini Archi; do + cp $f $out/bin/ + done + + install -D -m755 Archi $out/bin/Archi + '' + else + '' + mkdir -p "$out/Applications" + mv Archi.app "$out/Applications/" + ''; + + meta = with stdenv.lib; { + description = "ArchiMate modelling toolkit"; + longDescription = '' + Archi is an open source modelling toolkit to create ArchiMate + models and sketches. + ''; + homepage = "https://www.archimatetool.com/"; + license = licenses.mit; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ earldouglas SuperSandro2000 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 16d5ad79abd..0cfcb9b4abf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -701,6 +701,8 @@ in inherit (darwin.apple_sdk.frameworks) Carbon Cocoa Kernel; }; + archi = callPackage ../tools/misc/archi { }; + cool-retro-term = libsForQt5.callPackage ../applications/terminal-emulators/cool-retro-term { }; eterm = callPackage ../applications/terminal-emulators/eterm { };