From 15a1c57994cb03e0068ecc0d88e32e227dbbbe50 Mon Sep 17 00:00:00 2001 From: Perchun Pak Date: Mon, 13 Apr 2026 13:13:06 +0200 Subject: [PATCH] equibop: specify electron version Ports #486865 --- pkgs/by-name/eq/equibop/package.nix | 32 ++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/eq/equibop/package.nix b/pkgs/by-name/eq/equibop/package.nix index f04a380bce09..5750da37668e 100644 --- a/pkgs/by-name/eq/equibop/package.nix +++ b/pkgs/by-name/eq/equibop/package.nix @@ -6,16 +6,20 @@ makeWrapper, makeDesktopItem, copyDesktopItems, - electron, + electron_40, python3Packages, pipewire, libpulseaudio, + jq, autoPatchelfHook, bun, nodejs, withTTS ? true, withMiddleClickScroll ? false, }: +let + electron = electron_40; +in stdenv.mkDerivation (finalAttrs: { pname = "equibop"; version = "3.1.8"; @@ -40,6 +44,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ bun + jq nodejs # XXX: Equibop *does not* ship venmic as a prebuilt node module. The package # seems to build with or without this hook, but I (NotAShelf) don't have the @@ -67,15 +72,22 @@ stdenv.mkDerivation (finalAttrs: { ''; # electron builds must be writable to support electron fuses - preBuild = - lib.optionalString stdenv.hostPlatform.isDarwin '' - cp -r ${electron.dist}/Electron.app . - chmod -R u+w Electron.app - '' - + lib.optionalString stdenv.hostPlatform.isLinux '' - cp -r ${electron.dist} electron-dist - chmod -R u+w electron-dist - ''; + preBuild = '' + # Validate electron version matches upstream package.json + if [ "`jq -r '.devDependencies.electron' < package.json | cut -d. -f1 | tr -d '^'`" != "${lib.versions.major electron.version}" ] + then + echo "ERROR: electron version mismatch between package.json and nixpkgs" + exit 1 + fi + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + cp -r ${electron.dist}/Electron.app . + chmod -R u+w Electron.app + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + cp -r ${electron.dist} electron-dist + chmod -R u+w electron-dist + ''; buildPhase = '' runHook preBuild