diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index a62999d28431..8884148228b4 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -1,40 +1,49 @@ -{ stdenv, lib, llvmPackages, gnChromium, ninja, which, nodejs, fetchpatch, fetchurl +{ stdenv, lib, fetchurl, fetchpatch +# Channel data: +, channel, upstream-info -# default dependencies -, gnutar, bzip2, flac, speex, libopus +# Native build inputs: +, ninja, pkg-config +, python2, python3, perl +, gnutar, which +, llvmPackages +# postPatch: +, pkgsBuildHost +# configurePhase: +, gnChromium + +# Build inputs: +, libpng +, bzip2, flac, speex, libopus , libevent, expat, libjpeg, snappy -, libpng, libcap -, xdg-utils, yasm, nasm, minizip, libwebp -, libusb1, pciutils, nss, re2 - -, python2, python3, perl, pkg-config -, nspr, systemd, libkrb5 +, libcap +, xdg-utils, minizip, libwebp +, libusb1, re2 +, ffmpeg, libxslt, libxml2 +, nasm +, nspr, nss, systemd , util-linux, alsa-lib -, bison, gperf +, bison, gperf, libkrb5 , glib, gtk3, dbus-glib -, glibc , libXScrnSaver, libXcursor, libXtst, libxshmfence, libGLU, libGL -, protobuf, speechd, libXdamage, cups -, ffmpeg, libxslt, libxml2, at-spi2-core -, jre8 +, mesa +, pciutils, protobuf, speechd, libXdamage, at-spi2-core , pipewire , libva -, libdrm, wayland, mesa, libxkbcommon # Ozone +, libdrm, wayland, libxkbcommon # Ozone , curl +# postPatch: +, glibc # gconv + locale -# optional dependencies -, libgcrypt ? null # gnomeSupport || cupsSupport - -# package customization +# Package customization: , gnomeSupport ? false, gnome2 ? null , gnomeKeyringSupport ? false, libgnome-keyring3 ? null +, cupsSupport ? true, cups ? null , proprietaryCodecs ? true -, cupsSupport ? true , pulseSupport ? false, libpulseaudio ? null , ungoogled ? false, ungoogled-chromium - -, channel -, upstream-info +# Optional dependencies: +, libgcrypt ? null # gnomeSupport || cupsSupport }: buildFun: @@ -91,17 +100,6 @@ let withCustomModes = true; }; - defaultDependencies = [ - (libpng.override { apngSupport = false; }) # https://bugs.chromium.org/p/chromium/issues/detail?id=752403 - bzip2 flac speex opusWithCustomModes - libevent expat libjpeg snappy - libcap - xdg-utils minizip libwebp - libusb1 re2 - ffmpeg libxslt libxml2 - nasm - ]; - # build paths and release info packageName = extraAttrs.packageName or extraAttrs.name; buildType = "Release"; @@ -136,12 +134,20 @@ let nativeBuildInputs = [ ninja pkg-config - python2WithPackages python3WithPackages perl nodejs + python2WithPackages python3WithPackages perl gnutar which llvmPackages.bintools ]; - buildInputs = defaultDependencies ++ [ + buildInputs = [ + (libpng.override { apngSupport = false; }) # https://bugs.chromium.org/p/chromium/issues/detail?id=752403 + bzip2 flac speex opusWithCustomModes + libevent expat libjpeg snappy + libcap + xdg-utils minizip libwebp + libusb1 re2 + ffmpeg libxslt libxml2 + nasm nspr nss systemd util-linux alsa-lib bison gperf libkrb5 @@ -153,14 +159,16 @@ let libva libdrm wayland mesa.drivers libxkbcommon curl - ] ++ optional gnomeKeyringSupport libgnome-keyring3 - ++ optionals gnomeSupport [ gnome2.GConf libgcrypt ] + ] ++ optionals gnomeSupport [ gnome2.GConf libgcrypt ] + ++ optional gnomeKeyringSupport libgnome-keyring3 ++ optionals cupsSupport [ libgcrypt cups ] ++ optional pulseSupport libpulseaudio; patches = [ - ./patches/no-build-timestamps.patch # Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed) - ./patches/widevine-79.patch # For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags + # Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed): + ./patches/no-build-timestamps.patch + # For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags: + ./patches/widevine-79.patch # Fix the build by adding a missing dependency (s. https://crbug.com/1197837): ./patches/fix-missing-atspi2-dependency.patch ] ++ lib.optionals (versionRange "91" "94.0.4583.0") [ @@ -239,8 +247,8 @@ let patchShebangs . # Link to our own Node.js and Java (required during the build): mkdir -p third_party/node/linux/node-linux-x64/bin - ln -s "$(command -v node)" third_party/node/linux/node-linux-x64/bin/node - ln -s "${jre8}/bin/java" third_party/jdk/current/bin/ + ln -s "${pkgsBuildHost.nodejs}/bin/node" third_party/node/linux/node-linux-x64/bin/node + ln -s "${pkgsBuildHost.jre8}/bin/java" third_party/jdk/current/bin/ # Allow building against system libraries in official builds sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py @@ -272,9 +280,9 @@ let google_api_key = "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI"; # Optional features: - use_cups = cupsSupport; use_gio = gnomeSupport; use_gnome_keyring = gnomeKeyringSupport; + use_cups = cupsSupport; # Feature overrides: # Native Client support was deprecated in 2020 and support will end in June 2021: diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 43a79bfa7df5..8c6c0ba4afe4 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -31,9 +31,9 @@ } }, "dev": { - "version": "94.0.4595.0", - "sha256": "0ksd7vqpbiplbg2xpm566z7p7qp57r27a3pk6ss1qz8v18490092", - "sha256bin64": "1kibyhgwcgby3hnhjdg2vrgbj4dvvbicqlcj4id9761zw1jhz8r4", + "version": "94.0.4603.0", + "sha256": "1mhb7y7mhjbi5m79izcqvc6pjmgxvlk9vvr273k29gr2zq2m2fv3", + "sha256bin64": "1rqprc2vkyygwwwjk25xa2av30bqbx5dzs6nwhnzsdqwic5wdbbz", "deps": { "gn": { "version": "2021-07-31",