Successfully built Mesa!

Special thanks to L3m0n-Cao for helping me set up the Python build environment!
This commit is contained in:
Alexander Hill 2025-07-18 23:03:00 -04:00
parent 872a8c617e
commit 9a562846c0
6 changed files with 1070 additions and 70 deletions

1
.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
*.patch text eol=lf

View File

@ -54,12 +54,13 @@ cd llvm-project-*/
# Python 3.9 for a while, but that's not a sustainable solution long-term.
# ~ahill
# See also: https://peps.python.org/pep-0644/
cmake -B stage1 -G Ninja -S llvm \
cmake -B stage1 -G Ninja -S llvm \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$MAPLE/maple/tools \
-DCLANG_DEFAULT_CXX_STDLIB=libc++ \
-DCLANG_DEFAULT_RTLIB=compiler-rt \
-DCLANG_DEFAULT_UNWINDLIB=libunwind \
-DCLANG_VENDOR=Maple \
-DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \
-DLIBCXX_CXX_ABI=libcxxabi \
-DLIBCXX_HAS_MUSL_LIBC=ON \
@ -98,6 +99,7 @@ LLVM=1 make -j $THREADS headers_install INSTALL_HDR_PATH=$MAPLE/usr
cd ..
# musl Build
# FIXME: CVE-2025-26519
tar xf ../sources/musl-*.tar*
cd musl-*/
./configure --disable-static --includedir=/usr/include --prefix=""
@ -328,11 +330,13 @@ echo "set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)" >> $TOOLCHAIN_FILE
# See also: https://github.com/llvm/llvm-project/issues/60687
cmake -B stage2 -G Ninja -S llvm \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$MAPLE/usr \
-DCMAKE_TOOLCHAIN_FILE=$(pwd)/$TOOLCHAIN_FILE \
-DCLANG_DEFAULT_CXX_STDLIB=libc++ \
-DCLANG_DEFAULT_RTLIB=compiler-rt \
-DCLANG_DEFAULT_UNWINDLIB=libunwind \
-DCMAKE_INSTALL_LIBDIR=$MAPLE/lib \
-DCMAKE_INSTALL_PREFIX=$MAPLE/usr \
-DCMAKE_INSTALL_RPATH=/lib \
-DCMAKE_TOOLCHAIN_FILE=$(pwd)/$TOOLCHAIN_FILE \
-DCLANG_VENDOR=Maple \
-DCOMPILER_RT_BUILD_GWP_ASAN=OFF \
-DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \
@ -346,7 +350,8 @@ cmake -B stage2 -G Ninja -S llvm \
-DLLVM_BUILD_LLVM_DYLIB=ON \
-DLLVM_ENABLE_LIBCXX=ON \
-DLLVM_ENABLE_LLD=ON \
-DLLVM_ENABLE_PROJECTS="clang;lld;lldb;llvm" \
-DLLVM_ENABLE_PROJECTS="clang;libclc;lld;lldb;llvm" \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_RUNTIMES="compiler-rt;libunwind;libcxxabi;libcxx" \
-DLLVM_ENABLE_ZSTD=OFF \
-DLLVM_HOST_TRIPLE=$HOST \

View File

@ -31,6 +31,8 @@ cd libressl-*/
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
# NOTE: No need to hide what we're using. ~ahill
ln -s openssl /bin/libressl
cd ..
# bzip2 Build
@ -113,6 +115,46 @@ make -j $THREADS
make -j $THREADS install
cd ..
# Autoconf Build
tar xf ../sources/autoconf-*.tar*
cd autoconf-*/
./configure \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
cd ..
# Automake Build
tar xf ../sources/automake-*.tar*
cd automake-*/
./configure \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
cd ..
# libtool Build
tar xf ../sources/libtool-*.tar*
cd libtool-*/
./configure \
--disable-static \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
cd ..
# cURL Build
tar xf ../sources/curl-*.tar*
cd curl-*/
@ -144,7 +186,7 @@ cd cmake-*/
--bindir=/bin \
--datadir=/usr/share/cmake-4.0 \
--parallel=$THREADS \
--prefix=/usr \
--prefix=/ \
--system-bzip2 \
--system-curl \
--system-expat \
@ -734,6 +776,662 @@ make -j $THREADS
make -j $THREADS install
cd ..
# X.Org Utility Macros Build
tar xf ../sources/macros-util-macros-*.tar*
cd macros-util-macros-*/
./autogen.sh \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
# NOTE: make claims that there's nothing to do for the build... so we just
# don't. ~ahill
make -j $THREADS install
cd ..
# libxtrans Build
tar xf ../sources/libxtrans-xtrans-*.tar*
cd libxtrans-xtrans-*/
./autogen.sh \
--disable-docs \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
# NOTE: Once again, make does nothing. ~ahill
make -j $THREADS install
cd ..
# xorgproto Build
tar xf ../sources/xorgproto-xorgproto-*.tar*
cd xorgproto-xorgproto-*/
muon setup -Dprefix=/usr build
muon -C build install
cd ..
# libffi Build
tar xf ../sources/libffi-*.tar*
cd libffi-*/
./configure \
--disable-static \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
cd ..
# Python Build
# NOTE: I don't like how we're using an old version of Python, but it'll have to
# do because it's the last version that supports LibreSSL. ~ahill
# See also: https://peps.python.org/pep-0644/
# NOTE: Python will not build _ctypes if libffi is not present. ~ahill
tar xf ../sources/Python-*.tar*
cd Python-*/
./configure \
--enable-optimizations \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
cd ..
# xcbproto Build
tar xf ../sources/xcbproto-xcb-proto-*.tar*
cd xcbproto-xcb-proto-*/
./autogen.sh \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
cd ..
# libXau Build
tar xf ../sources/libxau-libXau-*.tar*
cd libxau-libXau-*/
muon setup -Dprefix=/usr build
muon samu -C build
muon -C build install
cd ..
# libxcb Build
tar xf ../sources/libxcb-libxcb-*.tar*
cd libxcb-libxcb-*/
./autogen.sh \
--disable-static \
--enable-year2038 \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
cd ..
# libX11 Build
tar xf ../sources/libx11-*.tar*
cd libx11-*/
# NOTE: Disabling xsltproc and xmlto is the only way I've found to disable
# documentation. ~ahill
# NOTE: For some reason, autoconf attempts to pipe C code into the preprocessor
# without passing -, so setting ac_cv_path_RAWCPP fixes that. ~ahill
ac_cv_path_RAWCPP="clang -E -" ./autogen.sh \
--disable-static \
--enable-year2038 \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc \
--without-xsltproc \
--without-xmlto
make -j $THREADS
make -j $THREADS install
cd ..
# Pixman Build
tar xf ../sources/pixman-*.tar*
cd pixman-*/
muon setup -Dprefix=/usr build
muon samu -C build
muon -C build install
cd ..
# libxkbfile Build
tar xf ../sources/libxkbfile-libxkbfile-*.tar*
cd libxkbfile-libxkbfile-*/
muon setup -Dprefix=/usr build
muon samu -C build
muon -C build install
cd ..
# FreeType Build
tar xf ../sources/freetype-*.tar*
cd freetype-*/
muon setup -Dprefix=/usr build
muon samu -C build
muon -C build install
cd ..
# font-util Build
tar xf ../sources/util-font-util-*.tar*
cd util-font-util-*/
./autogen.sh \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
cd ..
# libfontenc Build
tar xf ../sources/libfontenc-libfontenc-*.tar*
cd libfontenc-libfontenc-*/
./autogen.sh \
--disable-static \
--enable-year2038 \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
cd ..
# libXfont2 Build
tar xf ../sources/libxfont-libXfont2-*.tar*
cd libxfont-libXfont2-*/
./autogen.sh \
--disable-static \
--enable-year2038 \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
cd ..
# libxcvt Build
tar xf ../sources/libxcvt-libxcvt-*.tar*
cd libxcvt-libxcvt-*/
muon setup -Dprefix=/usr build
muon samu -C build
muon -C build install
cd ..
# skalibs Build
# TODO: Should skalibs/mdevd/libudev-zero be moved to earlier in the script to
# benefit other software? ~ahill
tar xf ../sources/skalibs-*.tar*
cd skalibs-*/
# NOTE: We prefer a static library over a shared library in this instance since
# this is only used by mdevd. ~ahill
./configure \
--disable-shared \
--enable-pkgconfig \
--includedir=/usr/include \
--prefix=/
make -j $THREADS
make -j $THREADS install
cd ..
# mdevd Build
tar xf ../sources/mdevd-*.tar*
cd mdevd-*/
./configure \
--disable-static \
--enable-pkgconfig \
--enable-shared \
--includedir=/usr/include \
--libexecdir=/lib \
--prefix=/
make -j $THREADS
make -j $THREADS install
echo "#!/sbin/openrc-run" > /etc/init.d/mdevd
echo "description=\"Mini Device Mapper Daemon\"" >> /etc/init.d/mdevd
echo "command=\"/bin/mdevd\"" >> /etc/init.d/mdevd
echo "command_args=\"-O4\"" >> /etc/init.d/mdevd
echo "command_background=\"yes\"" >> /etc/init.d/mdevd
echo "pidfile=\"/run/mdevd.pid\"" >> /etc/init.d/mdevd
chmod +x /etc/init.d/mdevd
cd ..
# libudev-zero Build
tar xf ../sources/libudev-zero-*.tar*
cd libudev-zero-*/
make -j $THREADS
make -j $THREADS install PREFIX=/
cd ..
# libXdmcp Build
tar xf ../sources/libxdmcp-libXdmcp-*.tar*
cd libxdmcp-libXdmcp-*/
./autogen.sh \
--disable-docs \
--disable-static \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
cd ..
# Flit Core Build
# NOTE: Required to build Packaging
tar xf ../sources/flit_core-*.tar*
cd flit_core-*/
python3 -m pip install --no-build-isolation .
cd ..
# Packaging Build
# NOTE: Required by Build and MarkupSafe
# NOTE: Build isolation starts having problems here because pip isolates itself
# from its dependencies. ~ahill
# See also: https://pip.pypa.io/en/latest/reference/build-system/pyproject-toml/#disabling-build-isolation
tar xf ../sources/packaging-*.tar*
cd packaging-*/
python3 -m pip install --no-build-isolation .
cd ..
# Tomli Build
# NOTE: Required by Build
tar xf ../sources/tomli-*.tar*
cd tomli-*/
python3 -m pip install --no-build-isolation .
cd ..
# Pyproject Hooks Build
# NOTE: Required by Build
tar xf ../sources/pyproject_hooks-*.tar*
cd pyproject_hooks-*/
python3 -m pip install --no-build-isolation .
cd ..
# Wheel Build
# NOTE: Required by ImportLib Metadata
tar xf ../sources/wheel-*.tar*
cd wheel-*/
python3 -m pip install --no-build-isolation .
cd ..
# SetupTools Build
# NOTE: While not an explicit dependency of ImportLib Metadata, it produces an
# UNKNOWN egg if this isn't installed. ~ahill
tar xf ../sources/setuptools-*.tar*
cd setuptools-*/
python3 -m pip install --no-build-isolation .
cd ..
# Typing Extensions Build
# NOTE: Required by SetupTools SCM
tar xf ../sources/typing_extensions-*.tar*
cd typing_extensions-*/
python3 -m pip install --no-build-isolation .
cd ..
# Zipp Build
# NOTE: Required by ImportLib Metadata
tar xf ../sources/zipp-*.tar*
cd zipp-*/
python3 -m pip install --no-build-isolation .
# NOTE: For some reason, Zipp, which is a dependency of ImportLib Metadata,
# requires SetupTools SCM to properly version the module. This doesn't
# sound too bad until you realize that ImportLib Metadata is a dependency
# of SetupTools SCM, which we can't install because Zipp is the dependency
# of that! In other words, we have encountered a circular dependency for
# this version of Python. The simple solution is to simply upgrade Python,
# but you wouldn't be reading this if that was possible. Instead, we will
# extract the version number from the name of the tarball, and inject that
# into the egg info for Zipp after installing. ~ahill
ZIPP_VERSION=$(pwd | cut -d"-" -f2)
ZIPP_PACKAGE=/lib/python3.9/site-packages/zipp-$ZIPP_VERSION.dist-info
mv /lib/python3.9/site-packages/zipp-0.0.0.dist-info $ZIPP_PACKAGE
sed -i "s/Version: 0.0.0/Version: $ZIPP_VERSION/" $ZIPP_PACKAGE/METADATA
sed -i "s/zipp-0.0.0/zipp-$ZIPP_VERSION/" $ZIPP_PACKAGE/RECORD
ZIPP_METADATA_HASH=$(cat $ZIPP_PACKAGE/METADATA | libressl sha256 -binary | base64 -w 0)
sed -i "s|METADATA,sha256=.*,|METADATA,sha256=$ZIPP_METADATA_HASH,|" $ZIPP_PACKAGE/RECORD
cd ..
# ImportLib Metadata Build
# NOTE: Required by Build
tar xf ../sources/importlib_metadata-*.tar*
cd importlib_metadata-*/
python3 -m pip install --no-build-isolation .
# NOTE: Applying the same hack from Zipp to ImportLib Metadata because both rely
# on SetupTools SCM, which we can't install due to a circular dependency.
IMPORTLIB_METADATA_VERSION=$(pwd | cut -d"-" -f2)
IMPORTLIB_METADATA_PACKAGE=/lib/python3.9/site-packages/importlib_metadata-$IMPORTLIB_METADATA_VERSION.dist-info
mv /lib/python3.9/site-packages/importlib_metadata-0.0.0.dist-info $IMPORTLIB_METADATA_PACKAGE
sed -i "s/Version: 0.0.0/Version: $IMPORTLIB_METADATA_VERSION/" $IMPORTLIB_METADATA_PACKAGE/METADATA
sed -i "s/importlib_metadata-0.0.0/importlib_metadata-$IMPORTLIB_METADATA_VERSION/" $IMPORTLIB_METADATA_PACKAGE/RECORD
# I refuse to call this IMPORTLIB_METADATA_METADATA_HASH. ~ahill
IMPORTLIB_METADATA_HASH=$(cat $IMPORTLIB_METADATA_PACKAGE/METADATA | libressl sha256 -binary | base64 -w 0)
sed -i "s|METADATA,sha256=.*,|METADATA,sha256=$IMPORTLIB_METADATA_HASH,|" $IMPORTLIB_METADATA_PACKAGE/RECORD
cd ..
# SetupTools SCM Build
# NOTE: Technically required by Zipp and ImportLib Metadata, but not needed at
# this point. This is just here for future-proofing. ~ahill
tar xf ../sources/setuptools_scm-*.tar*
cd setuptools_scm-*/
python3 -m pip install --no-build-isolation .
cd ..
# "Build" Build
# NOTE: The above line makes me question my sanity. ~ahill
# NOTE: Required by MarkupSafe
tar xf ../sources/build-*.tar*
cd build-*/
python3 -m pip install --no-build-isolation .
cd ..
# MarkupSafe Build
# NOTE: Required by Mako
tar xf ../sources/markupsafe-*.tar*
cd markupsafe-*/
python3 -m pip install --no-build-isolation .
cd ..
# Babel Build
# NOTE: Required by Mako
tar xf ../sources/babel-*.tar*
cd babel-*/
python3 -m pip install --no-build-isolation .
cd ..
# Click Build
# NOTE: Required by Lingua
tar xf ../sources/click-*.tar*
cd click-*/
python3 -m pip install --no-build-isolation .
cd ..
# Polib Build
# NOTE: Required by Lingua
tar xf ../sources/polib-*.tar*
cd polib-*/
python3 -m pip install --no-build-isolation .
cd ..
# Lingua Build
# NOTE: Required by Mako
tar xf ../sources/lingua-*.tar*
cd lingua-*/
python3 -m pip install --no-build-isolation .
cd ..
# Mako Build
# NOTE: This is a Python library that is required to build Mesa. ~ahill
tar xf ../sources/mako-*.tar*
cd mako-*/
python3 -m pip install --no-build-isolation .
cd ..
# PyYAML Build
# NOTE: Another Python library for Mesa. ~ahill
tar xf ../sources/pyyaml-*.tar*
cd pyyaml-*/
python3 -m pip install --no-build-isolation .
cd ..
# libpciaccess Build
tar xf ../sources/libpciaccess-libpciaccess-*.tar*
cd libpciaccess-libpciaccess-*/
muon setup \
-Dprefix=/usr \
-Dzlib=enabled \
build
muon samu -C build
muon -C build install
cd ..
# libdrm Build
tar xf ../sources/libdrm-*.tar*
cd libdrm-*/
muon setup \
-Dintel=enabled \
-Dprefix=/usr \
-Dudev=true \
build
muon samu -C build
muon -C build install
cd ..
# LLVM pkgconf hack
# NOTE: Not proud of this, but I guess LLVM doesn't support pkg-config at all.
# This is here to allow muon to detect LLVM when building Mesa. ~ahill
# See also: https://github.com/llvm/llvm-project/issues/9777#issuecomment-980893725
echo "Name: LLVM" > /lib/pkgconfig/llvm.pc
echo "Description: Low-Level Virtual Machine" >> /lib/pkgconfig/llvm.pc
echo "Version: $(llvm-config --version)" >> /lib/pkgconfig/llvm.pc
echo "URL: https://www.llvm.org/" >> /lib/pkgconfig/llvm.pc
echo "Requires:" >> /lib/pkgconfig/llvm.pc
echo "Conflicts:" >> /lib/pkgconfig/llvm.pc
echo "Libs: -L$(llvm-config --libdir) -lLLVM" >> /lib/pkgconfig/llvm.pc
echo "Cflags: -I$(llvm-config --includedir)" >> /lib/pkgconfig/llvm.pc
# LLVMConfig.cmake hack
# FIXME: I'm not sure why, but LLVMConfig.cmake *assumes* that the LLVM install
# prefix is exactly three directories up from itself. This means that it
# believes the install prefix is /lib rather than /, which results in it
# failing to locate the other CMake files. This hack forcefully sets the
# LLVM install prefix to the proper location. ~ahill
sed -i "/get_filename_component(LLVM_INSTALL_PREFIX \"\${CMAKE_CURRENT_LIST_FILE/a set(LLVM_INSTALL_PREFIX \"/\")" /lib/cmake/llvm/LLVMConfig.cmake
sed -i "/get_filename_component(LLVM_INSTALL_PREFIX/d" /lib/cmake/llvm/LLVMConfig.cmake
# SPIR-V Tools Build
tar xf ../sources/spirv-tools-*.tar*
cd SPIRV-Tools-*/
# NOTE: In an effort to avoid Python and access to the Internet for the duration
# of the build, "python3 utils/git-sync-deps" has been replaced with the
# SPIR-V headers we used earlier. ~ahill
cd external
tar xf ../../../sources/SPIRV-Headers-vulkan-sdk-1.4.309.0.tar*
mv SPIRV-Headers-*/ spirv-headers
cd ..
cmake -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_LIBDIR=/lib \
-DCMAKE_INSTALL_PREFIX=/usr \
-DSPIRV_SKIP_TESTS=ON
# FIXME: Having "stable" releases that rely on very specific commits to function
# is terrible practice. If updates are going to be that unstable, make
# the headers, tools, and translator all part of a single source tree!
# ~ahill
# See also: https://github.com/KhronosGroup/SPIRV-Headers/issues/515
# https://github.com/KhronosGroup/SPIRV-LLVM-Translator/issues/3048
# https://bugs.gentoo.org/951062
make -C build -j $THREADS
make -C build -j $THREADS install
cd ..
# SPIR-V LLVM Translator Build
tar xf ../sources/spirv-llvm-translator-*.tar*
cd SPIRV-LLVM-Translator-*/
# NOTE: CMAKE_INSTALL_LIBDIR explicitly defined due to /usr/lib64 usage that
# breaks pkgconf. ~ahill
# NOTE: SPIR-V headers need to be imported from the source. ~ahill
tar xf ../../sources/SPIRV-Headers-vulkan-sdk-1.4.321.0.tar*
mv SPIRV-Headers-*/ SPIRV-Headers/
cmake -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_LIBDIR=/lib \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLLVM_DIR=/lib/cmake/llvm \
-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=$(pwd)/SPIRV-Headers
make -C build -j $THREADS
make -C build -j $THREADS install
cd ..
# Glslang Build
tar xf ../sources/glslang-*.tar*
cd glslang-*/
cmake -B build \
-DALLOW_EXTERNAL_SPIRV_TOOLS=true \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DGLSLANG_TESTS=false
make -C build -j $THREADS
make -C build -j $THREADS install
cd ..
# libXext Build
tar xf ../sources/libxext-libXext-*.tar*
cd libxext-libXext-*/
./autogen.sh \
--disable-static \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc \
--without-fop \
--without-xmlto \
--without-xsltproc
make -j $THREADS
make -j $THREADS install
cd ..
# libXfixes Build
tar xf ../sources/libxfixes-libXfixes-*.tar*
cd libxfixes-libXfixes-*/
./autogen.sh \
--disable-static \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
cd ..
# libxshmfence Build
tar xf ../sources/libxshmfence-libxshmfence-*.tar*
cd libxshmfence-libxshmfence-*/
./autogen.sh \
--disable-static \
--enable-year2038 \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
cd ..
# libXxf86vm Build
tar xf ../sources/libxxf86vm-libXxf86vm-*.tar*
cd libxxf86vm-libXxf86vm-*/
./autogen.sh \
--disable-static \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
cd ..
# libXrender Build
tar xf ../sources/libxrender-libXrender-*.tar*
cd libxrender-libXrender-*/
./autogen.sh \
--disable-static \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
cd ..
# libXrandr Build
tar xf ../sources/libxrandr-libXrandr-*.tar*
cd libxrandr-libXrandr-*/
./autogen.sh \
--disable-static \
--exec-prefix="" \
--libexecdir=/lib \
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc
make -j $THREADS
make -j $THREADS install
cd ..
# Mesa Build
tar xf ../sources/mesa-mesa-*.tar*
cd mesa-mesa-*/
# NOTE: Mesa apparently contains Rust code now. To avoid the dependency, we make
# sure gallium-rusticl, with_nouveau_vk, and etnaviv are all disabled.
# gallium-rusticl is a feature, with_nouveau_vk is part of nouveau itself,
# and etnaviv is part of the tools included with Mesa. ~ahill
# NOTE: Despite not building Rust, rust_std and build.rust_std are included in
# the project definition. We'll patch these out with sed before
# proceeding. ~ahill
sed -i "/rust_std=.*/d" meson.build
# NOTE: muon doesn't support configtool, so we patch meson.build to use the
# llvm-config command instead. RTTI detection is necessary for ABI-level
# compatibility with LLVM. ~ahill
sed -i "s/_llvm_rtti = \[.*/_llvm_rtti = ['ON', 'YES'].contains(run_command('llvm-config', '--has-rtti').stdout().strip())/" meson.build
sed -i "s/llvm_libdir = dep_llvm.*/llvm_libdir = run_command('llvm-config', '--libdir').stdout().strip()/" meson.build
LLVM_HASRTTI=$(llvm-config --has-rtti)
if [ "$LLVM_HASRTTI" = "YES" ] || [ "$LLVM_HASRTTI" = "ON" ]; then
LLVM_HASRTTI=true
else
LLVM_HASRTTI=false
fi
# NOTE: egl-native-platform and platforms are manually defined so we don't build
# Wayland support, which reduces the number of dependencies even further.
# ~ahill
# TODO: Have Mesa use the system-built Lua library rather than pulling one in
# from the web to use with Mesa and Mesa alone. ~ahill
# NOTE: intel-ui is temporary disabled due to a lack of libepoxy, which we can't
# build due to a muon bug. ~ahill
# See also: https://todo.sr.ht/~lattis/muon/141
# NOTE: Dropping intel tools for now because it conflicting definitions with
# musl. ~ahill
# NOTE: Mesa and musl do not seem to get along, so I have patched the shim out
# from the 64-bit syscall variants since they're just aliased in musl,
# preventing a re-definition error. ~ahill
sed -i "1i #define off64_t off_t" src/drm-shim/drm_shim.h
patch -p0 < /maple/patches/mesa-drm-maple.patch
muon setup \
-Dcpp_rtti=$LLVM_HASRTTI \
-Degl-native-platform=x11 \
-Dgallium-rusticl=false \
-Dllvm=true \
-Dplatforms=x11 \
-Dprefix=/usr \
-Dtools=drm-shim,dlclose-skip,freedreno,glsl,lima,nir,nouveau,asahi,imagination \
-Dvulkan-drivers=amd,intel,intel_hasvk,swrast \
build
muon samu -C build
muon -C build install
cd ..
# Basic Configuration
echo "root::0:0::/:/bin/zsh" > /etc/passwd
echo "root:x:0:root" > /etc/group
@ -751,5 +1449,6 @@ cp /usr/share/limine/BOOTX64.EFI /boot/EFI/BOOT/
ln -s agetty /etc/init.d/agetty.tty1
cp /etc/conf.d/agetty /etc/conf.d/agetty.tty1
rc-update add agetty.tty1 default
rc-update add mdevd sysinit
cd ..

View File

@ -1,16 +1,16 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 6.14.4 Kernel Configuration
# Linux/x86 6.15.4 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="Maple clang version 20.1.4 (https://github.com/cbpudding/maplelinux-bootstrap d7b549dc9a8ca2132638562c420b0079caa93a6d)"
CONFIG_CC_VERSION_TEXT="Maple clang version 20.1.7 (https://github.com/cbpudding/maplelinux-bootstrap 872a8c617e35fc549d618c53c7aaa1d347859d67)"
CONFIG_GCC_VERSION=0
CONFIG_CC_IS_CLANG=y
CONFIG_CLANG_VERSION=200104
CONFIG_CLANG_VERSION=200107
CONFIG_AS_IS_LLVM=y
CONFIG_AS_VERSION=200104
CONFIG_AS_VERSION=200107
CONFIG_LD_VERSION=0
CONFIG_LD_IS_LLD=y
CONFIG_LLD_VERSION=200104
CONFIG_LLD_VERSION=200107
CONFIG_RUSTC_VERSION=0
CONFIG_RUSTC_LLVM_VERSION=0
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
@ -73,7 +73,6 @@ CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_IRQ_MSI_IOMMU=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
CONFIG_IRQ_FORCED_THREADING=y
@ -200,7 +199,6 @@ CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
# CONFIG_CPUSETS_V1 is not set
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
@ -235,12 +233,12 @@ CONFIG_LD_ORPHAN_WARN_LEVEL="error"
CONFIG_SYSCTL=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
# CONFIG_EXPERT is not set
CONFIG_UID16=y
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
@ -264,8 +262,8 @@ CONFIG_CACHESTAT_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_SELFTEST is not set
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS=y
CONFIG_HAVE_PERF_EVENTS=y
#
@ -320,7 +318,6 @@ CONFIG_X86_64_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=5
CONFIG_CC_HAS_SANE_STACKPROTECTOR=y
#
# Processor type and features
@ -332,8 +329,8 @@ CONFIG_X86_MPPARSE=y
# CONFIG_X86_FRED is not set
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_VSMP is not set
# CONFIG_X86_GOLDFISH is not set
# CONFIG_X86_INTEL_MID is not set
# CONFIG_X86_GOLDFISH is not set
# CONFIG_X86_INTEL_LPSS is not set
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
CONFIG_IOSF_MBI=y
@ -353,21 +350,17 @@ CONFIG_ARCH_CPUIDLE_HALTPOLL=y
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_JAILHOUSE_GUEST is not set
# CONFIG_ACRN_GUEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_TSC=y
CONFIG_X86_HAVE_PAE=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CX8=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_IA32_FEAT_CTL=y
CONFIG_X86_VMX_FEATURE_NAMES=y
CONFIG_BROADCAST_TLB_FLUSH=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_HYGON=y
@ -519,6 +512,7 @@ CONFIG_MITIGATION_SPECTRE_V1=y
CONFIG_MITIGATION_SPECTRE_V2=y
CONFIG_MITIGATION_SRBDS=y
CONFIG_MITIGATION_SSB=y
CONFIG_MITIGATION_ITS=y
CONFIG_ARCH_HAS_ADD_PAGES=y
#
@ -637,6 +631,7 @@ CONFIG_X86_ACPI_CPUFREQ_CPB=y
#
# shared options
#
CONFIG_CPUFREQ_ARCH_CUR_FREQ=y
# end of CPU Frequency scaling
#
@ -676,6 +671,32 @@ CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_VIRTUALIZATION=y
# CONFIG_KVM is not set
CONFIG_X86_REQUIRED_FEATURE_ALWAYS=y
CONFIG_X86_REQUIRED_FEATURE_NOPL=y
CONFIG_X86_REQUIRED_FEATURE_CX8=y
CONFIG_X86_REQUIRED_FEATURE_CMOV=y
CONFIG_X86_REQUIRED_FEATURE_CPUID=y
CONFIG_X86_REQUIRED_FEATURE_FPU=y
CONFIG_X86_REQUIRED_FEATURE_PAE=y
CONFIG_X86_REQUIRED_FEATURE_PSE=y
CONFIG_X86_REQUIRED_FEATURE_PGE=y
CONFIG_X86_REQUIRED_FEATURE_MSR=y
CONFIG_X86_REQUIRED_FEATURE_FXSR=y
CONFIG_X86_REQUIRED_FEATURE_XMM=y
CONFIG_X86_REQUIRED_FEATURE_XMM2=y
CONFIG_X86_REQUIRED_FEATURE_LM=y
CONFIG_X86_DISABLED_FEATURE_VME=y
CONFIG_X86_DISABLED_FEATURE_K6_MTRR=y
CONFIG_X86_DISABLED_FEATURE_CYRIX_ARR=y
CONFIG_X86_DISABLED_FEATURE_CENTAUR_MCR=y
CONFIG_X86_DISABLED_FEATURE_LAM=y
CONFIG_X86_DISABLED_FEATURE_ENQCMD=y
CONFIG_X86_DISABLED_FEATURE_SGX=y
CONFIG_X86_DISABLED_FEATURE_XENPV=y
CONFIG_X86_DISABLED_FEATURE_TDX_GUEST=y
CONFIG_X86_DISABLED_FEATURE_USER_SHSTK=y
CONFIG_X86_DISABLED_FEATURE_FRED=y
CONFIG_X86_DISABLED_FEATURE_SEV_SNP=y
CONFIG_AS_AVX512=y
CONFIG_AS_SHA1_NI=y
CONFIG_AS_SHA256_NI=y
@ -790,6 +811,7 @@ CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_ARCH_HAS_EXECMEM_ROX=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_SOFTIRQ_ON_OWN_STACK=y
@ -842,6 +864,7 @@ CONFIG_DYNAMIC_SIGFRAME=y
CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y
CONFIG_ARCH_HAS_KERNEL_FPU_SUPPORT=y
CONFIG_ARCH_VMLINUX_NEEDS_RELOCS=y
#
# GCOV-based kernel profiling
@ -949,6 +972,7 @@ CONFIG_SWAP=y
# Slab allocator options
#
CONFIG_SLUB=y
CONFIG_KVFREE_RCU_BATCHED=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLAB_FREELIST_RANDOM is not set
# CONFIG_SLAB_FREELIST_HARDENED is not set
@ -964,8 +988,10 @@ CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_SPARSEMEM_VMEMMAP_PREINIT=y
CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
CONFIG_ARCH_WANT_HUGETLB_VMEMMAP_PREINIT=y
CONFIG_HAVE_GUP_FAST=y
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@ -989,6 +1015,7 @@ CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_WANTS_THP_SWAP=y
# CONFIG_TRANSPARENT_HUGEPAGE is not set
CONFIG_PAGE_MAPCOUNT=y
CONFIG_PGTABLE_HAS_HUGE_LEAVES=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
@ -1434,6 +1461,7 @@ CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_STUB is not set
CONFIG_PCI_ATS=y
# CONFIG_PCI_DOE is not set
CONFIG_PCI_LOCKLESS_CONFIG=y
# CONFIG_PCI_IOV is not set
# CONFIG_PCI_NPEM is not set
@ -1489,6 +1517,8 @@ CONFIG_HOTPLUG_PCI=y
# CONFIG_PCI_SW_SWITCHTEC is not set
# end of PCI switch controller drivers
CONFIG_PCI_PWRCTL=y
CONFIG_PCI_PWRCTL_SLOT=y
# CONFIG_CXL_BUS is not set
CONFIG_PCCARD=y
CONFIG_PCMCIA=y
@ -1610,6 +1640,7 @@ CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
# end of Tegra firmware driver
# end of Firmware Drivers
CONFIG_FWCTL=y
# CONFIG_GNSS is not set
# CONFIG_MTD is not set
# CONFIG_OF is not set
@ -2643,6 +2674,7 @@ CONFIG_SERIAL_8250_DWLIB=y
CONFIG_SERIAL_8250_LPSS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_PERICOM=y
# CONFIG_SERIAL_8250_NI is not set
#
# Non-8250 serial port support
@ -2890,6 +2922,7 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_G762 is not set
# CONFIG_SENSORS_HIH6130 is not set
# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_HTU31 is not set
# CONFIG_SENSORS_I5500 is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_ISL28022 is not set
@ -3074,6 +3107,7 @@ CONFIG_WATCHDOG_OPEN_TIMEOUT=0
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_LENOVO_SE10_WDT is not set
# CONFIG_LENOVO_SE30_WDT is not set
# CONFIG_WDAT_WDT is not set
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_ZIIRAVE_WATCHDOG is not set
@ -3167,6 +3201,7 @@ CONFIG_BCMA_POSSIBLE=y
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77541 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77705 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
# CONFIG_MFD_MAX8925 is not set
@ -3178,7 +3213,6 @@ CONFIG_BCMA_POSSIBLE=y
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_RETU is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_SY7636A is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RT4831 is not set
@ -3270,15 +3304,6 @@ CONFIG_DRM_TTM=y
CONFIG_DRM_BUDDY=y
CONFIG_DRM_GEM_SHMEM_HELPER=y
#
# I2C encoder or helper chips
#
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
# end of I2C encoder or helper chips
#
# ARM devices
#
@ -3326,11 +3351,13 @@ CONFIG_DRM_PANEL_BRIDGE=y
#
# Display Interface Bridges
#
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# end of Display Interface Bridges
# CONFIG_DRM_ETNAVIV is not set
# CONFIG_DRM_HISI_HIBMC is not set
# CONFIG_DRM_APPLETBDRM is not set
# CONFIG_DRM_BOCHS is not set
# CONFIG_DRM_CIRRUS_QEMU is not set
# CONFIG_DRM_GM12U320 is not set
@ -3614,6 +3641,8 @@ CONFIG_HID_A4TECH=y
# CONFIG_HID_ACRUX is not set
CONFIG_HID_APPLE=y
# CONFIG_HID_APPLEIR is not set
# CONFIG_HID_APPLETB_BL is not set
# CONFIG_HID_APPLETB_KBD is not set
# CONFIG_HID_ASUS is not set
# CONFIG_HID_AUREAL is not set
CONFIG_HID_BELKIN=y
@ -3661,13 +3690,6 @@ CONFIG_HID_KENSINGTON=y
# CONFIG_HID_LED is not set
# CONFIG_HID_LENOVO is not set
# CONFIG_HID_LETSKETCH is not set
CONFIG_HID_LOGITECH=y
# CONFIG_HID_LOGITECH_DJ is not set
# CONFIG_HID_LOGITECH_HIDPP is not set
CONFIG_LOGITECH_FF=y
# CONFIG_LOGIRUMBLEPAD2_FF is not set
# CONFIG_LOGIG940_FF is not set
CONFIG_LOGIWHEELS_FF=y
# CONFIG_HID_MAGICMOUSE is not set
# CONFIG_HID_MALTRON is not set
# CONFIG_HID_MAYFLASH is not set
@ -3969,7 +3991,7 @@ CONFIG_LEDS_TRIGGERS=y
# CONFIG_LEDS_TRIGGER_INPUT_EVENTS is not set
#
# Simple LED drivers
# Simatic LED drivers
#
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
@ -4189,6 +4211,7 @@ CONFIG_EEEPC_LAPTOP=y
# CONFIG_WIRELESS_HOTKEY is not set
# CONFIG_IBM_RTL is not set
# CONFIG_IDEAPAD_LAPTOP is not set
# CONFIG_LENOVO_WMI_HOTKEY_UTILITIES is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_THINKPAD_LMI is not set
@ -4224,6 +4247,7 @@ CONFIG_EEEPC_LAPTOP=y
# CONFIG_MSI_LAPTOP is not set
# CONFIG_MSI_WMI is not set
# CONFIG_MSI_WMI_PLATFORM is not set
# CONFIG_SAMSUNG_GALAXYBOOK is not set
# CONFIG_SAMSUNG_LAPTOP is not set
# CONFIG_SAMSUNG_Q10 is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
@ -4237,7 +4261,6 @@ CONFIG_EEEPC_LAPTOP=y
# CONFIG_SYSTEM76_ACPI is not set
# CONFIG_TOPSTAR_LAPTOP is not set
# CONFIG_SERIAL_MULTI_INSTANTIATE is not set
# CONFIG_MLX_PLATFORM is not set
# CONFIG_INSPUR_PLATFORM_PROFILE is not set
# CONFIG_LENOVO_WMI_CAMERA is not set
# CONFIG_INTEL_IPS is not set
@ -4585,7 +4608,6 @@ CONFIG_MISC_FILESYSTEMS=y
# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_PSTORE is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_EROFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
@ -4680,6 +4702,7 @@ CONFIG_IO_WQ=y
CONFIG_KEYS=y
# CONFIG_KEYS_REQUEST_CACHE is not set
# CONFIG_PERSISTENT_KEYRINGS is not set
# CONFIG_BIG_KEYS is not set
# CONFIG_TRUSTED_KEYS is not set
# CONFIG_ENCRYPTED_KEYS is not set
# CONFIG_KEY_DH_OPERATIONS is not set
@ -4687,6 +4710,7 @@ CONFIG_KEYS=y
CONFIG_PROC_MEM_ALWAYS_FORCE=y
# CONFIG_PROC_MEM_FORCE_PTRACE is not set
# CONFIG_PROC_MEM_NO_FORCE is not set
# CONFIG_MSEAL_SYSTEM_MAPPINGS is not set
CONFIG_SECURITY=y
CONFIG_HAS_SECURITY_AUDIT=y
# CONFIG_SECURITYFS is not set
@ -4695,8 +4719,6 @@ CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_PATH is not set
# CONFIG_INTEL_TXT is not set
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_HARDENED_USERCOPY is not set
# CONFIG_FORTIFY_SOURCE is not set
# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
@ -4742,6 +4764,13 @@ CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
# CONFIG_ZERO_CALL_USED_REGS is not set
# end of Memory initialization
#
# Bounds checking
#
# CONFIG_FORTIFY_SOURCE is not set
# CONFIG_HARDENED_USERCOPY is not set
# end of Bounds checking
#
# Hardening of kernel data structures
#
@ -4786,6 +4815,7 @@ CONFIG_CRYPTO_NULL2=y
# CONFIG_CRYPTO_PCRYPT is not set
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_KRB5ENC is not set
# CONFIG_CRYPTO_TEST is not set
# end of Crypto core or helper
@ -4873,7 +4903,6 @@ CONFIG_CRYPTO_SHA3=y
#
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_CRC32 is not set
# CONFIG_CRYPTO_CRCT10DIF is not set
# end of CRCs (cyclic redundancy checks)
#
@ -4916,7 +4945,6 @@ CONFIG_CRYPTO_HASH_INFO=y
#
# Accelerated Cryptographic Algorithms for CPU (x86)
#
# CONFIG_CRYPTO_CURVE25519_X86 is not set
# CONFIG_CRYPTO_AES_NI_INTEL is not set
# CONFIG_CRYPTO_BLOWFISH_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA_X86_64 is not set
@ -4936,13 +4964,11 @@ CONFIG_CRYPTO_HASH_INFO=y
# CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_ARIA_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_ARIA_GFNI_AVX512_X86_64 is not set
# CONFIG_CRYPTO_CHACHA20_X86_64 is not set
# CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set
# CONFIG_CRYPTO_NHPOLY1305_SSE2 is not set
# CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set
# CONFIG_CRYPTO_BLAKE2S_X86 is not set
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
# CONFIG_CRYPTO_POLY1305_X86_64 is not set
# CONFIG_CRYPTO_SHA1_SSSE3 is not set
# CONFIG_CRYPTO_SHA256_SSSE3 is not set
# CONFIG_CRYPTO_SHA512_SSSE3 is not set
@ -4986,6 +5012,7 @@ CONFIG_SYSTEM_TRUSTED_KEYS=""
# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
# end of Certificates for signature checking
# CONFIG_CRYPTO_KRB5 is not set
CONFIG_BINARY_PRINTF=y
#
@ -5012,29 +5039,18 @@ CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_ARC4=y
CONFIG_CRYPTO_LIB_GF128MUL=y
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
# CONFIG_CRYPTO_LIB_CHACHA is not set
# CONFIG_CRYPTO_LIB_CURVE25519 is not set
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
# CONFIG_CRYPTO_LIB_POLY1305 is not set
# CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set
CONFIG_CRYPTO_LIB_SHA1=y
CONFIG_CRYPTO_LIB_SHA256=y
# end of Crypto library routines
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
# CONFIG_CRC_T10DIF is not set
CONFIG_ARCH_HAS_CRC_T10DIF=y
# CONFIG_CRC64_ROCKSOFT is not set
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
CONFIG_ARCH_HAS_CRC32=y
CONFIG_CRC32_ARCH=y
# CONFIG_CRC64 is not set
# CONFIG_CRC4 is not set
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=y
# CONFIG_CRC8 is not set
CONFIG_ARCH_HAS_CRC64=y
CONFIG_CRC_OPTIMIZATIONS=y
CONFIG_XXHASH=y
# CONFIG_RANDOM32_SELFTEST is not set
@ -5099,6 +5115,7 @@ CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_TIME_NS=y
CONFIG_GENERIC_VDSO_OVERFLOW_PROTECT=y
CONFIG_VDSO_GETRANDOM=y
CONFIG_GENERIC_VDSO_DATA_STORE=y
CONFIG_FONT_SUPPORT=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
@ -5154,6 +5171,7 @@ CONFIG_FRAME_WARN=2048
# CONFIG_HEADERS_INSTALL is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
CONFIG_OBJTOOL=y
# CONFIG_OBJTOOL_WERROR is not set
CONFIG_NOINSTR_VALIDATION=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# end of Compile-time checks and compiler options
@ -5201,8 +5219,8 @@ CONFIG_SLUB_DEBUG=y
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_ARCH_HAS_DEBUG_WX=y
CONFIG_DEBUG_WX=y
CONFIG_GENERIC_PTDUMP=y
CONFIG_PTDUMP_CORE=y
CONFIG_ARCH_HAS_PTDUMP=y
CONFIG_PTDUMP=y
# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
@ -5212,6 +5230,7 @@ CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
# CONFIG_DEBUG_VFS is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VM_PGTABLE is not set
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
@ -5255,7 +5274,6 @@ CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
#
# Scheduler Debugging
#
# CONFIG_SCHED_DEBUG is not set
CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y
# end of Scheduler Debugging
@ -5433,8 +5451,6 @@ CONFIG_RUNTIME_TESTING_MENU=y
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_TEST_HEXDUMP is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_SCANF is not set
# CONFIG_TEST_BITMAP is not set
# CONFIG_TEST_UUID is not set
# CONFIG_TEST_XARRAY is not set
@ -5445,7 +5461,6 @@ CONFIG_RUNTIME_TESTING_MENU=y
# CONFIG_TEST_BITOPS is not set
# CONFIG_TEST_VMALLOC is not set
# CONFIG_TEST_BPF is not set
# CONFIG_TEST_BLACKHOLE_DEV is not set
# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_TEST_FIRMWARE is not set
# CONFIG_TEST_SYSCTL is not set

View File

@ -0,0 +1,225 @@
--- src/drm-shim/drm_shim.c 2025-07-14 02:47:27.834000000 +0000
+++ src/drm-shim/drm_shim.c 2025-07-14 02:58:33.373000000 +0000
@@ -324,8 +324,6 @@
return real_fopen(path, mode);
}
-PUBLIC FILE *fopen64(const char *path, const char *mode)
- __attribute__((alias("fopen")));
/* Intercepts access(render_node_path) to trick drmGetMinorType */
PUBLIC int access(const char *path, int mode)
@@ -371,7 +369,6 @@
return fd;
}
-PUBLIC int open64(const char*, int, ...) __attribute__((alias("open")));
/* __open64_2 isn't declared unless _FORTIFY_SOURCE is defined. */
PUBLIC int __open64_2(const char *path, int flags);
@@ -429,45 +426,6 @@
return 0;
}
-/* Fakes stat to return character device stuff for our fake render node. */
-PUBLIC int __xstat64(int ver, const char *path, struct stat64 *st)
-{
- init_shim();
-
- /* Note: call real stat if we're in the process of probing for a free
- * render node!
- */
- if (render_node_minor == -1)
- return real___xstat64(ver, path, st);
-
- if (hide_drm_device_path(path)) {
- errno = ENOENT;
- return -1;
- }
-
- /* Fool libdrm's probe of whether the /sys dir for this char dev is
- * there.
- */
- char *sys_dev_drm_dir;
- nfasprintf(&sys_dev_drm_dir,
- "/sys/dev/char/%d:%d/device/drm",
- DRM_MAJOR, render_node_minor);
- if (strcmp(path, sys_dev_drm_dir) == 0) {
- free(sys_dev_drm_dir);
- return 0;
- }
- free(sys_dev_drm_dir);
-
- if (strcmp(path, render_node_path) != 0)
- return real___xstat64(ver, path, st);
-
- memset(st, 0, sizeof(*st));
- st->st_rdev = makedev(DRM_MAJOR, render_node_minor);
- st->st_mode = S_IFCHR;
-
- return 0;
-}
-
/* Fakes fstat to return character device stuff for our fake render node. */
PUBLIC int __fxstat(int ver, int fd, struct stat *st)
{
@@ -485,22 +443,6 @@
return 0;
}
-PUBLIC int __fxstat64(int ver, int fd, struct stat64 *st)
-{
- init_shim();
-
- struct shim_fd *shim_fd = drm_shim_fd_lookup(fd);
-
- if (!shim_fd)
- return real___fxstat64(ver, fd, st);
-
- memset(st, 0, sizeof(*st));
- st->st_rdev = makedev(DRM_MAJOR, render_node_minor);
- st->st_mode = S_IFCHR;
-
- return 0;
-}
-
#else
PUBLIC int stat(const char* path, struct stat* stat_buf)
@@ -541,44 +483,6 @@
return 0;
}
-PUBLIC int stat64(const char* path, struct stat64* stat_buf)
-{
- init_shim();
-
- /* Note: call real stat if we're in the process of probing for a free
- * render node!
- */
- if (render_node_minor == -1)
- return real_stat64(path, stat_buf);
-
- if (hide_drm_device_path(path)) {
- errno = ENOENT;
- return -1;
- }
-
- /* Fool libdrm's probe of whether the /sys dir for this char dev is
- * there.
- */
- char *sys_dev_drm_dir;
- nfasprintf(&sys_dev_drm_dir,
- "/sys/dev/char/%d:%d/device/drm",
- DRM_MAJOR, render_node_minor);
- if (strcmp(path, sys_dev_drm_dir) == 0) {
- free(sys_dev_drm_dir);
- return 0;
- }
- free(sys_dev_drm_dir);
-
- if (strcmp(path, render_node_path) != 0)
- return real_stat64(path, stat_buf);
-
- memset(stat_buf, 0, sizeof(*stat_buf));
- stat_buf->st_rdev = makedev(DRM_MAJOR, render_node_minor);
- stat_buf->st_mode = S_IFCHR;
-
- return 0;
-}
-
PUBLIC int fstat(int fd, struct stat* stat_buf)
{
init_shim();
@@ -594,22 +498,6 @@
return 0;
}
-
-PUBLIC int fstat64(int fd, struct stat64* stat_buf)
-{
- init_shim();
-
- struct shim_fd *shim_fd = drm_shim_fd_lookup(fd);
-
- if (!shim_fd)
- return real_fstat64(fd, stat_buf);
-
- memset(stat_buf, 0, sizeof(*stat_buf));
- stat_buf->st_rdev = makedev(DRM_MAJOR, render_node_minor);
- stat_buf->st_mode = S_IFCHR;
-
- return 0;
-}
#endif
/* Tracks if the opendir was on /dev/dri. */
@@ -664,34 +552,6 @@
return ent;
}
-/* If we're looking at /dev/dri, add our render node to the list
- * before the real entries in the directory.
- */
-PUBLIC struct dirent64 *
-readdir64(DIR *dir)
-{
- init_shim();
-
- struct dirent64 *ent = NULL;
-
- static struct dirent64 render_node_dirent = { 0 };
-
- simple_mtx_lock(&shim_lock);
- if (_mesa_set_search(opendir_set, dir)) {
- strcpy(render_node_dirent.d_name,
- render_node_dirent_name);
- render_node_dirent.d_type = DT_CHR;
- ent = &render_node_dirent;
- _mesa_set_remove_key(opendir_set, dir);
- }
- simple_mtx_unlock(&shim_lock);
-
- if (!ent && dir != fake_dev_dri)
- ent = real_readdir64(dir);
-
- return ent;
-}
-
/* Cleans up tracking of opendir("/dev/dri") */
PUBLIC int
closedir(DIR *dir)
@@ -774,7 +634,7 @@
* our DRM fd to drm_shim_ioctl().
*/
PUBLIC int
-ioctl(int fd, unsigned long request, ...)
+ioctl(int fd, int request, ...)
{
init_shim();
@@ -810,8 +670,6 @@
return ret;
}
-PUBLIC int fcntl64(int, int, ...)
- __attribute__((alias("fcntl")));
/* I wrote this when trying to fix gallium screen creation, leaving it around
* since it's probably good to have.
@@ -841,15 +699,3 @@
return real_mmap(addr, length, prot, flags, fd, offset);
}
-
-PUBLIC void *
-mmap64(void* addr, size_t length, int prot, int flags, int fd, off64_t offset)
-{
- init_shim();
-
- struct shim_fd *shim_fd = drm_shim_fd_lookup(fd);
- if (shim_fd)
- return drm_shim_mmap(shim_fd, length, prot, flags, fd, offset);
-
- return real_mmap64(addr, length, prot, flags, fd, offset);
-}

View File

@ -1,7 +1,12 @@
ae470fec429775653e042015edc928d07c8c3b2fc59765172a330d3d87785f86,https://ftp.gnu.org/gnu/bc/bc-1.08.2.tar.gz,
ba885c1319578d6c94d46e9b0dceb4014caafe2490e437a0dbca3f270a223f5a,https://ftpmirror.gnu.org/gnu/autoconf/autoconf-2.72.tar.xz,
168aa363278351b89af56684448f525a5bce5079d0b6842bd910fdd3f1646887,https://ftpmirror.gnu.org/gnu/automake/automake-1.18.1.tar.xz,
0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d,https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz,
ae470fec429775653e042015edc928d07c8c3b2fc59765172a330d3d87785f86,https://ftpmirror.gnu.org/gnu/bc/bc-1.08.2.tar.gz,
9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2,https://ftpmirror.gnu.org/gnu/bison/bison-3.8.2.tar.xz,
b36993e92ca9375a219c99e606a122ff365a760a2d4bba0caa09bd5278b608b7,https://files.pythonhosted.org/packages/7d/46/aeab111f8e06793e4f0e421fcad593d547fb8313b50990f31681ee2fb1ad/build-1.2.2.post1.tar.gz,
ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269,https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz,
c0de41a8c051e5d32b101b5f7014b98ca978b18e592f30ce6840b6d4602d947b,https://chrony-project.org/releases/chrony-4.7.tar.gz,
ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a,https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz,
8d3537b7b7732660ea247398f166be892fe6131d63cc291944b45b91279f3ffb,https://github.com/Kitware/CMake/releases/download/v4.0.3/cmake-4.0.3.tar.gz,
e8bb26ad0293f9b5a1fc43fb42ba970e312c66ce92c1b0b16713d7500db251bf,https://ftpmirror.gnu.org/gnu/coreutils/coreutils-9.7.tar.xz,
937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db,https://ftpmirror.gnu.org/gnu/cpio/cpio-2.15.tar.bz2,
@ -11,31 +16,62 @@ f4619a1e2474c4bbfedc88a7c2191209c8334b48fa1f4e53fd584cc12e9120dd,https://curl.se
7c8b7f9fc8609141fdea9cece85249d308624391ff61dedaf528fcb337727dfd,https://ftpmirror.gnu.org/gnu/diffutils/diffutils-3.12.tar.xz,
64926eebf90092dca21b14259a5301b7b98e7b1943e8a201c7d726084809b527,https://github.com/dosfstools/dosfstools/releases/download/v4.2/dosfstools-4.2.tar.gz,
354552544b8f99012e5062f7d570ec77f14b412a3ff5c7d8d0dae62c0d217c30,https://github.com/libexpat/libexpat/releases/download/R_2_7_1/expat-2.7.1.tar.xz,
1387e0b67ff247d2abde998f90dfbf70c1491391a59ddfecb8ae698789f0a4f5,https://ftp.gnu.org/gnu/findutils/findutils-4.10.0.tar.xz,
1387e0b67ff247d2abde998f90dfbf70c1491391a59ddfecb8ae698789f0a4f5,https://ftpmirror.gnu.org/gnu/findutils/findutils-4.10.0.tar.xz,
e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995,https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz,
18f63100d6f94385c6ed57a72073443e1a71a4acb4339491615d0f16d6ff01b2,https://files.pythonhosted.org/packages/69/59/b6fc2188dfc7ea4f936cd12b49d707f66a1cb7a1d2c16172963534db741b/flit_core-3.12.0.tar.gz,
f0129159515c13ebe53ba2a6a94755e98c266470e844ee0aacc6196fd62b44f0,https://gitlab.freedesktop.org/xorg/font/util/-/archive/font-util-1.4.1/util-font-util-1.4.1.tar.gz,
0550350666d427c74daeb85d5ac7bb353acba5f76956395995311a9c6f063289,https://download.savannah.gnu.org/releases/freetype/freetype-2.13.3.tar.xz,
f8c3486509de705192138b00ef2c00bbbdd0e84c30d5c07d23fc73a9dc4cc9cc,https://ftpmirror.gnu.org/gnu/gawk/gawk-5.3.2.tar.xz,
07d75fb5438d7bd2e3353a18abef34a2e143edcd62679f0907440d9529735d43,https://git.kernel.org/pub/scm/git/git.git/snapshot/git-2.50.0.tar.gz,
b16c78e7604b9be9f546ee35ad8b6db6f39bbbbfb19e8d038b6fe2ea5bba4ff4,https://github.com/KhronosGroup/glslang/archive/refs/tags/15.4.0.tar.gz,glslang-15.4.0.tar.gz
2649b27c0e90e632eadcd757be06c6e9a4f48d941de51e7c0f83ff76408a07b9,https://ftpmirror.gnu.org/gnu/grep/grep-3.12.tar.xz,
01a7b881bd220bfdf615f97b8718f80bdfd3f6add385b993dcf6efd14e8c0ac6,https://ftpmirror.gnu.org/gnu/gzip/gzip-1.14.tar.xz,
d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000,https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz,
0b3b1c0b8f11a0e82c764bc291ce74bf03e778dc575b8097f5c440680150563b,https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/snapshot/iproute2-6.15.0.tar.gz,
01f5806da7d1d34f594b7b2a6ae1ab23215344cf1064e8edcd3a90fef9776a11,https://www.kernel.org/pub/linux/utils/kbd/kbd-2.8.0.tar.xz,
d1dfcf19b58133b6f39917e6e9560e33b73d9308282750d31501870c24f22c53,https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/snapshot/kmod-34.2.tar.gz,
19f917d42d530f98815ac824d90c7eaf648e9d9a50e4f309c812457ffa5496b5,https://libarchive.org/downloads/libarchive-3.8.1.tar.xz,
b88cc9163d0c652aaf39a99991d974ddba1c3a9711db8f1b5838af2a14731014,https://libbsd.freedesktop.org/releases/libbsd-0.12.2.tar.xz,
629da4ab29900d0f7fcc36227073743119925fd711c99a1689bbf5c9b40c8e6f,https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.76.tar.xz,
d4bae92797a50f81a93524762e0410a49cd84cfa0f997795bc0172ac8fb1d96a,https://dri.freedesktop.org/libdrm/libdrm-2.4.125.tar.xz,
6253395679c2bb2156d926b3d8b7e3b2bbeb40a56d2bea29e1c73e40ed9de4ba,https://github.com/arachsys/libelf/archive/refs/tags/v0.193.tar.gz,libelf-0.193.tar.gz
31dc201284fb5d2bec60b2ceee3126b5cf633c3de74151be44817890e8e7c581,https://gitlab.freedesktop.org/xorg/lib/libfontenc/-/archive/libfontenc-1.1.8/libfontenc-libfontenc-1.1.8.tar.gz,
f99eb68a67c7d54866b7706af245e87ba060d419a062474b456d3bc8d4abdbd1,https://github.com/libffi/libffi/releases/download/v3.5.1/libffi-3.5.1.tar.gz,
a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898,https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz,
706aa05c888b53bd170e5d8aa8f8a9d9ccf5449dfed262d5103d1f292af26774,https://github.com/benhoyt/inih/archive/refs/tags/r60.tar.gz,libinih-r60.tar.gz
1bd6aa42275313af3141c7cf2e5b964e8b1fd488025caf2f971f43b00776b332,https://libbsd.freedesktop.org/releases/libmd-1.1.0.tar.xz,
274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525,https://www.netfilter.org/pub/libmnl/libmnl-1.0.5.tar.bz2,
e8c216255e129f26270639fee7775265665a31b11aa920253c3e5d5d62dfc4b8,https://www.netfilter.org/pub/libnftnl/libnftnl-1.2.9.tar.xz,
a395317730e0e8d5e71419d4d1256a89e32c2fa793607b63c4d0fb497ae34602,https://gitlab.freedesktop.org/xorg/lib/libpciaccess/-/archive/libpciaccess-0.18.1/libpciaccess-libpciaccess-0.18.1.tar.gz,
0f71c16bd34bdaaccdcb96a5d94a4921bfb612ec6e0eba7a80d8854eefd8bb61,https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-4.1.0.tar.gz,
f81f5860666b0bc7d84baddefa60d1cb9fa6fceb2398cc3baca6afaa60266675,https://ftp.gnu.org/gnu/libtool/libtool-2.5.4.tar.xz,
ea97bead1e8721d9002055970e8ad64ef79ee9dcee8595a3dae2cf5c2192a47f,https://gitlab.freedesktop.org/xorg/lib/libx11/-/archive/libX11-1.8.12/libx11-libX11-1.8.12.tar.gz,
af261cc1b3b349cfe7a7899a48b4e4aa257b4d11bf2ea084fb3191df7d15fbe9,https://gitlab.freedesktop.org/xorg/lib/libxau/-/archive/libXau-1.0.12/libxau-libXau-1.0.12.tar.gz,
113a6f8f614e037ff03cad218cdcbfe307dfc9d909a842b17276a694476ed639,https://gitlab.freedesktop.org/xorg/lib/libxcb/-/archive/libxcb-1.17.0/libxcb-libxcb-1.17.0.tar.gz,
0bd89b657d62d019598e6c7ed726ff8fed80e8ba092a83b484d66afb80b77da5,https://github.com/illiliti/libudev-zero/archive/refs/tags/1.0.3.tar.gz,libudev-zero-1.0.3.tar.gz
5edaa65f5abd94ae12030b52fda66828eb8a41396aa9c02fd2c6210445fff61e,https://gitlab.freedesktop.org/xorg/lib/libxcvt/-/archive/libxcvt-0.1.3/libxcvt-libxcvt-0.1.3.tar.gz,
f5e93a7191e4ea2f43482e9c8470c5320e1bb7ee0070b72f97ad2d1141833cd4,https://gitlab.freedesktop.org/xorg/lib/libxdmcp/-/archive/libXdmcp-1.1.5/libxdmcp-libXdmcp-1.1.5.tar.gz,
4e48ea271b5f53c3386018a6e0263454fe582a413fce0273ade601fbfe9e0c72,https://gitlab.freedesktop.org/xorg/lib/libxext/-/archive/libXext-1.3.6/libxext-libXext-1.3.6.tar.gz,
533a62b3113ba4cd129d68398f44b135baedb2d16850c89af6b4585296e3bf02,https://gitlab.freedesktop.org/xorg/lib/libxfixes/-/archive/libXfixes-6.0.1/libxfixes-libXfixes-6.0.1.tar.gz,
fb0fab7745c4670cd3c49b0cd3965494a6bee3778f36a0385a3265e803fe4d70,https://gitlab.freedesktop.org/xorg/lib/libxfont/-/archive/libXfont2-2.0.7/libxfont-libXfont2-2.0.7.tar.gz,
f033ea2b78d2b8f6c6fc4028aeace48f8d1b59d881d602a1d9418da69cc50200,https://gitlab.freedesktop.org/xorg/lib/libxkbfile/-/archive/libxkbfile-1.1.3/libxkbfile-libxkbfile-1.1.3.tar.gz,
a1909cbe9ded94187b6420ae8c347153f8278955265cb80a64cdae5501433396,https://gitlab.freedesktop.org/xorg/lib/libxrandr/-/archive/libXrandr-1.5.4/libxrandr-libXrandr-1.5.4.tar.gz,
470559df9e0e4dbc81d5855d3d364a17e12263600a08217232f8b1f6ef3cddbf,https://gitlab.freedesktop.org/xorg/lib/libxrender/-/archive/libXrender-0.9.12/libxrender-libXrender-0.9.12.tar.gz,
61b90057e1cb1ec4688b2fd223f5008d637ab5a5e476ef3727543bb449c87697,https://gitlab.freedesktop.org/xorg/lib/libxshmfence/-/archive/libxshmfence-1.3.3/libxshmfence-libxshmfence-1.3.3.tar.gz,
6def23c86de6ff72030b9971ed6ddec24ba9b47344237ab7b5abeb2f044c3332,https://gitlab.freedesktop.org/xorg/lib/libxtrans/-/archive/xtrans-1.6.0/libxtrans-xtrans-1.6.0.tar.gz,
a23745e7865f4aa2ee2610f289ed8081140580cbe577b46aa1a7fb28ab7192cf,https://gitlab.freedesktop.org/xorg/lib/libxxf86vm/-/archive/libXxf86vm-1.1.6/libxxf86vm-libXxf86vm-1.1.6.tar.gz,
080625494536431e6b95a11c1ee22db9fd41dc54e47c42a54f00f6ed54088814,https://github.com/limine-bootloader/limine/releases/download/v9.3.4/limine-9.3.4.tar.xz,
0e1a946741db288a40361ad04ff38fe04bf0819834b8abb84c4b535fed9ba4ef,https://files.pythonhosted.org/packages/ba/85/50f030e20ca64562ac8fd36b65338c4da626739afd49200936f3d99a6047/lingua-4.15.0.tar.gz,
0eafd627b602f58d73917d00e4fc3196ba18cba67df6995a42aa74744d8efa16,https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.15.4.tar.xz,
21dbcec6e01dd578f14789eac9024a18941e6f2702a05cf91b28c232eeb26ab0,https://github.com/linux-pam/linux-pam/releases/download/v1.7.1/Linux-PAM-1.7.1.tar.xz,
cd8fd55d97ad3e360b1d5aaf98388d1f70dfffb7df36beee478be3b839ff9008,https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.7/llvm-project-20.1.7.src.tar.xz,
e236ea3a1ccf5f6c270b1c4bb60726f371fa49459a8eaaebc90b216b328daf2b,https://ftp.gnu.org/gnu/m4/m4-1.4.20.tar.xz,
e236ea3a1ccf5f6c270b1c4bb60726f371fa49459a8eaaebc90b216b328daf2b,https://ftpmirror.gnu.org/gnu/m4/m4-1.4.20.tar.xz,
beac7e00e5996bd0c9d9bd8cf62704583b22dbe8613bd768626b95fcac955744,https://gitlab.freedesktop.org/xorg/util/macros/-/archive/util-macros-1.20.2/macros-util-macros-1.20.2.tar.gz,
dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3,https://ftpmirror.gnu.org/gnu/make/make-4.4.1.tar.gz,
99579a6f39583fa7e5630a28c3c1f440e4e97a414b80372649c0ce338da2ea28,https://files.pythonhosted.org/packages/9e/38/bd5b78a920a64d708fe6bc8e0a2c075e1389d53bef8413725c63ba041535/mako-1.3.10.tar.gz,
ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0,https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz,
ec966eec39879f33c785343373021c44f887c836a08fcaf1d63412e3bdbfca32,https://skarnet.org/software/mdevd/mdevd-0.1.7.0.tar.gz,
35fcca3e039d0f7628af1c0db453a2425de68d4e9559f73f712ac36c440aaca1,https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-25.1.5/mesa-mesa-25.1.5.tar.gz,
c2ce8302e886b2d3534ec38896a824dc83f43698d085d57bb19a751611d94e86,https://git.sr.ht/~lattis/muon/archive/0.4.0.tar.gz,muon-0.4.0.tar.gz
a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4,https://musl.libc.org/releases/musl-1.2.5.tar.gz,
000b011d339c141af9646d43288f54325ff5c6e8d39d6e482b787bbc6654c26a,https://nano-editor.org/dist/v8/nano-8.5.tar.xz,
@ -43,19 +79,38 @@ a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4,https://musl.li
97fc51ac2b085d4cde31ef4d2c3122c21abc217e9090a43a30fc5ec21684e059,https://invisible-island.net/datafiles/release/ncurses.tar.gz,ncurses-6.3.tar.gz
9c8a64b59c90b0825e540a9b8fcb9d2d942c636f81ba50199f068fde44f34ed8,https://www.netfilter.org/pub/nftables/nftables-1.1.3.tar.xz,
938daaf721444d53bcd9e8743bdcf22124bcb0eb31fe16edc2a35122a75ed231,https://github.com/OpenRC/openrc/archive/refs/tags/0.62.5.tar.gz,openrc-0.62.5.tar.gz
d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f,https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz,
f87cee69eec2b4fcbf60a396b030ad6aa3415f192aa5f7ee84cad5e11f7f5ae3,https://ftpmirror.gnu.org/gnu/patch/patch-2.8.tar.xz,
e093ef184d7f9a1b9797e2465296f55510adb6dab8842b0c3ed53329663096dc,https://www.cpan.org/src/5.0/perl-5.42.0.tar.gz,
d075209d18728b1ca5d0bb864aa047a262a1fde206da8a677d6af75b2ee1ae98,https://cairographics.org/releases/pixman-0.46.2.tar.xz,
cd05c9589b9f86ecf044c10a2269822bc9eb001eced2582cfffd658b0a50c243,https://distfiles.ariadne.space/pkgconf/pkgconf-2.5.1.tar.xz,
f3ef94aefed6e183e342a8a269ae1fc4742ba193186ad76f175938621dbfc26b,https://files.pythonhosted.org/packages/10/9a/79b1067d27e38ddf84fe7da6ec516f1743f31f752c6122193e7bce38bdbf/polib-1.2.0.tar.gz,
c2e6d193cc78f84cd6ddb72aaf6d5c6a9162f0470e5992092057f5ff518562fa,https://gigenet.dl.sourceforge.net/project/procps-ng/Production/procps-ng-4.0.5.tar.xz,
1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8,https://files.pythonhosted.org/packages/e7/82/28175b2414effca1cdac8dc99f76d660e7a4fb0ceefa4b4ab8f5f6742925/pyproject_hooks-1.2.0.tar.gz,
61a42919e13d539f7673cf11d1c404380e28e540510860b9d242196e165709c9,https://www.python.org/ftp/python/3.9.23/Python-3.9.23.tar.xz,
d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e,https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz,
3b8cf51548dfc49b7efe035e191ff5e1963ebc4fe8f6064a5eefc5343eaf78a5,https://github.com/michaelforney/samurai/releases/download/1.2/samurai-1.2.tar.gz,
6e226b732e1cd739464ad6862bd1a1aba42d7982922da7a53519631d24975181,https://ftpmirror.gnu.org/gnu/sed/sed-4.9.tar.xz,
f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c,https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz,
3d555e92b75dacd037d32bafdf94f97af51ea29ae8c7b234cf94b7a5bd242a63,https://files.pythonhosted.org/packages/b9/19/7ae64b70b2429c48c3a7a4ed36f50f94687d3bfcd0ae2f152367b6410dff/setuptools_scm-8.3.1.tar.gz,
add4604d3bc410344433122a819ee4154b79dd8316a56298c60417e637c07608,https://github.com/shadow-maint/shadow/releases/download/4.18.0/shadow-4.18.0.tar.xz,
0e626261848cc920738f92fd50a24c14b21e30306dfed97b8435369f4bae00a5,https://skarnet.org/software/skalibs/skalibs-2.14.4.0.tar.gz,
a96f8b4f2dfb18f7432e5c523e220ab0075372a9509e0c25fbff21c76af0de7c,https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/vulkan-sdk-1.4.309.0.tar.gz,SPIRV-Headers-vulkan-sdk-1.4.309.0.tar.gz
5bbea925663d4cd2bab23efad53874f2718248a73dcaf9dd21dff8cb48e602fc,https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/vulkan-sdk-1.4.321.0.tar.gz,SPIRV-Headers-vulkan-sdk-1.4.321.0.tar.gz
f6c414f9384c8f68775d9461e55e7c492f01759f5a1754f30dad4cbfb049c7d7,https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/refs/tags/v20.1.4.tar.gz,spirv-llvm-translator-20.1.4.tar.gz
6a9313fa68e061d463f616357cd24cdf1c3a27d906ea791d7ba67dd1b6666a40,https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/v2025.1.tar.gz,spirv-tools-2025.1.tar.gz
4d62ff37342ec7aed748535323930c7cf94acf71c3591882b26a7ea50f3edc16,https://ftpmirror.gnu.org/gnu/tar/tar-1.35.tar.xz,
6ee152cfb083a378285a49c8e52294307458119147f795bfb7f460cb7ed1d659,https://github.com/illiliti/tinyramfs/archive/refs/tags/0.2.0.tar.gz,tinyramfs-0.2.0.tar.gz
cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff,https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz,
38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36,https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz,
26687ec84e3e114759454c884a08abeaf79dec09b041895ddf4c45ec150acb6d,https://lttng.org/files/urcu/userspace-rcu-0.15.3.tar.bz2,
be9ad9a276f4305ab7dd2f5225c8be1ff54352f565ff4dede9628c1aaa7dec57,https://www.kernel.org/pub/linux/utils/util-linux/v2.41/util-linux-2.41.1.tar.xz,
661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729,https://files.pythonhosted.org/packages/8a/98/2d9906746cdc6a6ef809ae6338005b3f21bb568bea3165cfc6a243fdc25c/wheel-0.45.1.tar.gz,
479447448281cfb6585ad780f23bd75311af20daf344fb9209c8a87ea77e296a,https://gitlab.freedesktop.org/xorg/proto/xcbproto/-/archive/xcb-proto-1.17.0/xcbproto-xcb-proto-1.17.0.tar.gz,
13b91f74beef8ad11137f7d9d71055573d91e961bc55bb0245956f69b84cd704,https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/xfsprogs-6.15.0.tar.xz,
9cb81ee7be29970e1b35e1da8f1a2f1a1c6b3b2ba84f3bffcfc0cd37cc81016e,https://github.com/X11Libre/xserver/archive/refs/tags/xlibre-xserver-25.0.0.1.tar.gz,
3910f5a5f6a0788788885d0fa016ada28182c3fc45ba91df83cffdd2b09dea32,https://github.com/X11Libre/xserver/archive/refs/tags/xlibre-xserver-25.0.0.4.tar.gz,
c92466091663b68d93997eab4f329d0be511cb448a61b61fe74a738f2698b77c,https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/archive/xorgproto-2024.1/xorgproto-xorgproto-2024.1.tar.gz,
0b54f79df85912504de0b14aec7971e3f964491af1812d83447005807513cd9e,https://github.com/tukaani-project/xz/releases/download/v5.8.1/xz-5.8.1.tar.xz,
a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166,https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz,
9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23,https://www.zlib.net/zlib-1.3.1.tar.gz,
9b8d1ecedd5b5e81fbf1918e876752a7dd948e05c1a0dba10ab863842d45acd5,https://www.zsh.org/pub/zsh-5.9.tar.xz,