nixpkgs/pkgs/applications/networking/browsers
Michael Weiss d932886d6e
chromium: Fix the build
The build was failing with the following error:
```
[18950/51180] SOLINK ./libvk_swiftshader.sotls_transport_interface/dtls_transport_interface.omputils.o[K.otch.oos.oKx/unbundle:default)fault)ault)
FAILED: libvk_swiftshader.so libvk_swiftshader.so.TOC
python3 "../../build/toolchain/gcc_solink_wrapper.py" --readelf="readelf" --nm="nm"  --sofile="./libvk_swiftshader.so" --tocfile="./libvk_swiftshader.so.TOC" --output="./libvk_swiftshader.so" -- clang++ -shared -Wl,-soname="libvk_swiftshader.so" -Wl,-Bsymbolic -Wl,--version-script=../../third_party/swiftshader/src/Vulkan/vk_swiftshader.lds -fuse-ld=lld -Wl,--fatal-warnings -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--icf=all -Wl,--color-diagnostics -Wl,-mllvm,-instcombine-lower-dbg-declare=0 -flto=thin -Wl,--thinlto-jobs=all -Wl,--thinlto-cache-dir=thinlto-cache -Wl,--thinlto-cache-policy=cache_size=10\%:cache_size_bytes=40g:cache_size_files=100000 -Wl,-mllvm,-import-instr-limit=30 -fwhole-program-vtables -Wl,--no-call-graph-profile-sort -m64 -no-canonical-prefixes -Wl,-O2 -Wl,--gc-sections -rdynamic -Wl,-z,defs -Wl,--as-needed -nostdlib++ -Wl,--lto-O0 -fsanitize=cfi-vcall -fsanitize=cfi-icall -o "./libvk_swiftshader.so" @"./libvk_swiftshader.so.rsp"
ld.lld: error: unable to find library -l:libffi_pic.a
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```

This turned out to be a regression from b6b51374fc. That change was
bad/undesirable in the first place and I only applied it to quickly fix
another build error caused by incompatible wayland-protocols header
files from a newer system version (Chromium bundles version 1.21 while
we already package 1.26).

The better fix for that wayland-protocols build issue is to pull in a
patch that is already used/tested by the Arch package [0] and seems to
originate from [1] (not sure if that patch was formally submitted yet).

Alternatives to that patch would be to (we should probably first try the
first approach if need be):
1) Build with wayland-protocols 1.21 from the system (by overriding the
   Nixpkgs package).
2) Dynamically link against libffi by patching [2] to use the other
   branch (`default_toolchain == "//build/toolchain/cros:target"`).

Some additional details can be found in the GitHub PR [3].
Huge thanks to Lorenz Brun for his great analysis that enabled me to fix
the build so that we can finally merge the update to Chromium M105
(which contains many important security fixes!).

[0]: a353833a5a
[1]: https://bugs.chromium.org/p/angleproject/issues/detail?id=7582#c1
[2]: https://source.chromium.org/chromium/chromium/src/+/refs/tags/105.0.5195.52:build/config/linux/libffi/BUILD.gn
[3]: https://github.com/NixOS/nixpkgs/pull/189033

Co-Authored-By: Lorenz Brun <lorenz@brun.one>
2022-09-02 23:34:18 +02:00
..
amfora
asuka asuka: 0.8.3 -> 0.8.5 2022-05-26 10:40:49 -04:00
av-98
bombadillo
brave treewide: inject xdg-open into wrappers as $PATH suffix 2022-08-19 13:11:27 -05:00
browsh browsh: 1.6.4 -> 1.8.0 2022-07-23 14:25:11 -07:00
captive-browser maintainers: remove volth 2022-06-29 00:52:12 +02:00
castor castor: 0.8.18 -> 0.9.0 2022-06-05 08:50:44 -05:00
chromium chromium: Fix the build 2022-09-02 23:34:18 +02:00
dillo dillo: 3.0.5 -> 2021-02-09 2022-08-18 23:44:54 -03:00
elinks elinks: 0.15.0 -> 0.15.1 2022-08-01 13:48:06 +00:00
eolie
ephemeral
firefox firefox-unwrapped: 104.0 -> 104.0.1 2022-08-30 02:38:19 +02:00
firefox-bin firefox-devedition-bin-unwrapped: 104.0b10 -> 105.0b4 2022-08-30 02:41:34 +02:00
gmni
google-chrome treewide: inject xdg-open into wrappers as $PATH suffix 2022-08-19 13:11:27 -05:00
kristall
ladybird ladybird: init at unstable-2022-07-20 2022-07-26 17:26:34 +02:00
lagrange lagrange: 1.13.6 -> 1.13.7 2022-06-30 06:16:37 +00:00
librewolf librewolf: 103.0.1-2 -> 104.0-1 2022-08-27 12:50:50 -07:00
links2 links2: 2.25 -> 2.27 2022-07-31 19:14:21 +00:00
luakit
lynx
microsoft-edge Merge pull request #175158 from kuwii/dev/microsoft-edge 2022-06-19 01:34:05 +02:00
midori
netsurf netsurf.libutf8proc: fix URL 2022-05-14 18:45:35 -03:00
nyxt
offpunk treewide: makeWrapper buildInputs to nativeBuildInputs 2022-08-16 13:14:19 +03:00
opera opera: 84.0.4316.42 -> 90.0.4480.48 2022-08-20 22:54:07 +00:00
palemoon palemoon: 31.1.1 -> 31.2.0.1 2022-08-04 13:53:08 +02:00
qtchan treewide/meta: Remove chiiruno and replace with Madouura (#169096) 2022-04-18 02:13:36 +03:00
qutebrowser qutebrowser: 2.5.1 -> 2.5.2 2022-06-26 04:31:11 +00:00
surf surf: enable audio & video support 2022-06-29 21:08:03 +03:00
telescope telescope: 0.7.1 → 0.8.1 2022-05-26 00:03:06 +03:00
tor-browser-bundle-bin tor-browser-bundle-bin: 11.5 -> 11.5.1 2022-07-27 18:51:03 +02:00
vieb yarn2nix: change yarnFlags to append by default 2022-07-24 16:18:09 +02:00
vimb vimb: 3.3.0 -> 3.6.0 2022-05-08 17:12:00 +02:00
vivaldi vivaldi: 5.4.2753.33-1 -> 5.4.2753.37-1 2022-08-17 23:42:42 +08:00
w3m
webmacs
yandex-browser yandex-browser: mark meta.sourceProvenance 2022-06-13 18:55:15 +08:00