diff options
| -rw-r--r-- | .gitattributes | 1 | ||||
| -rwxr-xr-x | build-bootstrap.sh | 13 | ||||
| -rwxr-xr-x | build-chroot.sh | 701 | ||||
| -rw-r--r-- | linux.x86_64.config | 137 | ||||
| -rw-r--r-- | patches/mesa-drm-maple.patch | 225 | ||||
| -rw-r--r-- | sources.list | 63 |
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, |
