From d92b25079f657852085ba2341145a1ee1baa8668 Mon Sep 17 00:00:00 2001 From: Henrique Oliveira Date: Thu, 19 Feb 2026 18:26:20 +0100 Subject: [PATCH 1/2] caido: split into caido-cli and caido-desktop Separate caido into 2 separate packages, caido-cli and caido-desktop As well as fixing an issue w/ MacOS version caido-desktop --- pkgs/by-name/ca/caido-cli/package.nix | 69 +++++++ pkgs/by-name/ca/caido-desktop/package.nix | 119 +++++++++++++ pkgs/by-name/ca/caido/package.nix | 208 ---------------------- 3 files changed, 188 insertions(+), 208 deletions(-) create mode 100644 pkgs/by-name/ca/caido-cli/package.nix create mode 100644 pkgs/by-name/ca/caido-desktop/package.nix delete mode 100644 pkgs/by-name/ca/caido/package.nix diff --git a/pkgs/by-name/ca/caido-cli/package.nix b/pkgs/by-name/ca/caido-cli/package.nix new file mode 100644 index 000000000000..e8c9427f52ac --- /dev/null +++ b/pkgs/by-name/ca/caido-cli/package.nix @@ -0,0 +1,69 @@ +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + unzip, + libgcc, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "caido-cli"; + version = "0.55.3"; + + src = fetchurl ( + { + x86_64-linux = { + url = "https://caido.download/releases/v${finalAttrs.version}/caido-cli-v${finalAttrs.version}-linux-x86_64.tar.gz"; + hash = "sha256-ys5gMO0jGy5d8ncwQo9ES0gn7Ddckf3496CAyGgKEus="; + }; + aarch64-linux = { + url = "https://caido.download/releases/v${finalAttrs.version}/caido-cli-v${finalAttrs.version}-linux-aarch64.tar.gz"; + hash = "sha256-JvWktRnNyzu98NeSOFJ6nhF60uQfSL6ys5BmTkYuwCQ="; + }; + x86_64-darwin = { + url = "https://caido.download/releases/v${finalAttrs.version}/caido-cli-v${finalAttrs.version}-mac-x86_64.zip"; + hash = "sha256-bnFGa8GMDTdCjk9xJL9rGvZ1H6MMzzXrlWXGRlE5XPg="; + }; + aarch64-darwin = { + url = "https://caido.download/releases/v${finalAttrs.version}/caido-cli-v${finalAttrs.version}-mac-aarch64.zip"; + hash = "sha256-UVBQKkGsYJ84cthFkCXrHI85t8LJPy4z5sP5TobVNeA="; + }; + } + .${stdenv.hostPlatform.system} + or (throw "caido-cli: unsupported system ${stdenv.hostPlatform.system}") + ); + + nativeBuildInputs = + lib.optionals stdenv.isLinux [ autoPatchelfHook ] ++ lib.optionals stdenv.isDarwin [ unzip ]; + + buildInputs = lib.optionals stdenv.isLinux [ libgcc ]; + + sourceRoot = "."; + + installPhase = '' + runHook preInstall + install -m 755 -D caido-cli $out/bin/caido-cli + runHook postInstall + ''; + + meta = { + description = "Caido CLI — lightweight web security auditing toolkit"; + homepage = "https://caido.io/"; + changelog = "https://github.com/caido/caido/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.unfree; + mainProgram = "caido-cli"; + maintainers = with lib.maintainers; [ + blackzeshi + m0streng0 + octodi + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + }; +}) diff --git a/pkgs/by-name/ca/caido-desktop/package.nix b/pkgs/by-name/ca/caido-desktop/package.nix new file mode 100644 index 000000000000..e554e26f0fe9 --- /dev/null +++ b/pkgs/by-name/ca/caido-desktop/package.nix @@ -0,0 +1,119 @@ +{ + lib, + stdenv, + fetchurl, + appimageTools, + makeWrapper, + _7zz, +}: + +let + pname = "caido-desktop"; + version = "0.55.3"; + + sources = { + x86_64-linux = { + url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-linux-x86_64.AppImage"; + hash = "sha256-pGRmFYE7uO5Ka94Kfjl9LR5PAwZ5dCxHqCqJKhtLPco="; + }; + aarch64-linux = { + url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-linux-aarch64.AppImage"; + hash = "sha256-s99+HXf7Ada2wiPUZ/5M/p09JiadFn5GnKrzqo9yNPQ="; + }; + x86_64-darwin = { + url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-mac-x86_64.dmg"; + hash = "sha256-V33bRaTwhxozBR/wV83bU89TZluenKpFc8GU0KaaO8w="; + }; + aarch64-darwin = { + url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-mac-aarch64.dmg"; + hash = "sha256-fEzPN84zoSvlIgUBYVmPta7SUmTDRQghoJMTZXW7eI4="; + }; + }; + + src = fetchurl ( + sources.${stdenv.hostPlatform.system} + or (throw "caido-desktop: unsupported system ${stdenv.hostPlatform.system}") + ); + + meta = { + description = "Caido Desktop — lightweight web security auditing toolkit"; + homepage = "https://caido.io/"; + changelog = "https://github.com/caido/caido/releases/tag/v${version}"; + license = lib.licenses.unfree; + mainProgram = "caido-desktop"; + maintainers = with lib.maintainers; [ + blackzeshi + m0streng0 + octodi + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + }; + + appimageContents = appimageTools.extractType2 { inherit pname version src; }; + + linux = appimageTools.wrapType2 { + inherit + pname + version + src + meta + ; + + nativeBuildInputs = [ makeWrapper ]; + extraPkgs = pkgs: [ pkgs.libthai ]; + + extraInstallCommands = '' + install -m 444 -D ${appimageContents}/caido.desktop \ + -t $out/share/applications + install -m 444 -D ${appimageContents}/caido.png \ + $out/share/icons/hicolor/512x512/apps/caido.png + wrapProgram $out/bin/${pname} \ + --set WEBKIT_DISABLE_COMPOSITING_MODE 1 \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" + ''; + }; + + darwin = stdenv.mkDerivation { + inherit + pname + version + src + meta + ; + + nativeBuildInputs = [ + _7zz + makeWrapper + ]; + + unpackPhase = '' + runHook preUnpack + 7zz x $src || true + runHook postUnpack + ''; + + sourceRoot = "Caido.app"; + + installPhase = '' + runHook preInstall + mkdir -p $out/Applications/Caido.app $out/bin + cp -R . $out/Applications/Caido.app/ + makeWrapper $out/Applications/Caido.app/Contents/MacOS/Caido \ + $out/bin/${pname} + runHook postInstall + ''; + }; + +in +if stdenv.isLinux then + linux +else if stdenv.isDarwin then + darwin +else + throw "caido-desktop: unsupported platform ${stdenv.hostPlatform.system}" diff --git a/pkgs/by-name/ca/caido/package.nix b/pkgs/by-name/ca/caido/package.nix deleted file mode 100644 index 7d9d7e37fe05..000000000000 --- a/pkgs/by-name/ca/caido/package.nix +++ /dev/null @@ -1,208 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - appimageTools, - makeWrapper, - autoPatchelfHook, - _7zz, - unzip, - libgcc, - appVariants ? [ ], -}: -let - pname = "caido"; - appVariantList = [ - "cli" - "desktop" - ]; - version = "0.55.1"; - - system = stdenv.hostPlatform.system; - isLinux = stdenv.isLinux; - isDarwin = stdenv.isDarwin; - - # CLI sources - cliSources = { - x86_64-linux = { - url = "https://caido.download/releases/v${version}/caido-cli-v${version}-linux-x86_64.tar.gz"; - hash = "sha256-4xRkEN/ZA+JUFMB2qoEZT0Bzv2Qc7Y9kcj251MCAhKE="; - }; - aarch64-linux = { - url = "https://caido.download/releases/v${version}/caido-cli-v${version}-linux-aarch64.tar.gz"; - hash = "sha256-gMQkF0+mq2nRBy0oBenFvp69byWCkqmt8E4ZpKuNxKw="; - }; - x86_64-darwin = { - url = "https://caido.download/releases/v${version}/caido-cli-v${version}-mac-x86_64.zip"; - hash = "sha256-C+EfmSBJMyxYXLfzxCrY7ZVtg8nwtie8w0Lj1Dy7o/k="; - }; - aarch64-darwin = { - url = "https://caido.download/releases/v${version}/caido-cli-v${version}-mac-aarch64.zip"; - hash = "sha256-b0cBS3RwsiLgJNqHWxi672MVZNfTYNOEJ2k0h2qNnP0="; - }; - }; - - # Desktop sources - desktopSources = { - x86_64-linux = { - url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-linux-x86_64.AppImage"; - hash = "sha256-zfts2h8QWTxe/dISwgKRQiSx2nD6vtE1atPfREyGX/U="; - }; - aarch64-linux = { - url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-linux-aarch64.AppImage"; - hash = "sha256-fYqzukRptCB466LIPbVre2EwBFt4Bsq9amQ4kjQuV2Q="; - }; - x86_64-darwin = { - url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-mac-x86_64.dmg"; - hash = "sha256-UsGT5n0MGVwWCXACo74Harb4J/qt/3TyD0+EFYNmPxw="; - }; - aarch64-darwin = { - url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-mac-aarch64.dmg"; - hash = "sha256-iZHZayj2VYjMY9+p+xrlX+vP/DcbCRPQizQEqtF39EU="; - }; - }; - - cliSource = cliSources.${system} or (throw "Unsupported system for caido-cli: ${system}"); - desktopSource = - desktopSources.${system} or (throw "Unsupported system for caido-desktop: ${system}"); - - cli = fetchurl { - url = cliSource.url; - hash = cliSource.hash; - }; - - desktop = fetchurl { - url = desktopSource.url; - hash = desktopSource.hash; - }; - - appimageContents = appimageTools.extractType2 { - inherit pname version; - src = desktop; - }; - - wrappedDesktop = - if isLinux then - appimageTools.wrapType2 { - src = desktop; - inherit pname version; - - nativeBuildInputs = [ makeWrapper ]; - - extraPkgs = pkgs: [ pkgs.libthai ]; - - extraInstallCommands = '' - install -m 444 -D ${appimageContents}/caido.desktop -t $out/share/applications - install -m 444 -D ${appimageContents}/caido.png \ - $out/share/icons/hicolor/512x512/apps/caido.png - wrapProgram $out/bin/caido \ - --set WEBKIT_DISABLE_COMPOSITING_MODE 1 \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" - ''; - } - else if isDarwin then - stdenv.mkDerivation { - src = desktop; - inherit pname version; - - nativeBuildInputs = [ _7zz ]; - sourceRoot = "."; - - unpackPhase = '' - runHook preUnpack - ${_7zz}/bin/7zz x $src - runHook postUnpack - ''; - - installPhase = '' - runHook preInstall - mkdir -p $out/Applications - cp -r Caido.app $out/Applications/ - mkdir -p $out/bin - ln -s $out/Applications/Caido.app/Contents/MacOS/Caido $out/bin/caido - runHook postInstall - ''; - - meta = { - platforms = [ - "x86_64-darwin" - "aarch64-darwin" - ]; - }; - } - else - throw "Desktop variant is not supported on ${stdenv.hostPlatform.system}"; - - wrappedCli = - if isLinux then - stdenv.mkDerivation { - src = cli; - inherit pname version; - - nativeBuildInputs = [ autoPatchelfHook ]; - buildInputs = [ libgcc ]; - sourceRoot = "."; - - installPhase = '' - runHook preInstall - install -m755 -D caido-cli $out/bin/caido-cli - runHook postInstall - ''; - } - else if isDarwin then - stdenv.mkDerivation { - src = cli; - inherit pname version; - - nativeBuildInputs = [ unzip ]; - sourceRoot = "."; - - installPhase = '' - runHook preInstall - install -m755 -D caido-cli $out/bin/caido-cli - runHook postInstall - ''; - - meta = { - platforms = [ - "x86_64-darwin" - "aarch64-darwin" - ]; - }; - } - else - throw "CLI variant is not supported on ${stdenv.hostPlatform.system}"; - - meta = { - description = "Lightweight web security auditing toolkit"; - homepage = "https://caido.io/"; - changelog = "https://github.com/caido/caido/releases/tag/v${version}"; - license = lib.licenses.unfree; - maintainers = with lib.maintainers; [ - octodi - blackzeshi - ]; - platforms = [ - "x86_64-linux" - "aarch64-linux" - "x86_64-darwin" - "aarch64-darwin" - ]; - }; -in -lib.checkListOfEnum "${pname}: appVariants" appVariantList appVariants ( - if appVariants == [ "desktop" ] then - wrappedDesktop - else if appVariants == [ "cli" ] then - wrappedCli - else - stdenv.mkDerivation { - inherit pname version meta; - dontUnpack = true; - installPhase = '' - mkdir -p $out/bin - ln -s ${wrappedDesktop}/bin/caido $out/bin/caido - ln -s ${wrappedCli}/bin/caido-cli $out/bin/caido-cli - ''; - } -) From af3450f35ae5e9fe0a83030d4c301541e71c1735 Mon Sep 17 00:00:00 2001 From: Henrique Oliveira Date: Tue, 3 Mar 2026 19:27:18 +0100 Subject: [PATCH 2/2] nixpkgs/aliases: add backward compat alias for caido -> caido-desktop --- pkgs/top-level/aliases.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 1e258da9620f..fbd800ee9079 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -411,6 +411,7 @@ mapAliases { bwidget = throw "'bwidget' has been renamed to/replaced by 'tclPackages.bwidget'"; # Converted to throw 2025-10-27 bzrtp = throw "'bzrtp' has been moved to 'linphonePackages.bzrtp'"; # Added 2025-09-20 c0 = throw "'c0' has been removed due to being broken for more than a year; see RFC 180"; # Added 2026-02-05 + caido = warnAlias "'caido' has been split into 'caido-cli' and 'caido-desktop'." caido-desktop; # Added 2026-03-03 calculix = throw "'calculix' has been renamed to/replaced by 'calculix-ccx'"; # Converted to throw 2025-10-27 calligra = throw "'calligra' has been renamed to/replaced by 'kdePackages.calligra'"; # Converted to throw 2025-10-27 callPackage_i686 = throw "'callPackage_i686' has been renamed to/replaced by 'pkgsi686Linux.callPackage'"; # Converted to throw 2025-10-27