Packagemanager-LFS-PackageUser-System git · main
Package-user based package manager for LFS/BLFS
Shell 63.7% Markdown 35.8%git clone https://git.christianimmanuel.de/linux-from-scratch/Packagemanager-LFS-PackageUser-System.gitwget https://git.christianimmanuel.de/linux-from-scratch/Packagemanager-LFS-PackageUser-System/archive/Packagemanager-LFS-PackageUser-System.tar.gzstacks/package-fixes.conf raw
# 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