Unverified Commit c414ff73 authored by Emily's avatar Emily Committed by GitHub
Browse files

electron-bin: copy over fixes from electron-source, remove no longer needed...

electron-bin: copy over fixes from electron-source, remove no longer needed version conditionals (#383706)
parents 0e65727d f17378b5
Loading
Loading
Loading
Loading
+59 −62
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  libXScrnSaver,
  makeWrapper,
  fetchurl,
  wrapGAppsHook3,
  glib,
  gtk3,
  gtk4,
  unzip,
  at-spi2-atk,
  libdrm,
@@ -27,6 +27,11 @@
  pango,
  systemd,
  pciutils,
  libnotify,
  pipewire,
  libsecret,
  libpulseaudio,
  speechd-minimal,
}:

version: hashes:
@@ -42,15 +47,13 @@ let
      yayayayaka
      teutat3s
    ];
    platforms =
      [
    platforms = [
      "x86_64-darwin"
      "x86_64-linux"
      "armv7l-linux"
      "aarch64-linux"
      ]
      ++ optionals (versionAtLeast version "11.0.0") [ "aarch64-darwin" ]
      ++ optionals (versionOlder version "19.0.0") [ "i686-linux" ];
      "aarch64-darwin"
    ];
    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
    # https://www.electronjs.org/docs/latest/tutorial/electron-timelines
    knownVulnerabilities = optional (versionOlder version "32.0.0") "Electron version ${version} is EOL";
@@ -70,18 +73,12 @@ let
      sha256 = hash;
    };

  tags =
    {
  tags = {
    x86_64-linux = "linux-x64";
    armv7l-linux = "linux-armv7l";
    aarch64-linux = "linux-arm64";
    x86_64-darwin = "darwin-x64";
    }
    // lib.optionalAttrs (lib.versionAtLeast version "11.0.0") {
    aarch64-darwin = "darwin-arm64";
    }
    // lib.optionalAttrs (lib.versionOlder version "19.0.0") {
      i686-linux = "linux-ia32";
  };

  get = as: platform: as.${platform.system} or (throw "Unsupported system: ${platform.system}");
@@ -92,8 +89,7 @@ let
    passthru.headers = headersFetcher version hashes.headers;
  };

  electronLibPath = lib.makeLibraryPath (
    [
  electronLibPath = lib.makeLibraryPath [
    alsa-lib
    at-spi2-atk
    cairo
@@ -103,6 +99,7 @@ let
    gdk-pixbuf
    glib
    gtk3
    gtk4
    nss
    nspr
    xorg.libX11
@@ -117,19 +114,18 @@ let
    pciutils
    stdenv.cc.cc
    systemd
    ]
    ++ lib.optionals (lib.versionAtLeast version "9.0.0") [
    libnotify
    pipewire
    libsecret
    libpulseaudio
    speechd-minimal
    libdrm
    libgbm
    ]
    ++ lib.optionals (lib.versionOlder version "10.0.0") [ libXScrnSaver ]
    ++ lib.optionals (lib.versionAtLeast version "11.0.0") [ libxkbcommon ]
    ++ lib.optionals (lib.versionAtLeast version "12.0.0") [ libxshmfence ]
    ++ lib.optionals (lib.versionAtLeast version "17.0.0") [
    libxkbcommon
    libxshmfence
    libGL
    vulkan-loader
    ]
  );
  ];

  # Fix read out of range on aarch64 16k pages builds
  # https://github.com/NixOS/nixpkgs/pull/365364
@@ -142,6 +138,7 @@ let
    buildInputs = [
      glib
      gtk3
      gtk4
    ];

    nativeBuildInputs = [
@@ -178,7 +175,7 @@ let
        --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
        --set-rpath "${electronLibPath}:$out/libexec/electron" \
        $out/libexec/electron/.electron-wrapped \
        ${lib.optionalString (lib.versionAtLeast version "15.0.0") "$out/libexec/electron/.chrome_crashpad_handler-wrapped"}
        $out/libexec/electron/.chrome_crashpad_handler-wrapped

      # patch libANGLE
      patchelf \