From fc486a1a0e5dcd8c1cd4d95e9d99133014acf097 Mon Sep 17 00:00:00 2001 From: Zexin Yuan Date: Sat, 22 Nov 2025 21:40:41 +0800 Subject: [PATCH 1/3] drawio{,-headless}: move to by-name --- .../headless.nix => by-name/dr/drawio-headless/package.nix} | 0 .../drawio/default.nix => by-name/dr/drawio/package.nix} | 4 ++-- pkgs/top-level/all-packages.nix | 5 ----- 3 files changed, 2 insertions(+), 7 deletions(-) rename pkgs/{applications/graphics/drawio/headless.nix => by-name/dr/drawio-headless/package.nix} (100%) rename pkgs/{applications/graphics/drawio/default.nix => by-name/dr/drawio/package.nix} (98%) diff --git a/pkgs/applications/graphics/drawio/headless.nix b/pkgs/by-name/dr/drawio-headless/package.nix similarity index 100% rename from pkgs/applications/graphics/drawio/headless.nix rename to pkgs/by-name/dr/drawio-headless/package.nix diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/by-name/dr/drawio/package.nix similarity index 98% rename from pkgs/applications/graphics/drawio/default.nix rename to pkgs/by-name/dr/drawio/package.nix index 974c5869b55c..5392c4df04be 100644 --- a/pkgs/applications/graphics/drawio/default.nix +++ b/pkgs/by-name/dr/drawio/package.nix @@ -7,7 +7,7 @@ copyDesktopItems, fixup-yarn-lock, makeWrapper, - autoSignDarwinBinariesHook, + darwin, nodejs, yarn, electron, @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { copyDesktopItems ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - autoSignDarwinBinariesHook + darwin.autoSignDarwinBinariesHook ]; ELECTRON_SKIP_BINARY_DOWNLOAD = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 340d09c5a2d5..a2b77c96f1f0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10802,11 +10802,6 @@ with pkgs; docker-compose = callPackage ../applications/virtualization/docker/compose.nix { }; docker-sbom = callPackage ../applications/virtualization/docker/sbom.nix { }; - drawio = callPackage ../applications/graphics/drawio { - inherit (darwin) autoSignDarwinBinariesHook; - }; - drawio-headless = callPackage ../applications/graphics/drawio/headless.nix { }; - drawpile-server-headless = drawpile.override { buildClient = false; buildServerGui = false; From 3c3af7bf31ceebf3f4bfaa5c54b94ef1ea3f89e9 Mon Sep 17 00:00:00 2001 From: Zexin Yuan Date: Sat, 22 Nov 2025 21:42:40 +0800 Subject: [PATCH 2/3] drawio{,-headless}: modernize --- pkgs/by-name/dr/drawio-headless/package.nix | 4 ++-- pkgs/by-name/dr/drawio/package.nix | 13 +++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/dr/drawio-headless/package.nix b/pkgs/by-name/dr/drawio-headless/package.nix index 42dac38fe048..6fd3ff4a93a5 100644 --- a/pkgs/by-name/dr/drawio-headless/package.nix +++ b/pkgs/by-name/dr/drawio-headless/package.nix @@ -30,14 +30,14 @@ writeTextFile { XDG_CONFIG_HOME="$tmpdir" ${xvfb-run}/bin/xvfb-run --auto-display ${drawio}/bin/drawio $@ ''; - meta = with lib; { + meta = { description = "xvfb wrapper around drawio"; longDescription = '' A wrapper around drawio (draw.io) for running in headless environments. Runs drawio under xvfb-run, with configuration going to a temporary directory. ''; - maintainers = with maintainers; [ + maintainers = with lib.maintainers; [ qyliss tfc ]; diff --git a/pkgs/by-name/dr/drawio/package.nix b/pkgs/by-name/dr/drawio/package.nix index 5392c4df04be..6281526243de 100644 --- a/pkgs/by-name/dr/drawio/package.nix +++ b/pkgs/by-name/dr/drawio/package.nix @@ -13,26 +13,27 @@ electron, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "drawio"; version = "26.1.1"; src = fetchFromGitHub { owner = "jgraph"; repo = "drawio-desktop"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; fetchSubmodules = true; hash = "sha256-h9APkOtH7s31r89hqqH12zYqkVMrR2ZxMyc+Zwq21+A="; }; # `@electron/fuses` tries to run `codesign` and fails. Disable and use autoSignDarwinBinariesHook instead postPatch = '' - sed -i -e 's/resetAdHocDarwinSignature:.*/resetAdHocDarwinSignature: false,/' build/fuses.cjs + substituteInPlace ./build/fuses.cjs \ + --replace-fail "resetAdHocDarwinSignature:" "// resetAdHocDarwinSignature:" ''; offlineCache = fetchYarnDeps { - yarnLock = src + "/yarn.lock"; hash = "sha256-kmA0z/vmWH+yD2OQ6VVSE0yPxInTAGjjG+QfcoZHlQ0="; + yarnLock = finalAttrs.src + "/yarn.lock"; }; nativeBuildInputs = [ @@ -137,9 +138,9 @@ stdenv.mkDerivation rec { # The minified code authored by us in this repo is licensed under an Apache v2 license, but the sources to build those files are not in this repo. This is not an open source project. unfreeRedistributable ]; - changelog = "https://github.com/jgraph/drawio-desktop/releases/tag/v${version}"; + changelog = "https://github.com/jgraph/drawio-desktop/releases/tag/v${finalAttrs.version}"; maintainers = with lib.maintainers; [ darkonion0 ]; platforms = lib.platforms.darwin ++ lib.platforms.linux; mainProgram = "drawio"; }; -} +}) From 496f17b057f277700fab20b5bace5346e9ab76e6 Mon Sep 17 00:00:00 2001 From: Zexin Yuan Date: Sat, 22 Nov 2025 21:43:02 +0800 Subject: [PATCH 3/3] drawio: 26.1.1 -> 29.0.3 --- pkgs/by-name/dr/drawio/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/dr/drawio/package.nix b/pkgs/by-name/dr/drawio/package.nix index 6281526243de..f34850f7c99b 100644 --- a/pkgs/by-name/dr/drawio/package.nix +++ b/pkgs/by-name/dr/drawio/package.nix @@ -15,14 +15,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "drawio"; - version = "26.1.1"; + version = "29.0.3"; src = fetchFromGitHub { owner = "jgraph"; repo = "drawio-desktop"; rev = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-h9APkOtH7s31r89hqqH12zYqkVMrR2ZxMyc+Zwq21+A="; + hash = "sha256-YVkGt096Vy1s/ZjvuWUWVE2eiaI7Wg/YdWSueTsKzEg="; }; # `@electron/fuses` tries to run `codesign` and fails. Disable and use autoSignDarwinBinariesHook instead @@ -32,8 +32,8 @@ stdenv.mkDerivation (finalAttrs: { ''; offlineCache = fetchYarnDeps { - hash = "sha256-kmA0z/vmWH+yD2OQ6VVSE0yPxInTAGjjG+QfcoZHlQ0="; yarnLock = finalAttrs.src + "/yarn.lock"; + hash = "sha256-/CzHvGUKhB2RBaz+LVXaHr5q6KLkQR0asFZRruOUmqU="; }; nativeBuildInputs = [ @@ -78,7 +78,7 @@ stdenv.mkDerivation (finalAttrs: { '' + '' yarn --offline run electron-builder --dir \ - ${lib.optionalString stdenv.hostPlatform.isDarwin "--config electron-builder-linux-mac.json"} \ + ${lib.optionalString stdenv.hostPlatform.isDarwin "--config electron-builder-linux-mac.json --config.mac.identity=null"} \ -c.electronDist=${if stdenv.hostPlatform.isDarwin then "." else electron.dist} \ -c.electronVersion=${electron.version}