Problem: “configure: error: libncurses, libcurses, libtermcap or
libtinfo is required!” local-build failure in vcpkg libedit compilation.
Cause: dfb2656 replaced the in-tree LibLine with libedit, which vcpkg
builds, and libedit’s configure needs system ncurses (or termcap/tinfo).
Fix: Add the ncurses dev package to dependency lists for distros that
ship it separately: libncurses-dev on Debian/Ubuntu, and ncurses-devel
on Fedora/openSUSE/Void — and into the dev-container install scripts.
(Arch and macOS already ship the necessary headers.)
Fixes https://github.com/LadybirdBrowser/ladybird/issues/9946
The distro version of CMake sometimes lags behind the required minimum
version of CMake, currently 3.30.0. This ensures that the latest
version is always installed.
After b1d708dd16, the Toolchain directory
was removed from the repository. Some documentation and scripts still
referenced it, so this commit removes those references. The only
remaining references are in the gitignore file, to prevent bisections
from being polluted by the presence of a Toolchain directory in the
working copy.
There's now an ENABLE_RUST CMake option (on by default).
Install Rust via rustup in devcontainer scripts, document the
requirement in build instructions, and add Cargo's target/ directory
to .gitignore.
This ensures that when we set an overlay port directory for building
the vcpkg cache, we set the default (and host) triplet to match the
triplet files we have in each directory.
The provided patchelf from vcpkg is only version 0.14.3, which is too
old to produce working binaries on Fedora 42. Using that old version
causes hard to debug issues where applications segfault during startup.
vcpkg requires this flag to be set when building on non-x86 Linux,
as they don't ship enough cached tools for those platforms.
Put another way, we must allow system-installed versions of tools
such as CMake, Ninja, and pkg-config into the vcpkg build process
on these platforms.
Update the base image and the feature images
Add new packages to the install.sh command
as they are now needed by some dependencies, that are built via vcpkg
Add newer clang version, but the default stays the same
This includes a few new options to the .clang-format configuration file
to A) adhere to option changes within clang-format 16 (namely the option
AlignTrailingComments), and B) enforce existing style guide rules with
new clang-format rules.
This commit adds a GitHub Workflow to prebuild the dev container file
present at .devcontainer/devcontainer.json. This prebuilt image is
pushed to GitHub Container Registry (ghcr).
An additional devcontainer.json is added consuming that image.
This dev container can be selected in editors that process dev
containers (ie GitHub Codespaces), to speed up time to editor.