Turns out Ubuntu 20.04 has both `libenchant` and `libenchant-2`.
To keep compiling against `libenchant` everywhere it exists,
we change the `aptIfElse` helper method to pick one or another.
This patch:
* fixes bash script bug: at least in bash 5, assignment to a **local**
variable overwrites the `$?` code, so the following condition is never true.
* adds the `libenchant-2-dev` library
Pretty diff: ff6e976044
The 2e331715ff introduced
universal webkit build and tried re-using archive deduping technique
across all our regular JHBuild-based builds.
However, this turns out to be too aggressive and doesn't work. At least
on Ubuntu 18.04:
- `minibrowser-gtk/minibrowser` is identical to
`minibrowser-wpe/minibrowser`
- WPE gets symlinked into GTK
- Thus we now always start headed
This patch:
* removes "deterministic" argument from `rdfind` on Ubuntu 18.04.
`rdfind` is a new addition, but it's nice to have since it saves 10%
of the archive size.
* drops `stdc++fs` from dependencies. This doesn't seem to be necessary
for JHBuild but breaks universal build.
Pretty diff: 256392e8c4
Turns out default GnuTLS on Ubuntu 18.04 is 3.5.18, so we should
use OpenSSL.
The glib-networking backend selector condition is thus incorrectly
compares version triplets.
* `clip` option is always passed from the client code
* with this change, we can no longer capture screenshot of a blinking
caret; the browser-side API doesn't have this capability.
This roll:
- NetworkObserver now uses the `remote's` ChannelEventSink layer to
subscribe to redirects.
- Wheel events now must be dispatched from browser process.
- There's a new API for console messages
- The old methods to wait for search service and addon manager no longer
work; speculatively remove them since neither `remote` nor
`marionette` have anything like this.
Native manual merge: 9e6fcfd868
This patch:
- Uses some folder in `CWD` instead of `/tmp` on win32 to store
builds
- Drops usage of `find`, `zip` and `unzip` posix tools. Instead, rely
on `adm-zip` package.
WebKit switched to workspace builds by default upstream in c67ee46115 and Playwright.app project (forked from MiniBrowser.app xcode project) was not a part of the workspace. This PR:
* Adds Tools/Playwright project to the WebKit workspace;
* Adds WebKit.framework to the list of dependencies of Playwright.app (I managed to successfully build without this modification but decided to added to be on the safe side as that was done upstream too);
* Removes `--no-use-workspace` in order to use workspace build mode which is the default upstream.
Pretty-diff: 75f1e79447
Currently, Mac WebKit builds are failing in CI. It seems this is a regression in upstream WebKit as I'm able to reproduce it in my local environment.
The error is the following:
```
usr/bin/codesign --force --sign - --timestamp\=none --preserve-metadata\=identifier,entitlements,flags --generate-entitlement-der /Users/playwright/webkit/WebKitBuild/Release/InjectedBundleTestWebKitAPI.bundle/Contents/Resources/WebKit.framework
/Users/playwright/webkit/WebKitBuild/Release/InjectedBundleTestWebKitAPI.bundle/Contents/Resources/WebKit.framework: replacing existing signature
/Users/playwright/webkit/WebKitBuild/Release/InjectedBundleTestWebKitAPI.bundle/Contents/Resources/WebKit.framework: unsealed contents present in the root directory of an embedded framework
Command CodeSign failed with a nonzero exit code
```
Bisecting the regression it seems the build started failing on [r295496](https://trac.webkit.org/changeset/295496/webkit)
This changeset also introduced a new flag, _--no-use-workspace__, which allows to build not using WebKit.xcworkspace (I understand this is how builds were done before this changeset). Building with _--no-use-workspace_ fixes builds for Mac.