# Workarounds the TOOLS ship, refreshed with every release. # # This file is REPLACED by `lfs build-system run` / `sync-tools`; put your own # choices in machine.conf instead, which is never overwritten and wins where # both mention the same key. [cairo] # Cairo 1.18.4 defines its own static ctime_r when it believes glibc lacks # it, then collides with the real one. c_args = -DHAVE_CTIME_R # NOTE: libassuan and libgpg-error used to carry --disable-doc here. That # flag does not exist in those packages (autotools accepts unknown # --disable-* silently), and the real cause was the book's own # `make -C doc pdf ps` line, which the generator now comments out. [gpgme] configure_args = --disable-gpg-test [vala] # valadoc needs Graphviz, which this desktop avoids. The book says so # itself: "--disable-valadoc: This option is required if Graphviz is not # installed." Without it: # configure: error: Package requirements (libgvc >= 2.16) were not met configure_args = --disable-valadoc # Dependencies the BOOK does not record but the build needs. `needs` is # added to that package's REQUIRED list, so the ordering places it. [libass] needs = harfbuzz [ffmpeg] # ffmpeg only RECOMMENDS libass, and both sit inside one big cycle in the # book's graph -- so the cycle-breaking was free to drop that edge and put # ffmpeg first: ERROR: libass >= 0.11.0 not found using pkg-config # ffmpeg's configure hard-requires it, so say so: a required edge is never # dropped. needs = libass [glycin] # glycin only RECOMMENDS librsvg and its meson hard-requires it: # ERROR: Dependency "librsvg-2.0" not found # Same shape as ffmpeg/libass -- both inside one cycle, so the recommended # edge was free to be dropped (glycin 197, librsvg 206). needs = librsvg [vulkan-loader] # its CMake scripts shell out to git to stamp a version: # FileNotFoundError: [Errno 2] No such file or directory: 'git' needs = git [mesa] # glslang: the Vulkan drivers machine.conf turns on need glslangValidator. # rust-bindgen: mesa runs it as soon as it FINDS a rust compiler, and since # rust is built here (for librsvg) that is always. The book's mesa page # lists neither. # libclc: radeonsi (machine.conf) builds the OpenCL bits, which need it. needs = glslang rust-bindgen libclc # fcron: the systemd book's page installs systemd units; on SysV there is no # unit directory to put them in. The SysV page says the same. [fcron] configure_args = --with-systemdsystemunitdir=no