Configure currently fails with:
CMake Error at Meta/CMake/utils.cmake:207 (file):
file RENAME failed to rename
.../src/ladybird/Libraries/LibHTTP/Build/caches/HSTSPreload/transport_security_state_static.json.tmp
to
.../src/ladybird/Libraries/LibHTTP/Build/caches/HSTSPreload/transport_security_state_static.json
because: No such file or directory
Cause: the PKGBUILD passes a relative -DLADYBIRD_CACHE_DIR=Build/caches. CMake resolves
relative paths differently per file() sub-command: file(DOWNLOAD) writes relative to the
process CWD ($srcdir, from cd "${srcdir}" in build()), while file(RENAME) resolves against
CMAKE_CURRENT_SOURCE_DIR (here Libraries/LibHTTP). So the .tmp lands in
$srcdir/Build/caches/HSTSPreload/ while the rename looks for it under
$srcdir/ladybird/Libraries/LibHTTP/Build/caches/HSTSPreload/.
This was latent until upstream switched download_file_multisource() to a download-to-.tmp-then-rename scheme; it's now a hard error. Upstream's own default for this variable is absolute (${PROJECT_BINARY_DIR}/../caches in Meta/CMake/cmake_options.cmake).
One-line fix:
- -DLADYBIRD_CACHE_DIR=Build/caches \
+ -DLADYBIRD_CACHE_DIR="${srcdir}/Build/caches" \
Verified locally: configure completes and the JSON lands correctly in $srcdir/Build/caches/HSTSPreload/.
Note for anyone who already hit this: you need makepkg -C. HSTS_PRELOAD_PATH is a cached
PATH entry, so a stale src/build/CMakeCache.txt holds the old relative value and reproduces
the error even after the PKGBUILD is fixed.
Pinned Comments
CxByte commented on 2025-07-10 01:47 (UTC)
A note since this package now builds with the system libs: skia has to be installed and available through pkg-conf;
skia-staticprovides the specific version (and a pkg-conf file) needed by this build.