diff options
Diffstat (limited to 'pkgs/development/tools/electron/binary/generic.nix')
-rw-r--r-- | pkgs/development/tools/electron/binary/generic.nix | 61 |
1 files changed, 46 insertions, 15 deletions
diff --git a/pkgs/development/tools/electron/binary/generic.nix b/pkgs/development/tools/electron/binary/generic.nix index 615ec9243bb..6e1493528e2 100644 --- a/pkgs/development/tools/electron/binary/generic.nix +++ b/pkgs/development/tools/electron/binary/generic.nix @@ -1,4 +1,5 @@ -{ lib, stdenv +{ lib +, stdenv , libXScrnSaver , makeWrapper , fetchurl @@ -6,17 +7,24 @@ , glib , gtk3 , unzip -, atomEnv -, libuuid , at-spi2-atk -, at-spi2-core , libdrm , mesa , libxkbcommon -, libappindicator-gtk3 , libxshmfence , libglvnd -, wayland +, alsa-lib +, cairo +, cups +, dbus +, expat +, gdk-pixbuf +, nss +, nspr +, xorg +, pango +, systemd +, pciutils }: version: hashes: @@ -32,7 +40,7 @@ let ++ optionals (versionAtLeast version "11.0.0") [ "aarch64-darwin" ] ++ optionals (versionOlder version "19.0.0") [ "i686-linux" ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - knownVulnerabilities = optional (versionOlder version "22.0.0" || versions.major version == "23") "Electron version ${version} is EOL"; + knownVulnerabilities = optional (versionOlder version "25.0.0") "Electron version ${version} is EOL"; }; fetcher = vers: tag: hash: fetchurl { @@ -64,13 +72,36 @@ let passthru.headers = headersFetcher version hashes.headers; }; - electronLibPath = with lib; makeLibraryPath ( - [ libuuid at-spi2-atk at-spi2-core libappindicator-gtk3 wayland ] - ++ optionals (versionAtLeast version "9.0.0") [ libdrm mesa ] - ++ optionals (versionOlder version "10.0.0") [ libXScrnSaver ] - ++ optionals (versionAtLeast version "11.0.0") [ libxkbcommon ] - ++ optionals (versionAtLeast version "12.0.0") [ libxshmfence ] - ++ optionals (versionAtLeast version "17.0.0") [ libglvnd ] + electronLibPath = lib.makeLibraryPath ([ + alsa-lib + at-spi2-atk + cairo + cups + dbus + expat + gdk-pixbuf + glib + gtk3 + nss + nspr + xorg.libX11 + xorg.libxcb + xorg.libXcomposite + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXrandr + xorg.libxkbfile + pango + pciutils + stdenv.cc.cc.lib + systemd + ] + ++ lib.optionals (lib.versionAtLeast version "9.0.0") [ libdrm mesa ] + ++ 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") [ libglvnd ] ); linux = { @@ -95,7 +126,7 @@ let postFixup = '' patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${atomEnv.libPath}:${electronLibPath}:$out/libexec/electron" \ + --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" } ''; |