nixpkgs/pkgs/applications/networking/browsers/chromium
Michael Weiss 351f3c043d
chromiumDev: Fix the build (libxshmfence is now required)
Error:
../../components/viz/service/display_embedder/output_presenter_x11.cc:8:10:
fatal error: 'X11/xshmfence.h' file not found
         ^~~~~~~~~~~~~~~~~
1 error generated.
2020-12-25 10:22:06 +01:00
..
patches chromium: Drop the libwebp include patch 2020-10-15 14:33:15 +02:00
browser.nix ungoogled-chromium: Move ungoogled-src.nix into upstream-info.json 2020-12-10 17:41:22 +01:00
common.nix chromiumDev: Fix the build (libxshmfence is now required) 2020-12-25 10:22:06 +01:00
default.nix ungoogled-chromium: Support enableWideVine=true 2020-12-22 13:35:40 +01:00
plugins.nix flashplayer: 32.0.0.453 -> 32.0.0.465 2020-12-08 21:12:29 +09:00
README.md chromium/doc: mention chromedriver when updating 2020-11-26 00:19:08 -08:00
ungoogled.nix ungoogled-chromium: Merge back into chromium 2020-12-10 17:41:11 +01:00
update.py ungoogled-chromium: Support enableWideVine=true 2020-12-22 13:35:40 +01:00
upstream-info.json ungoogled-chromium: Support enableWideVine=true 2020-12-22 13:35:40 +01:00

Maintainers

  • TODO: We need more maintainers:
    • https://github.com/NixOS/nixpkgs/issues/78450
    • If you just want to help out without becoming a maintainer:
      • Look for open Nixpkgs issues or PRs related to Chromium
      • Make your own PRs (but please try to make reviews as easy as possible)
  • Primary maintainer (responsible for updating Chromium): @primeos
  • Testers (test all stable channel updates)
    • nixos-unstable:
      • x86_64: @danielfullmer
      • aarch64: @thefloweringash
    • Stable channel:
      • x86_64: @Frostman
  • Other relevant packages:
    • chromiumBeta and chromiumDev: For testing purposes (not build on Hydra)
    • google-chrome, google-chrome-beta, google-chrome-dev: Updated via Chromium's upstream-info.json
    • ungoogled-chromium: Based on chromium (the expressions are regularly copied over and patched accordingly)

Upstream links

Updating Chromium

Simply run ./pkgs/applications/networking/browsers/chromium/update.py to update upstream-info.json. After updates it is important to test at least nixosTests.chromium (or basic manual testing) and google-chrome (which reuses upstream-info.json).

After updating, please also update pkgs/development/tools/selenium/chromedriver/default.nix to a matching version.

Backports

All updates are considered security critical and should be ported to the stable channel ASAP. When there is a new stable release the old one should receive security updates for roughly one month. After that it is important to mark Chromium as insecure (see 69e4ae56c4b for an example; it is important that the tested job still succeeds and that all browsers that use upstream-info.json are marked as insecure).

Major version updates

Unfortunately, Chromium regularly breaks on major updates and might need various patches. Either due to issues with the Nix build sandbox (e.g. we cannot fetch dependencies via the network and do not use standard FHS paths) or due to missing upstream fixes that need to be backported.

Good sources for such patches and other hints:

If the build fails immediately due to unknown compiler flags this usually means that a new major release of LLVM is required.

Beta and Dev channels

Those channels are only used to test and fix builds in advance. They may be broken at times and must not delay stable channel updates.