Commit Graph
272 Commits
Author SHA1 Message Date
Michael Weiss af4338e6e7 ungoogled-chromium: 92.0.4515.159 -> 93.0.4577.82
(cherry picked from commit f8b837c808490644bc7de35108a2212c22c8b262)
2021-09-19 22:27:44 +02:00
Michael Weiss 21edf9c42f chromium: Move the version helper functions into default.nix
Those functions can be required anywhere in the Nix expressions for
Chromium and therefore they should be defined in default.nix and
inherited where necessary.

This fixes the chromiumBeta build which failed because I forgot to
update the channel conditional when the beta channel advanced to M94.
This is exactly why the version based conditionals should be used
everywhere.

(cherry picked from commit 186315def77d62b53ad6ccdf57ec9593edbe8bc3)
2021-09-03 13:59:33 +02:00
Michael Weiss 3670f55599 chromiumBeta: Build with LLVM 13
(cherry picked from commit 403ce1a9a3624e7b87606b99ea15f531fa17f8e7)
2021-09-03 13:58:01 +02:00
Michael Weiss d14b18dd69 chromiumDev: Fix the build
Note: I've only tested this with llvmPackages_git but it should work
with llvmPackages_13 as well.

fieldtrial_testing_like_official_build was renamed to
disable_fieldtrial_testing_config:
https://github.com/chromium/chromium/commit/486e9d58c0980be0d50054064e0b7d79446de071

(cherry picked from commit 1e372f40047912013568d731208655bd9dab526c)
2021-09-03 13:56:28 +02:00
Felix Buehler 1361a07a95 chromium: remove phases
(cherry picked from commit 2ae5f1a6b85dbc632ad3a800b2639e633dc6d89e)
2021-09-03 11:30:38 +02:00
Michael Weiss 8b75191bea chromium: Fix the Ozone/Wayland support
The stable channel update to M92 (97570d30c7f) broke the Wayland support:
$ chromium --enable-features=UseOzonePlatform --ozone-platform=wayland
[31712:31712:0721/114725.940557:ERROR:wayland_connection.cc(137)] Failed to load wayland client libraries.
[31712:31712:0721/114725.940641:FATAL:ozone_platform_wayland.cc(177)] Failed to initialize Wayland platform
[0721/114725.947566:ERROR:process_memory_range.cc(75)] read out of range
Trace/breakpoint trap (core dumped)

(cherry picked from commit bb651d27fd86814087f54eaefda0a0fc04d4d6cf)
2021-07-25 13:04:11 +02:00
Michael Weiss a04e7e7ee4 chromium: 91.0.4472.164 -> 92.0.4515.107
https://chromereleases.googleblog.com/2021/07/stable-channel-update-for-desktop_20.html

This update includes 35 security fixes.

CVEs:
CVE-2021-30565 CVE-2021-30566 CVE-2021-30567 CVE-2021-30568
CVE-2021-30569 CVE-2021-30571 CVE-2021-30572 CVE-2021-30573
CVE-2021-30574 CVE-2021-30575 CVE-2021-30576 CVE-2021-30577
CVE-2021-30578 CVE-2021-30579 CVE-2021-30580 CVE-2021-30581
CVE-2021-30582 CVE-2021-30583 CVE-2021-30584 CVE-2021-30585
CVE-2021-30586 CVE-2021-30587 CVE-2021-30588 CVE-2021-30589

Note: This won't be the smoothest update. Chromium seems to be fine but
requires gtk3 in $LD_LIBRARY_PATH to find libgtk-3.so.0 (otherwise it
crashes during startup) but Google Chrome fails to initialize
("GPU process exited unexpectedly: exit_code=132") and requires
"--use-gl=angle --use-angle=swiftshader" for hardware(?) acceleration
(which seems to work work fine and performant but SwiftShader should
actually use the CPU instead of the GPU).

(cherry picked from commit 97570d30c7f632e6ca25cf8e966d2a4b7e5aa546)
2021-07-25 13:04:11 +02:00
sternenseemann 3e6648699f chromium: move ed and makeWrapper into nativeBuildInputs
This most notably fixes cross _evaluation_ of chromium which previously
would fail because makeWrapper relies on runtimeShell which is not
available in the HostTarget package set.

I tested that the native chromium build still works, but haven't tried
cross compiling it yet. There very well may be additional errors, but at
least they will be build errors, not hard to understand evaluation
errors.

(cherry picked from commit 524aa1c87c4cb024747930cda3a3e68c68dc362c)
2021-07-25 11:37:56 +02:00
Jan Tojnar 468cb5980b gnome: rename from gnome3
Since GNOME version is now 40, it no longer makes sense to use the old attribute name.
2021-05-08 09:47:42 +02:00
Michael Weiss 5768ccf6fe chromium{Beta,Dev}: Fix the linking
Linking with ThinLTO (required for CFI) was failing as I forgot use
stdenv from llvmPackages_12 in 166520812e (need to refactor that part).
2021-04-09 12:09:59 +02:00
Michael Weiss 166520812e chromium{Beta,Dev}: Use LLVM 12
LLVM 12 is required but the build still fails due to other changes that
where introduced in the meantime (and Chromium 90.0.4430.51 introduced
another LLVM failure).
2021-04-02 13:32:17 +02:00
Michael Weiss 14e11862ea chromium: Remove the enableVaapi flag/option
Chromium is still compiled with use_vaapi=true but since M89 the
--enable-accelerated-video-decode was replaced with
--enable-features=VaapiVideoDecoder.

Instead of updating our wrapper it seems like a better idea to drop
enableVaapi entirely and let users use commandLineArgs or
chrome://flags/ to enable hardware accelerated video decoding.
2021-03-13 16:38:42 +01:00
Michael Weiss 36e5fe006a chromium: Switch from PipeWire 0.2 to the current 0.3.x releases
This should make it work more reliable and support additional features
like window sharing. See [0] for more details.

[0]: https://jgrulich.cz/2020/12/18/webrtc-chromium-updates-in-2020/
2021-03-04 17:53:06 +01:00
Michael Weiss d55603f11d chromium: Remove the Adobe Flash Player plugin support
The Flash support was completely removed in Chromium M88:
- https://www.chromium.org/flash-roadmap#TOC-Flash-Support-Removed-from-Chromium-Target:-Chrome-88---Jan-2021-
- https://chromestatus.com/feature/5643527180517376

See #110314.
2021-02-07 12:27:36 +01:00
Jan Tojnar 54f4529aec Merge pull request #111519 from siraben/xdg-utils-naming 2021-02-01 17:18:57 +01:00
Ben Siraphob a6ac3eedbd treewide: xdg_utils -> xdg-utils 2021-02-01 15:05:09 +07:00
Michael Weiss 268600e6b7 ungoogled-chromium: 87.0.4280.141 -> 88.0.4324.104
Unfortunately this requires a crazy hack to support building with
Google's proprietary Widevine DRM technology as that requires fetching
the Google Chrome sources (see also 86ff1e45ce).
The hack is required because ungoogled-chromium doesn't always use tags
that correspond to a Google Chrome release.
2021-01-30 19:22:22 +01:00
Ben Siraphob badf51221d treewide: stdenv.lib -> lib 2021-01-16 17:58:11 +07:00
Michael Weiss 86ff1e45ce ungoogled-chromium: Support enableWideVine=true
Building with Google's proprietary Widevine DRM technology requires
fetching the Google Chrome sources.
2020-12-22 13:35:40 +01:00
Michael Weiss be94a4cf23 ungoogled-chromium: Try to fix an evaluation error on Hydra
This should fix a regression from #106475 (hopefully this is the only
issue, my current implementation with channel+ungoogled isn't ideal):
https://github.com/NixOS/nixpkgs/pull/106475#issuecomment-748131224
2020-12-18 16:21:37 +01:00
Michael Weiss 240a8f746e ungoogled-chromium: Move ungoogled-src.nix into upstream-info.json
This also adds a dedicated channel for ungoogled-chromium that enables
us to update ungoogled-chromium independently of chromium.
TODO: Automate ungoogled-chromium updates via update.py (currently it
needs to be updated manually).

Note: Unfortunately this changes the ungoogled-chromium derivation
because common.nix passes the channel as an argument to
stdenv.mkDerivation (this makes it more difficult to verify this commit
but the result should remain the same).
2020-12-10 17:41:22 +01:00
Michael Weiss 2b6b434477 ungoogled-chromium: Merge back into chromium
I used nix-instantiate to verify that the derivations for chromium and
ungoogled-chromium remain unchanged (only the meta attributes change
slightly as I added myself as ungoogled-chromium to receive
notifications for PRs/issues).
2020-12-10 17:41:11 +01:00
Michael Weiss 063b369908 chromium: Cleanup useOzone and useVaapi
But since Ozone is still experimental I'll keep useOzone in common.nix
for some time.
2020-11-27 23:03:48 +01:00
Michael Weiss 54673b1f3b chromium: 86.0.4240.198 -> 87.0.4280.66
https://chromereleases.googleblog.com/2020/11/stable-channel-update-for-desktop_17.html

This update includes 33 security fixes.

CVEs:
CVE-2020-16018 CVE-2020-16019 CVE-2020-16020 CVE-2020-16021
CVE-2020-16022 CVE-2020-16015 CVE-2020-16014 CVE-2020-16023
CVE-2020-16024 CVE-2020-16025 CVE-2020-16026 CVE-2020-16027
CVE-2020-16028 CVE-2020-16029 CVE-2020-16030 CVE-2019-8075
CVE-2020-16031 CVE-2020-16032 CVE-2020-16033 CVE-2020-16034
CVE-2020-16035 CVE-2020-16012 CVE-2020-16036

Note: We'll finally build with use_ozone=true on Hydra now :) \o/
2020-11-17 22:53:12 +01:00
Michael Weiss d7f5386474 chromium: Extend update.py to automatically update gn
The gn version depends on the channel and new gn versions aren't always
backward compatible. Therefore we should also include it in
upstream-info.json (I've scoped it under "deps" as we'll likely have to
add more like this in the future).
2020-11-03 20:00:25 +01:00
Michael Weiss 7c700c9ff6 chromium: Drop useVaapi (was deprecated) 2020-10-29 13:48:38 +01:00
Michael Weiss 50a2f50acb chromiumDev: 88.0.4292.2 -> 88.0.4298.4
This should also fix VA-API for chromiumBeta (though that part needs
some cleanup). However, chromiumDev likely still fails due to the
absence of dirmd (not included in the tarball so far, we might have to
package and add it as a dependency).
2020-10-23 17:49:46 +02:00
Michael Weiss 73b67da169 chromium: Disable VA-API by default
This is done to avoid driver specific issues and restores the previous
behaviour. Like before video acceleration can be enabled without having
to rebuild Chromium.
2020-10-09 21:59:48 +02:00
Michael Weiss f79703e50c chromium: 85.0.4183.121 -> 86.0.4240.75
https://chromereleases.googleblog.com/2020/10/stable-channel-update-for-desktop.html

This update includes 35 security fixes.

CVEs:
CVE-2020-15967 CVE-2020-15968 CVE-2020-15969 CVE-2020-15970
CVE-2020-15971 CVE-2020-15972 CVE-2020-15990 CVE-2020-15991
CVE-2020-15973 CVE-2020-15974 CVE-2020-15975 CVE-2020-15976
CVE-2020-6557 CVE-2020-15977 CVE-2020-15978 CVE-2020-15979
CVE-2020-15980 CVE-2020-15981 CVE-2020-15982 CVE-2020-15983
CVE-2020-15984 CVE-2020-15985 CVE-2020-15986 CVE-2020-15987
CVE-2020-15992 CVE-2020-15988 CVE-2020-15989
2020-10-07 20:37:35 +02:00
Michael Weiss e249baca22 chromiumDev: M86 -> M87 2020-09-10 12:31:00 +02:00
Michael Weiss 1fa610bdf0 chromium: Prefix $PATH with xdg_utils (#96922)
This is required for certain URIs that require launching external
programs (e.g. mailto:, magnet:, or irc:) or setting the default browser
via xdg-settings.
Fix #96897 and fix #92751.
2020-09-06 23:20:30 +02:00
Tethys Svensson 2927a19be3 chromium: Unblock nixos-unstable by using the correct argument to fetchurl 2020-09-06 14:54:42 +02:00
Alyssa Ross de69b705d2 chromium: replace update.nix with Python impl
update.nix was a huuuuge hack, abusing checksum collisions, etc., and
was extremely difficult to read and maintain, especially because
values from update.nix were also used in the derivations themselves!

I've replaced this with an implementation in Python, which I chose for
readability.  Rather than generating Nix, I chose to
generate JSON, since Python can do that in the standard library and
Nix can read it.

I also set update.py as an updateScript, so Chromium can now
automatically be updated!

Fixes: https://github.com/NixOS/nixpkgs/issues/89635
2020-09-05 11:20:13 +02:00
Michael Weiss 9a96d71f71 chromiumDev: Unbreak the build by using LLVM 11 2020-08-26 22:29:07 +02:00
Michael Weiss 25aed428aa chromium: Make the gnChromium overrides depend on the version
This is more robust than depending on the channel, though the version
should only matter if the configuration phase fails.
This also switches to the intended version for `chromium` which should
be higher since M85 is in the stable channel.

Thanks `@volth` for pointing this out.
2020-08-25 23:22:41 +02:00
f4814n 6e4d33a001 chromium: Add missing dependency on coreutils (#94578)
The script that runs chromium calls tr from coreutils - however
it just assumed that coreutils are in PATH.

With missing coreutils chromium did still launch (at least with
d433839007 applied) but emitted
`line 15: tr: command not found` error messages.
2020-08-03 17:58:41 +02:00
Michael Weiss 11fbe97810 chromium{Beta,Dev}: M84 -> M85 -> M86 (broken)
Mark chromiumDev as broken since the build requires LLVM 11 which is not
yet in Nixpkgs (due to the lack of an RC, see #93324). Build error:
clang (LLVM option parsing): Unknown command line argument '-basic-aa-recphi=0'.  Try: 'clang (LLVM option parsing) --help'
clang (LLVM option parsing): Did you mean '--basicaa-recphi=0'?
ninja: build stopped: subcommand failed.
2020-07-24 13:40:24 +02:00
Griffin Smith d433839007 chromium: Add missing dependency on gnugrep
The bin script that runs chromium calls out to gnugrep - but gnugrep is
missing as a runtime dependency of the chromium package. I found this
out when I was trying to put it in a docker image.
2020-07-17 18:33:43 +02:00
Domen Kožar 347ab190c7 remove usage of patchelfUnstable now that it's released 2020-07-08 21:55:09 +02:00
Florian Klink 495cf5fd17 Merge pull request #89565 from jsravn/enable-chromium-rtc-use-pipewire
chromium: add rtc_use_pipewire
2020-06-07 21:13:28 +02:00
Michael Weiss 029a5de083 chromiumDev: Fix the configuration phase
Relevant changes in M85:
- Upstream switched from YASM to NASM [0].
- third_party/binutils was removed [1].

Note: The gn and dev channel updates are optional.
cc #89615.

[0]: https://bugs.chromium.org/p/chromium/issues/detail?id=766721
[1]: https://github.com/chromium/chromium/commit/9869e86fd9079a6ab4ea23aa03d724580678b356
2020-06-06 19:38:53 +02:00
James Ravn 1535270d91 Add pipewire to runtime path 2020-06-06 17:08:39 +01:00
Michael Weiss cdd95a9625 chromium: 81.0.4044.138 -> 83.0.4103.61
https://chromereleases.googleblog.com/2020/05/stable-channel-update-for-desktop_19.html

This update includes 38 security fixes.

CVEs:
CVE-2020-6465 CVE-2020-6466 CVE-2020-6467 CVE-2020-6468 CVE-2020-6469
CVE-2020-6470 CVE-2020-6471 CVE-2020-6472 CVE-2020-6473 CVE-2020-6474
CVE-2020-6475 CVE-2020-6476 CVE-2020-6477 CVE-2020-6478 CVE-2020-6479
CVE-2020-6480 CVE-2020-6481 CVE-2020-6482 CVE-2020-6483 CVE-2020-6484
CVE-2020-6485 CVE-2020-6486 CVE-2020-6487 CVE-2020-6488 CVE-2020-6489
CVE-2020-6490 CVE-2020-6491
2020-05-19 23:55:32 +02:00
Michael Weiss 267eefcdb7 chromium: Build with VA-API but disable it by default
This makes it possible to enable VA-API without having to rebuild
Chromium: `chromium.override { enableVaapi = true; }`
2020-04-18 13:46:22 +02:00
Michael Weiss cb5c0a4bbc chromium{Beta,Dev}: M81 -> M83 -> M84 2020-04-17 13:44:45 +02:00
Michael Weiss ad3220f9ff chromiumDev: Override gn to fix the configuration phase
The configuration phase was failing due to:
```
configuring
ERROR at //BUILD.gn:1376:5: Unknown function.
    filter_exclude([ "$root_build_dir/foo" ],
    ^-------------
```
2020-04-06 12:52:52 +02:00
Artemis Tosini b3e1a1bbbb chromium: Add option to enable ozone (for Wayland) 2020-03-27 21:16:38 +00:00
Michael Weiss 1d961a4c6d chromiumDev: Fix the build
Building Chromium 82 requires LLVM 10 for the new argument
"-fintegrated-cc1". LLVM 9 fails with:
clang++: error: unknown argument: '-fintegrated-cc1'
2020-02-26 19:21:59 +01:00
Ivan Kozik af006f9ff3 chromium: fix enableWideVine for v79 which needs the manifest.json in WidevineCdm/ 2019-12-15 04:56:01 +00:00
Ivan Kozik 950230bc84 chromium: remove enableNaCl option
This hasn't worked since 2016 (https://github.com/NixOS/nixpkgs/issues/13983)
and is being removed very soon, per "Q4 2019" in
https://developer.chrome.com/native-client/migration

(It's staying around for "Chrome Apps", but those only run on ChromeOS now.)

earth.google.com users can use https://earth.google.com/web/?beta=1 to get
the wasm version instead of the PNaCl version.
2019-12-15 04:55:30 +00:00