equibop: port some changes from vesktop (#509523)

This commit is contained in:
Sandro
2026-04-29 00:24:01 +00:00
committed by GitHub
+27 -13
View File
@@ -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.9";
@@ -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
@@ -119,10 +131,12 @@ stdenv.mkDerivation (finalAttrs: {
postFixup = ''
makeWrapper ${electron}/bin/electron $out/bin/equibop \
--add-flags $out/opt/Equibop/resources/app.asar \
${lib.optionalString withTTS "--add-flags \"--enable-speech-dispatcher\""} \
${lib.optionalString withTTS ''
--run 'if [[ "''${NIXOS_SPEECH:-default}" != "False" ]]; then NIXOS_SPEECH=True; else unset NIXOS_SPEECH; fi' \
--add-flags "\''${NIXOS_SPEECH:+--enable-speech-dispatcher}" \
''} \
${lib.optionalString withMiddleClickScroll "--add-flags \"--enable-blink-features=MiddleClickAutoscroll\""} \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ (lib.getLib stdenv.cc.cc) ]}"
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
'';
desktopItems = makeDesktopItem {