Unverified Commit e4711949 authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

equibop: port some changes from vesktop (#509523)

parents a99f3ee6 a69628a2
Loading
Loading
Loading
Loading
+27 −13
Original line number Diff line number Diff line
@@ -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,8 +72,15 @@ stdenv.mkDerivation (finalAttrs: {
  '';

  # electron builds must be writable to support electron fuses
  preBuild =
    lib.optionalString stdenv.hostPlatform.isDarwin ''
  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
  ''
@@ -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 {