summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Weiss <dev.primeos@gmail.com>2022-03-29 23:15:14 +0200
committerGitHub <noreply@github.com>2022-03-29 23:15:14 +0200
commite1cfaa50df19fe231b2148183f30944bbee4e903 (patch)
treec8ddc70fb4649bed583f187b8dbaace842853dba
parent9b168e5e62406fa2e55e132f390379a6ba22b402 (diff)
parentc4759273121db29fb732ccba69ede460fc2fbae6 (diff)
Merge pull request #166305 from primeos/chromium-backport
[21.11] Prepare for backporting Chromium M100
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix32
-rw-r--r--pkgs/applications/networking/browsers/chromium/ungoogled-flags.toml23
-rwxr-xr-xpkgs/applications/networking/browsers/chromium/update.py11
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json24
4 files changed, 56 insertions, 34 deletions
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index e2acb21c6bc6..a9532f517eb1 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -23,7 +23,7 @@
, libusb1, re2
, ffmpeg, libxslt, libxml2
, nasm
-, nspr, nss, systemd
+, nspr, nss
, util-linux, alsa-lib
, bison, gperf, libkrb5
, glib, gtk3, dbus-glib
@@ -47,6 +47,8 @@
, ungoogled ? false, ungoogled-chromium
# Optional dependencies:
, libgcrypt ? null # gnomeSupport || cupsSupport
+, systemdSupport ? stdenv.isLinux
+, systemd
}:
buildFun:
@@ -139,7 +141,7 @@ let
libusb1 re2
ffmpeg libxslt libxml2
nasm
- nspr nss systemd
+ nspr nss
util-linux alsa-lib
bison gperf libkrb5
glib gtk3 dbus-glib
@@ -151,7 +153,8 @@ let
libdrm wayland mesa.drivers libxkbcommon
curl
libepoxy
- ] ++ optionals gnomeSupport [ gnome2.GConf libgcrypt ]
+ ] ++ optional systemdSupport systemd
+ ++ optionals gnomeSupport [ gnome2.GConf libgcrypt ]
++ optional gnomeKeyringSupport libgnome-keyring3
++ optionals cupsSupport [ libgcrypt cups ]
++ optional pulseSupport libpulseaudio;
@@ -204,9 +207,10 @@ let
sed -i -e 's@"\(#!\)\?.*xdg-@"\1${xdg-utils}/bin/xdg-@' \
chrome/browser/shell_integration_linux.cc
+ '' + lib.optionalString systemdSupport ''
sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \
device/udev_linux/udev?_loader.cc
-
+ '' + ''
sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
gpu/config/gpu_info_collector_linux.cc
@@ -287,24 +291,8 @@ let
} // optionalAttrs pulseSupport {
use_pulseaudio = true;
link_pulseaudio = true;
- } // optionalAttrs ungoogled {
- chrome_pgo_phase = 0;
- enable_hangout_services_extension = false;
- enable_js_type_check = false;
- enable_mdns = false;
- enable_one_click_signin = false;
- enable_reading_list = false;
- enable_remoting = false;
- enable_reporting = false;
- enable_service_discovery = false;
- exclude_unwind_tables = true;
- google_api_key = "";
- google_default_client_id = "";
- google_default_client_secret = "";
- safe_browsing_mode = 0;
- use_official_google_api_keys = false;
- use_unofficial_version_number = false;
- } // (extraAttrs.gnFlags or {}));
+ } // optionalAttrs ungoogled (importTOML ./ungoogled-flags.toml)
+ // (extraAttrs.gnFlags or {}));
configurePhase = ''
runHook preConfigure
diff --git a/pkgs/applications/networking/browsers/chromium/ungoogled-flags.toml b/pkgs/applications/networking/browsers/chromium/ungoogled-flags.toml
new file mode 100644
index 000000000000..f2bf29cda24b
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/ungoogled-flags.toml
@@ -0,0 +1,23 @@
+build_with_tflite_lib=false
+chrome_pgo_phase=0
+clang_use_chrome_plugins=false
+disable_fieldtrial_testing_config=true
+enable_hangout_services_extension=false
+enable_js_type_check=false
+enable_mdns=false
+enable_mse_mpeg2ts_stream_parser=true
+enable_nacl=false
+enable_one_click_signin=false
+enable_reading_list=false
+enable_remoting=false
+enable_reporting=false
+enable_service_discovery=false
+enable_widevine=true
+exclude_unwind_tables=true
+google_api_key=""
+google_default_client_id=""
+google_default_client_secret=""
+safe_browsing_mode=0
+treat_warnings_as_errors=false
+use_official_google_api_keys=false
+use_unofficial_version_number=false
diff --git a/pkgs/applications/networking/browsers/chromium/update.py b/pkgs/applications/networking/browsers/chromium/update.py
index 3ea5dea50cd6..8341f2c6ee22 100755
--- a/pkgs/applications/networking/browsers/chromium/update.py
+++ b/pkgs/applications/networking/browsers/chromium/update.py
@@ -24,6 +24,7 @@ DEB_URL = 'https://dl.google.com/linux/chrome/deb/pool/main/g'
BUCKET_URL = 'https://commondatastorage.googleapis.com/chromium-browser-official'
JSON_PATH = dirname(abspath(__file__)) + '/upstream-info.json'
+UNGOOGLED_FLAGS_PATH = dirname(abspath(__file__)) + '/ungoogled-flags.toml'
COMMIT_MESSAGE_SCRIPT = dirname(abspath(__file__)) + '/get-commit-message.py'
@@ -108,6 +109,12 @@ def get_latest_ungoogled_chromium_build():
}
+def get_ungoogled_chromium_gn_flags(revision):
+ """Returns ungoogled-chromium's GN build flags for the given revision."""
+ gn_flags_url = f'https://raw.githubusercontent.com/Eloston/ungoogled-chromium/{revision}/flags.gn'
+ return urlopen(gn_flags_url).read().decode()
+
+
def channel_name_to_attr_name(channel_name):
"""Maps a channel name to the corresponding main Nixpkgs attribute name."""
if channel_name == 'stable':
@@ -208,6 +215,8 @@ with urlopen(HISTORY_URL) as resp:
'rev': build['ungoogled_tag'],
'sha256': nix_prefetch_git(ungoogled_repo_url, build['ungoogled_tag'])['sha256']
}
+ with open(UNGOOGLED_FLAGS_PATH, 'w') as out:
+ out.write(get_ungoogled_chromium_gn_flags(build['ungoogled_tag']))
channels[channel_name] = channel
@@ -227,6 +236,8 @@ if len(sys.argv) == 2 and sys.argv[1] == '--commit':
if channel_name == 'stable':
body = subprocess.check_output([COMMIT_MESSAGE_SCRIPT, version_new]).decode('utf-8')
commit_message += '\n\n' + body
+ elif channel_name == 'ungoogled-chromium':
+ subprocess.run(['git', 'add', UNGOOGLED_FLAGS_PATH], check=True)
subprocess.run(['git', 'add', JSON_PATH], check=True)
subprocess.run(['git', 'commit', '--file=-'], input=commit_message.encode(), check=True)
else:
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index a674cdcc2004..c3ffe5cf116d 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -19,28 +19,28 @@
}
},
"beta": {
- "version": "99.0.4844.51",
- "sha256": "1qxsn8zvvvsnn0k7nn606rhaial8ikrlfh175msqpp50xibjxicp",
- "sha256bin64": "1bayx03xf94ra0wid1jn10vysa6src4hmrdzdxf566rx9wcg29pk",
+ "version": "100.0.4896.56",
+ "sha256": "0vdyddxhmkw9bqwx5j19h69swx9ysiipsmcc1sjl0qv8bn8f790z",
+ "sha256bin64": "09h4fxsx0q5b0gn258xnmk11qz7ql8flpn4mq5x201abmv29y856",
"deps": {
"gn": {
- "version": "2022-01-10",
+ "version": "2022-01-21",
"url": "https://gn.googlesource.com/gn",
- "rev": "80a40b07305373617eba2d5878d353532af77da3",
- "sha256": "1103lf38h7412949j6nrk48m2vv2rrxacn42sjg33lg88nyv7skv"
+ "rev": "0725d7827575b239594fbc8fd5192873a1d62f44",
+ "sha256": "1dzdvcn2r5c9giknvasf3y5y4901kav7igivjvrpww66ywsj8fzr"
}
}
},
"dev": {
- "version": "100.0.4896.12",
- "sha256": "07jd3d5jhs659wwxnbxk6h93pz8zaynrw72b0y9l6l824lip6hl2",
- "sha256bin64": "0fnxq0vjn00zai94p8jgx69bag30zzlfl2vzn0zb65pr10fpac87",
+ "version": "101.0.4951.7",
+ "sha256": "0xnvbiqi50hgky35qaivcyzfp05nnwfwqrd50dksqkzycl8avb4z",
+ "sha256bin64": "19my3zr9d3w2ypl9cm1xa15vhyv9add1f283alb9fmh2qwhl4scg",
"deps": {
"gn": {
- "version": "2022-01-21",
+ "version": "2022-03-14",
"url": "https://gn.googlesource.com/gn",
- "rev": "0725d7827575b239594fbc8fd5192873a1d62f44",
- "sha256": "1dzdvcn2r5c9giknvasf3y5y4901kav7igivjvrpww66ywsj8fzr"
+ "rev": "bd99dbf98cbdefe18a4128189665c5761263bcfb",
+ "sha256": "0nql15ckjqkm001xajq3qyn4h4q80i7x6dm9zinxxr1a8q5lppx3"
}
}
},