Commit Graph

272 Commits

Author SHA1 Message Date
Michael Weiss
f8b837c808
ungoogled-chromium: 92.0.4515.159 -> 93.0.4577.82 2021-09-19 13:15:16 +02:00
Michael Weiss
186315def7
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.
2021-08-28 23:27:55 +02:00
Michael Weiss
403ce1a9a3
chromiumBeta: Build with LLVM 13 2021-08-12 22:50:11 +02:00
Michael Weiss
1e372f4004
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:
486e9d58c0
2021-08-04 17:59:00 +02:00
Felix Buehler
2ae5f1a6b8 chromium: remove phases 2021-08-03 23:23:01 +02:00
Michael Weiss
bb651d27fd
chromium: Fix the Ozone/Wayland support
The stable channel update to M92 (97570d30c7) 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)
2021-07-21 11:52:12 +02:00
Michael Weiss
97570d30c7
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).
2021-07-21 11:20:38 +02:00
sternenseemann
524aa1c87c 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.
2021-07-05 14:58:52 +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]: 9869e86fd9
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