diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix index 92414531522e..d0fb1280c342 100644 --- a/pkgs/applications/graphics/drawio/default.nix +++ b/pkgs/applications/graphics/drawio/default.nix @@ -4,7 +4,6 @@ , fetchYarnDeps , makeDesktopItem , copyDesktopItems -, desktopToDarwinBundle , fixup_yarn_lock , makeWrapper , nodejs @@ -30,12 +29,13 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - copyDesktopItems fixup_yarn_lock makeWrapper nodejs yarn - ] ++ lib.optional stdenv.isDarwin desktopToDarwinBundle; + ] ++ lib.optionals (!stdenv.isDarwin) [ + copyDesktopItems + ]; ELECTRON_SKIP_BINARY_DOWNLOAD = true; @@ -54,9 +54,15 @@ stdenv.mkDerivation rec { buildPhase = '' runHook preBuild + '' + lib.optionalString stdenv.isDarwin '' + cp -R ${electron}/Applications/Electron.app Electron.app + chmod -R u+w Electron.app + export CSC_IDENTITY_AUTO_DISCOVERY=false + sed -i "/afterSign/d" electron-builder-linux-mac.json + '' + '' yarn --offline run electron-builder --dir \ --config electron-builder-linux-mac.json \ - -c.electronDist=${electron}/libexec/electron \ + -c.electronDist=${if stdenv.isDarwin then "." else "${electron}/libexec/electron"} \ -c.electronVersion=${electron.version} runHook postBuild @@ -65,6 +71,13 @@ stdenv.mkDerivation rec { installPhase = '' runHook preInstall + '' + lib.optionalString stdenv.isDarwin '' + mkdir -p $out/{Applications,bin} + mv dist/mac*/draw.io.app $out/Applications + + # Symlinking `draw.io` doesn't work; seems to look for files in the wrong place. + makeWrapper $out/Applications/draw.io.app/Contents/MacOS/draw.io $out/bin/drawio + '' + lib.optionalString (!stdenv.isDarwin) '' mkdir -p "$out/share/lib/drawio" cp -r dist/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/drawio" @@ -74,6 +87,7 @@ stdenv.mkDerivation rec { --add-flags "$out/share/lib/drawio/resources/app.asar" \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \ --inherit-argv0 + '' + '' runHook postInstall ''; @@ -98,6 +112,5 @@ stdenv.mkDerivation rec { changelog = "https://github.com/jgraph/drawio-desktop/releases/tag/v${version}"; maintainers = with maintainers; [ qyliss darkonion0 ]; platforms = platforms.darwin ++ platforms.linux; - broken = stdenv.isDarwin; }; }