Packages
624 packages, searchable and sortable. Every one of these already exists as a real, built LinuxDoors package.
| Package | Version | Category | Size | Downloads | |
|---|---|---|---|---|---|
procps-ng LFS ch8. LFS ch8. Skips the optional test suite. Bumped 4.0.6 -> 4.0.7 to track LFS 13.1's package set (sha256 from a real downloaded tarball). |
4.0.7 | System | 2.1 MB | 30 | Download PackageSource Download .tar.gz |
psmisc LFS ch8. LFS ch8. Skips the optional make check. |
23.7 | Core System | 380.0 KB | 26 | Download PackageSource Download .tar.gz |
pulseaudioNot in ISO PulseAudio 17.0 -- built almost entirely for its CLIENT libraries (libpulse, libpulse-mainloop-glib, libpulse-simple), which gnome-shell's bundled gvc volume widget hard-requires. PulseAudio 17.0 -- built almost entirely for its CLIENT libraries (libpulse, libpulse-mainloop-glib, libpulse-simple), which gnome-shell's bundled gvc volume widget hard-requires. Daemon modules mostly disabled; ALSA sink kept so it can actually play if used. This distro is otherwise ALSA-only. ship_in_iso=false, built on .101. |
17.0 | Libraries | 2.8 MB | 36 | Download PackageSource Download .tar.gz |
purposeNot in ISO KDE Frameworks 6 (6.29.0) / Kdenlive dependency. KDE Frameworks 6 (6.29.0) / Kdenlive dependency. Not in BLFS as its own page. ship_in_iso=false -- the whole Kdenlive stack is packages-only, kept out of linuxdoors.iso. ECM+CMake+Ninja, Qt6 from the deployed /opt/qt6-full, --libdir=lib for LinuxDoors' non-multiarch layout. |
6.31.0 | Libraries | 789.5 KB | 28 | Download PackageSource Download .tar.gz |
pycairo BLFS general/python-modules.html. BLFS general/python-modules.html. Recommended dependency of PyGObject3, part of the Phase 1.5 GTK3+PyGObject installer prerequisite chain. |
1.29.2 | Libraries | 138.3 KB | 28 | Download PackageSource Download .tar.gz |
pygobject3 BLFS general/python-modules.html. BLFS general/python-modules.html. Last prerequisite for the Phase 1.5 GTK3+PyGObject installer -- lets Python drive real GTK3 dialogs (disk picker, progress bar, confirmation screens) via `from gi.repository import Gtk`. Requires glib2 and gtk3 to both already be rebuilt with introspection enabled, and gobject-introspection itself already built. Depends on `glib2` in the manifest graph (for build ordering against a fresh checkout), but in practice also needs gtk3's introspection data present at runtime for the installer's own Gtk.Window/Gtk.Dialog usage -- gtk3 isn't a hard build-time dependency of PyGObject itself (only glib/gobject/gio), so it's not listed here, but must be rebuilt with introspection=true before the installer app can actually import Gtk. |
3.56.3 | Libraries | 432.6 KB | 28 | Download PackageSource Download .tar.gz |
pyside6 User-requested: PySide6 (Qt6 Python bindings), so a real PySide6 example app can run on LinuxDoors. User-requested: PySide6 (Qt6 Python bindings), so a real PySide6 example app can run on LinuxDoors. Not in BLFS. Builds shiboken6 (the C++-to-Python binding generator, needs libclang -- confirmed this project's own existing packages/llvm build already provides a real /usr/lib/libclang.so + /usr/include/clang-c headers via LLVM_ENABLE_PROJECTS=clang, built originally for the Firefox/Rust chain, so no new LLVM work needed) and PySide6 itself in one combined build (pyside-setup's own real, documented setup.py entry point -- confirmed directly from the real README.pyside6.md: `python setup.py install --qtpaths=<path>/qtpaths6`). Depends on packages/qt6-full (not qt6-base) and packages/qtwebengine specifically so the generated bindings include PySide6.QtWebEngineWidgets/QtWebEngineCore, matching the user's explicit ask for the webengine module to be available from Python too. Kept OUT of the ISO via ship_in_iso=false, same mechanism as gimp/audacity/qt6-base/qt6-full/qtwebengine -- download-only. Installs into the system Python's site-packages (matching pip-style installs elsewhere in this project) rather than a separate /opt prefix, since it's a Python module, not a standalone toolkit. Real build failure hit and fixed: pyside-setup's own build uses patchelf to bake the correct RPATH (pointing at /opt/qt6-full/lib) into the built shiboken6/PySide6 binaries -- a real, previously-unbuilt tool, added as packages/patchelf (small, standalone, no dependencies). |
6.12.0 | Development | 24.5 MB | 35 | Download PackageSource Download .tar.gz |
python LFS ch8, final build (ch7's python-tmp was a bootstrap version, built --without-ensurepip). LFS ch8, final build (ch7's python-tmp was a bootstrap version, built --without-ensurepip). This one does NOT disable ensurepip, so it should come with a working pip3 -- needed by flit-core/packaging/wheel/setuptools right after. Skips the optional test suite and the optional HTML docs install. Bumped to 3.14.8 (2026-10-03). Real build fix: OpenSSL 4.0.3 headers still declare SSLv3_method/TLSv1_method/TLSv1_1_method/TLSv1_2_method unconditionally, but their implementations were removed from the library (confirmed zero matches in openssl ssl/*.c source) -- a real upstream header/impl mismatch, not fixable via any openssl ./config flag (tried enable-tls1-method/enable-tls1_1-method, no effect; enable-ssl3-method is not even a valid Configure option). Fixed by defining the same guard macros _ssl.c itself checks (-DOPENSSL_NO_SSL3 -DOPENSSL_NO_SSL3_METHOD -DOPENSSL_NO_TLS1 -DOPENSSL_NO_TLS1_METHOD -DOPENSSL_NO_TLS1_1 -DOPENSSL_NO_TLS1_1_METHOD -DOPENSSL_NO_TLS1_2_METHOD) as CFLAGS, forcing _ssl.c to skip the dead symbols -- modern TLS 1.2/1.3 via the real SSLContext API (TLS_method() + min/max_version) is completely unaffected; only the long-deprecated explicit ssl.PROTOCOL_SSLv3/TLSv1/TLSv1_1/TLSv1_2 enum constants lose their old-style single-version pinning path. Also: the LFS book no longer lists any patch for Python 3.14.8 (the earlier Python-3.14.7-openssl_4-1.patch is gone) -- extra_sources cleared. |
3.14.8 | Development | 86.8 MB | 57 | Download PackageSource Download .tar.gz |
python-tmp LFS ch7, inside the chroot. LFS ch7, inside the chroot. Some optional modules (e.g. ssl) are expected to fail to build at this stage per the book -- only the top-level `make` needs to succeed. Superseded by chapter 8's full python build. |
3.14.7 | Toolchain | — | 0 | not yet builtSource Download .tar.gz |
python-xappNot in ISO linuxmint/python3-xapp -- the `xapp` Python module (xapp.os / xapp.settings / xapp.GSettingsWidgets). linuxmint/python3-xapp -- the `xapp` Python module (xapp.os / xapp.settings / xapp.GSettingsWidgets). Separate repo from the C `xapp` library. cinnamon-screensaver, cinnamon-settings and Cinnamon applets `import xapp`. Master branch snapshot @ 3.0.3. Cinnamon 6.4 desktop, ship_in_iso=false. |
3.0.3 | Libraries | 78.9 KB | 25 | Download PackageSource Download .tar.gz |
pyyaml Not in BLFS's own list -- same real build-time discovery as mako (mesa's meson.build also requires Python's yaml module). Not in BLFS's own list -- same real build-time discovery as mako (mesa's meson.build also requires Python's yaml module). Uses the pure-Python YAML parser (we haven't built libyaml, so no C extension speedup, which is fine for build-time-only usage). |
6.0.3 | Libraries | 816 B | 29 | Download PackageSource Download .tar.gz |
qcoroNot in ISO QCoro -- C++20 coroutines for Qt6. QCoro -- C++20 coroutines for Qt6. plasma-workspace/powerdevil (Plasma 6.7) require QCoro6. ship_in_iso=false, KDE Plasma chain. |
0.13.0 | Libraries | 208.4 KB | 22 | Download PackageSource Download .tar.gz |
qqc2-desktop-styleNot in ISO KDE Frameworks 6 (6.29) -- the 'org.kde.desktop' QtQuick Controls style, Kdenlive's default. KDE Frameworks 6 (6.29) -- the 'org.kde.desktop' QtQuick Controls style, Kdenlive's default. Without it Kdenlive's Splash.qml fails to load and Splash::Splash() segfaults on rootObjects().at(0) of an empty list (diagnosed via gdb on .101). ship_in_iso=false (Kdenlive stack = packages only). ECM+CMake+Ninja, Qt6 from /opt/qt6-full, --libdir=lib. |
6.31.0 | Libraries | 1.7 MB | 33 | Download PackageSource Download .tar.gz |
qrencodeNot in ISO libqrencode -- QR code generator. libqrencode -- QR code generator. KF6 Prison needs it for barcode rendering. ship_in_iso=false -- KDE Plasma is a Packages-page / Package Manager install, deliberately kept off linuxdoors.iso (XFCE + MATE are the shipped desktops). Built on .101 against the existing KF6 6.29 + Qt6 (/opt/qt6-full) stack from the Kdenlive work. |
4.1.1 | Libraries | 51.7 KB | 29 | Download PackageSource Download .tar.gz |
qt6-baseNot in ISO The lightweight of two Qt6 options (see also packages/qt6-full) -- just the qtbase submodule (QtCore/QtGui/QtWidgets/QtNetwork/etc, no QtDeclarative/QtSvg/QtMultimedia/QtWebEngine). The lightweight of two Qt6 options (see also packages/qt6-full) -- just the qtbase submodule (QtCore/QtGui/QtWidgets/QtNetwork/etc, no QtDeclarative/QtSvg/QtMultimedia/QtWebEngine). Real, standalone submodule tarball from download.qt.io (verified it exists and is genuinely just qtbase, not the 972MB qt-everywhere monolith) -- enough to run a basic PySide6 QtWidgets example app without the multi-hour full build. User-requested extra, kept OUT of the ISO via ship_in_iso=false (same mechanism as packages/gimp, packages/audacity) -- download-only. Installs to /opt/qt6-base per BLFS's own recommendation (installing Qt6 into /usr makes it hard to find components/upgrade later) -- a distinct prefix from qt6-full so both could coexist if ever installed together, though in practice a user picks one or the other. Build commands adapted from BLFS x/qt6.html's own ./configure invocation, applied to the qtbase-only source tree. |
6.11.2 | Development | 26.1 MB | 22 | Download PackageSource Download .tar.gz |
qt6-full BLFS x/qt6.html -- the full Qt-everywhere source tree (QtBase, QtDeclarative, QtSvg, QtMultimedia, QtWayland, QtQuick3D, etc). BLFS x/qt6.html -- the full Qt-everywhere source tree (QtBase, QtDeclarative, QtSvg, QtMultimedia, QtWayland, QtQuick3D, etc). The heavyweight of two Qt6 options (see also packages/qt6-base, the qtbase-only lightweight alternative) -- 972MB source, real BLFS-documented multi-hour build. Follows BLFS's own real commands verbatim: qt3d/qtquick3dphysics/qtopcua removed (the book's own reasoning -- qt3d needs external libs this project doesn't have, qtquick3dphysics fails on 32-bit which is irrelevant here but kept for fidelity, qtopcua breaks against OpenSSL 3/4). qtwebengine is deliberately NOT removed from the source tree here (unlike the book, which drops it since it's genuinely a separate submodule/package -- see packages/qtwebengine, which depends on this package and is built as its own follow-on afterward against this installed Qt6). Installs to /opt/qt6-full (BLFS's own recommendation against installing into /usr). User-requested extra, kept OUT of the ISO via ship_in_iso=false (download-only, same mechanism as gimp/audacity/qt6-base). Cups and ICU included as real dependencies since both were already built in this project (Cups for BLFS/LinuxUltraOffice printing, ICU for the Chromium/Firefox chain) and Qt6 picks them up as real recommended features when present. Real operational note: because ship_in_iso=false means this package's destdir is never rsynced onto the live $LFS, packages/qtwebengine and packages/pyside6 -- which both genuinely need a real, usable Qt6 install inside the chroot at build time (qt-cmake, moc, uic, etc, not just a zip) -- needed a one-off manual `rsync -a .../qt6-full/destdir/ /mnt/lfs/` to temporarily make it available, with `/mnt/lfs/opt/qt6-full` removed again once those follow-on builds finished so it never leaks into a real ISO build. |
6.12.0 | Development | 127.4 MB | 43 | Download PackageSource Download .tar.gz |
qterminalNot in ISO LXQt's terminal emulator (built on qtermwidget). LXQt's terminal emulator (built on qtermwidget). LXQt 2.4 minimal-but-real desktop stack, ship_in_iso=false (Packages-page / Package Manager install only, like KDE Plasma). Built on .101 against /opt/qt6-full + KF6 6.29. cmake/meson --libdir=lib for LinuxDoors' non-multiarch layout. |
2.4.0 | Libraries | 462.6 KB | 31 | Download PackageSource Download .tar.gz |
qtermwidgetNot in ISO Terminal-emulator widget library (fork of Konsole's kpty/TerminalDisplay). Terminal-emulator widget library (fork of Konsole's kpty/TerminalDisplay). LXQt 2.4 minimal-but-real desktop stack, ship_in_iso=false (Packages-page / Package Manager install only, like KDE Plasma). Built on .101 against /opt/qt6-full + KF6 6.29. cmake/meson --libdir=lib for LinuxDoors' non-multiarch layout. |
2.4.0 | Libraries | 397.0 KB | 25 | Download PackageSource Download .tar.gz |
qtwaylandNot in ISO Qt 6 Wayland add-on module (Qt6WaylandClient / Qt6WaylandCompositor). Qt 6 Wayland add-on module (Qt6WaylandClient / Qt6WaylandCompositor). The prebuilt /opt/qt6-full was built X11-only; KF6 kguiaddons/kwindowsystem (KWaylandExtras) and Plasma's kwayland/layer-shell-qt/kwin all need it, even for the X11 Plasma session. Installs into /opt/qt6-full. ship_in_iso=false -- KDE Plasma is a Packages-page / Package Manager install, deliberately kept off linuxdoors.iso (XFCE + MATE are the shipped desktops). Built on .101 against the existing KF6 6.29 + Qt6 (/opt/qt6-full) stack from the Kdenlive work. |
6.12.0 | Libraries | 1.6 MB | 22 | Download PackageSource Download .tar.gz |
qtwebengine BLFS x/qtwebengine.html -- Chromium's rendering engine embedded in Qt (genuinely Chromium-scale: BLFS's own estimate is 12GB disk, 44 SBU build time). BLFS x/qtwebengine.html -- Chromium's rendering engine embedded in Qt (genuinely Chromium-scale: BLFS's own estimate is 12GB disk, 44 SBU build time). User-requested addition to the Qt6 package set, built as its OWN separate package against the already-installed packages/qt6-full (a real separate submodule tarball, not part of qt-everywhere -- confirmed directly from the book). Kept OUT of the ISO via ship_in_iso=false, same as qt6-base/qt6-full/gimp/audacity. Real dependency chain confirmed against the live book: required deps html5lib (pip-installed inline, a tiny pure-Python package, not worth its own LinuxDoors package entry), nodejs, nss, pciutils, rust-bindgen, Cups, and Qt6 itself -- nodejs/nss/rust-bindgen were already built for this project's earlier Chromium/Firefox chain work, and icu/cups/pciutils were likewise already present, so the only genuinely new dependency is html5lib. Deliberately does NOT force QT_FEATURE_webengine_system_ffmpeg=ON or QT_FEATURE_webengine_webrtc_pipewire=ON the way the book's own literal command does -- this project has neither a system ffmpeg nor pipewire package built, and forcing those flags ON would hard-fail configure (same class of gotcha hit repeatedly in the GIMP dependency chain: an explicit =ON feature flag needs the real library present, no auto-fallback). Left at their default (auto) instead, which falls through to QtWebEngine's own bundled/vendored copies of ffmpeg and WebRTC internals within its Chromium-derived third_party/ tree -- the same 'build using the vendored copy rather than pre-building every codec library separately' approach that already worked cleanly for this project's real ungoogled-chromium build. QT_FEATURE_webengine_system_icu=ON is kept (a real freebie -- ICU is already built) and QT_FEATURE_webengine_proprietary_codecs=ON is kept (H.264/AAC support, a compile-time flag with no extra package cost). Real operational gotcha hit and worth remembering: since qt6-full itself has ship_in_iso=false, its destdir is never rsynced onto the live $LFS by the normal engine flow -- but qtwebengine's own build genuinely needs a real, usable Qt6 install inside the chroot at build time (qt-cmake, moc, uic, etc.), not just a downloadable zip. Fixed by manually rsync-ing qt6-full's already-captured destdir (/mnt/lfs/build-tmp/qt6-full/destdir/) onto the live $LFS directly (bypassing the engine, a one-off `rsync -a .../destdir/ /mnt/lfs/`) just long enough to build qtwebengine and pyside6 against it, then removing /mnt/lfs/opt/qt6-full again afterward so it never leaks into a real ISO build. A second real gotcha, hit while polling this exact build: `pgrep -f` matches the FULL command line of every process, including the poller's OWN invoking shell if the search pattern text appears in it -- an unbracketed `pgrep -f 'qt6-full/build.sh'` falsely reported the qt6-full build as 'still running' for 4+ hours after it had genuinely finished (ground truth: destdir file count stable, qmake6/qtpaths6 present with real timestamps matching the log's last-write time, zero real ninja/cc1plus/make processes in the actual process tree). Same failure class already documented elsewhere in this project for `pkill -f`. Fixed by bracketing the pattern's first character (`[q]twebengine/build.sh`) in the poller used for this build. A third real gotcha, caught by an actual build failure: Qt6's own tools (qtpaths, moc, uic, ...) installed under /opt/qt6-full can't find their own shared libraries at runtime ('libQt6Core.so.6: cannot open shared object file') since that prefix was never added to the dynamic linker's search path -- fixed with `export LD_LIBRARY_PATH=/opt/qt6-full/lib:$LD_LIBRARY_PATH` in build.sh (same fix applied to packages/pyside6 proactively, since it depends on the same tools). 2026-10-10: rebuilt as 6.11.2-1 against Qt 6.12.0 (QtWebEngine 6.12 is not released yet; BLFS pairs QtWebEngine 6.11.2 with Qt 6.12.0 the same way). |
6.11.2-1 | Development | 159.3 MB | 35 | Download PackageSource Download .tar.gz |
qtxdg-toolsNot in ISO Runtime companion CLI (qtxdg-mat) for libqtxdg's default-app / mime handling. Runtime companion CLI (qtxdg-mat) for libqtxdg's default-app / mime handling. LXQt 2.4 minimal-but-real desktop stack, ship_in_iso=false (Packages-page / Package Manager install only, like KDE Plasma). Built on .101 against /opt/qt6-full + KF6 6.29. cmake/meson --libdir=lib for LinuxDoors' non-multiarch layout. |
4.4.0 | Libraries | 34.5 KB | 24 | Download PackageSource Download .tar.gz |
readline LFS ch8. LFS ch8. Skips the optional doc/*.{ps,pdf,html,dvi} install step (not always fully generated, and not essential). Security/update pass 2026-10-14. Upstream patch level 6 (readline83-001..006) applied in build.sh; 001 replaces the LFS input.c sed. readline-8.3.tar.gz sha256 pinned (md5 matches the LFS 13.1 md5sums list). |
8.3.6 | Core System | 891.0 KB | 29 | Download PackageSource Download .tar.gz |
rust-bindgen Real gap found while building packages/ungoogled-chromium with real Rust wired in for the first time (rust_sysroot_absolute=/opt/rustc-chromium): ninja failed wanting '../../third_party/rust-toolchain/bin/bindgen', a... Real gap found while building packages/ungoogled-chromium with real Rust wired in for the first time (rust_sysroot_absolute=/opt/rustc-chromium): ninja failed wanting '../../third_party/rust-toolchain/bin/bindgen', a SEPARATE GN arg (rust_bindgen_root, build/config/rust.gni) from rust_sysroot_absolute -- Chromium's own Rust toolchain bundles bindgen-cli + rustfmt + libclang together under third_party/rust-toolchain, but rust_sysroot_absolute only covers the rustc/cargo/std side. bindgen itself is not part of the Rust distribution at all -- it's a real, independent crates.io tool (rust-lang/rust-bindgen, the C/C++-header-to-Rust-FFI-bindings generator), confirmed via crates.io's own API (max_stable_version 0.72.1) rather than guessed. Built here via `cargo install bindgen-cli --locked --root <destdir>/opt/rust-bindgen-tools`, using this project's own already-built rustc/cargo (packages/rustc, 1.97.1 -- bindgen-cli's own MSRV is well below that) and clang-chromium's libclang.so (LIBCLANG_PATH, since bindgen-cli's own build links against libclang via the clang-sys crate) rather than trying to build a fourth LLVM/clang from scratch. Chromium's build/rust/rust_bindgen.gni expects rust_bindgen_root to contain bin/bindgen, bin/rustfmt, and lib/ (for libclang) all under ONE root -- rustfmt and libclang aren't produced by this package's own build, so build.sh symlinks them in from packages/rustc (/opt/rustc/bin/rustfmt) and packages/clang-chromium (/opt/clang-chromium/lib) respectively, both of which already exist permanently on the real system by the time ungoogled-chromium builds (declared as this package's own real deps). packages/ungoogled-chromium/build.sh then sets rust_bindgen_root="/opt/rust-bindgen-tools" in args.gn -- an absolute-path override of the same kind already proven working for rust_sysroot_absolute. |
0.72.1 | Libraries | 3.0 MB | 27 | Download PackageSource Download .tar.gz |
rustc BLFS general/rust.html. BLFS general/rust.html. Foundational piece for real Firefox (user's explicit 'reopen the Rust question' direction). Downloads a prebuilt stage0 bootstrap binary at build time (standard rustc bootstrap, requires the chroot to reach the internet -- confirmed working since the DHCP/networking fix). Installs to /opt/rustc-1.97.1 with a /opt/rustc symlink, NOT /usr -- this is the book's own convention (rustc ships its own toolchain layout), so downstream packages (Firefox) need /opt/rustc/bin on PATH. Uses DESTDIR="$PKG_DESTDIR" ./x.py install like every other destdir-capture package in this project; if x.py's installer doesn't honor DESTDIR the way autotools/cmake do, this needs revisiting after a real build attempt (see CLAUDE.md's verify-against-real-build discipline). |
1.99.0 | Development | 105.7 MB | 34 | Download PackageSource Download .tar.gz |