summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Hill <ahill@breadpudding.dev>2025-07-18 23:03:00 -0400
committerAlexander Hill <ahill@breadpudding.dev>2025-07-18 23:03:11 -0400
commit9a562846c03b64ca63d1b1414a6b500942b975c7 (patch)
tree34ab04a62a3ca235fb0c5df0e790a24aad9e41bc
parent872a8c617e35fc549d618c53c7aaa1d347859d67 (diff)
Successfully built Mesa!
Special thanks to L3m0n-Cao for helping me set up the Python build environment!
-rw-r--r--.gitattributes1
-rwxr-xr-xbuild-bootstrap.sh13
-rwxr-xr-xbuild-chroot.sh701
-rw-r--r--linux.x86_64.config137
-rw-r--r--patches/mesa-drm-maple.patch225
-rw-r--r--sources.list63
6 files changed, 1070 insertions, 70 deletions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..1024bbd
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+*.patch text eol=lf \ No newline at end of file
diff --git a/build-bootstrap.sh b/build-bootstrap.sh
index 1573903..0996b52 100755
--- a/build-bootstrap.sh
+++ b/build-bootstrap.sh
@@ -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 \
diff --git a/build-chroot.sh b/build-chroot.sh
index 1fc2fe9..c053a37 100755
--- a/build-chroot.sh
+++ b/build-chroot.sh
@@ -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 ..
diff --git a/linux.x86_64.config b/linux.x86_64.config
index 6cff26a..ade3793 100644
--- a/linux.x86_64.config
+++ b/linux.x86_64.config
@@ -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
@@ -3271,15 +3305,6 @@ 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
#
# end of 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
@@ -4743,6 +4765,13 @@ CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
# 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
#
# CONFIG_LIST_HARDENED is not set
@@ -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
diff --git a/patches/mesa-drm-maple.patch b/patches/mesa-drm-maple.patch
new file mode 100644
index 0000000..8b3079a
--- /dev/null
+++ b/patches/mesa-drm-maple.patch
@@ -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);
+-}
diff --git a/sources.list b/sources.list
index 71b53bb..c49bad6 100644
--- a/sources.list
+++ b/sources.list
@@ -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,