summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Hill <ahill@breadpudding.dev>2025-11-07 19:32:17 -0500
committerAlexander Hill <ahill@breadpudding.dev>2025-11-07 19:32:17 -0500
commit5484dbc5de255c56766f66d0c1d7afdcf988ee99 (patch)
treed4f228a2a8f7e0bde29721aca47fd7bf0f3de95b
parentd97f4abeb3a36af6b8d6289edb725d1e6522a71f (diff)
Discovered a much faster way to build LLVM
-rw-r--r--Dockerfile6
-rwxr-xr-xbuild-bootstrap.sh488
-rw-r--r--sources.list34
3 files changed, 160 insertions, 368 deletions
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index 2b16c4d..0000000
--- a/Dockerfile
+++ /dev/null
@@ -1,6 +0,0 @@
-FROM alpine:latest
-
-RUN apk update
-RUN apk upgrade
-RUN apk add cargo clang cmake curl git libc++ linux-headers make python3 rsync rust samurai umount
-RUN git clone https://github.com/cbpudding/maplelinux-bootstrap /maple
diff --git a/build-bootstrap.sh b/build-bootstrap.sh
index e4bf660..f1a43f3 100755
--- a/build-bootstrap.sh
+++ b/build-bootstrap.sh
@@ -1,115 +1,126 @@
-#!/bin/sh -e
+#!/bin/zsh -e
+export BUILD=$(clang -dumpmachine)
export MAPLE=$(pwd)/maple
+export MICROARCH="skylake"
+export TARGET=x86_64-maple-linux-musl
-export BUILD=$(clang -dumpmachine)
+export AR=llvm-ar
export CC=clang
-export CFLAGS="-O3 -march=skylake -pipe"
+export CFLAGS="-O3 -march=$MICROARCH -pipe"
export CXX=clang++
export CXXFLAGS="$CFLAGS"
-export HOST=x86_64-maple-linux-musl
export LD=ld.lld
+export RANLIB=llvm-ranlib
export THREADS=$(nproc)
-# A simplified FHS variant with symlinks for backwards compatibility ~ahill
-# TODO: Where does /usr/com fit into all of this (shared state directory)? ~ahill
-mkdir -p $MAPLE/bin
-mkdir -p $MAPLE/boot
-mkdir -p $MAPLE/boot/EFI/BOOT/
-mkdir -p $MAPLE/dev
-mkdir -p $MAPLE/etc
-mkdir -p $MAPLE/home
-mkdir -p $MAPLE/lib
+# A simplified version of the filesystem loosely based on FHS with symlinks for
+# backwards compatibility. ~ahill
+mkdir -p $MAPLE/{bin,boot/EFI/BOOT,dev,etc,home,lib,proc,run,sys,tmp,usr/{include,share},var/{cache,lib,log,spool,tmp}}
# TODO: Does it make sense to have this long-term? Anything that depends on
# libc++ fails to link without it, but this should be fixed via a
# configuration change in LLVM. ~ahill
-ln -sf . $MAPLE/lib/$HOST
-mkdir -p $MAPLE/maple/patches
-mkdir -p $MAPLE/maple/sources
-mkdir -p $MAPLE/proc
-mkdir -p $MAPLE/run
+ln -sf . $MAPLE/lib/$TARGET
+ln -sf . $MAPLE/usr/include/$TARGET
+# NOTE: Symlinks are for compatibility's sake. These shouldn't have to exist for
+# the base system to function. ~ahill
ln -sf bin $MAPLE/sbin
-mkdir -p $MAPLE/sys
-mkdir -p $MAPLE/tmp
-mkdir -p $MAPLE/usr
ln -sf ../bin $MAPLE/usr/bin
-mkdir -p $MAPLE/usr/include
-ln -sf . $MAPLE/usr/include/$HOST
+ln -sf ../bin $MAPLE/usr/sbin
ln -sf ../lib $MAPLE/usr/lib
ln -sf ../lib $MAPLE/usr/libexec
-ln -sf ../bin $MAPLE/usr/sbin
-mkdir -p $MAPLE/usr/share
-mkdir -p $MAPLE/var
-mkdir -p $MAPLE/var/cache
-mkdir -p $MAPLE/var/lib
ln -sf ../run/lock $MAPLE/var/lock
-mkdir -p $MAPLE/var/log
ln -sf ../run $MAPLE/var/run
-mkdir -p $MAPLE/var/spool
-mkdir -p $MAPLE/var/tmp
-mkdir -p build
-cd build
-
-# LLVM Build
-tar xf ../sources/llvm-project-*.tar*
-cd llvm-project-*/
-# TODO: Python is a required part of LLVM, but we can't include the latest
-# version due to conflicts with LibreSSL. Maybe we can piggyback off of
-# 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 \
- -DCLANG_DEFAULT_CXX_STDLIB=libc++ \
- -DCLANG_DEFAULT_RTLIB=compiler-rt \
- -DCLANG_DEFAULT_UNWINDLIB=libunwind \
- -DCLANG_VENDOR=Maple \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=$MAPLE/maple/tools \
- -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \
- -DLIBCXX_CXX_ABI=libcxxabi \
- -DLIBCXX_HAS_MUSL_LIBC=ON \
- -DLIBCXX_USE_COMPILER_RT=ON \
- -DLIBCXXABI_USE_COMPILER_RT=ON \
- -DLIBCXXABI_USE_LLVM_UNWINDER=ON \
- -DLIBUNWIND_ENABLE_ASSERTIONS=OFF \
- -DLIBUNWIND_USE_COMPILER_RT=ON \
- -DLLVM_BUILD_LLVM_DYLIB=ON \
- -DLLVM_DEFAULT_TARGET_TRIPLE=$HOST \
- -DLLVM_ENABLE_LIBCXX=ON \
- -DLLVM_ENABLE_PROJECTS="clang;lld;llvm" \
- -DLLVM_ENABLE_RUNTIMES="compiler-rt;libunwind;libcxxabi;libcxx" \
- -DLLVM_HOST_TRIPLE=$BUILD \
- -DLLVM_INSTALL_BINUTILS_SYMLINKS=ON \
- -DLLVM_INSTALL_UTILS=ON \
- -DLLVM_LINK_LLVM_DYLIB=ON
-cmake --build stage1
-cmake --install stage1
-cd ..
+# NOTE: These are exclusively used for the bootstrapping process and can be
+# removed later. ~ahill
+mkdir -p $MAPLE/maple/{patches,sources}
-export CC="$MAPLE/maple/tools/bin/clang"
-export CFLAGS="$CFLAGS --sysroot=$MAPLE"
-export CXX="$MAPLE/maple/tools/bin/clang++"
-export CXXFLAGS="$CFLAGS"
-export LD=$MAPLE/maple/tools/bin/ld.lld
-export PATH="$MAPLE/maple/tools/bin:$PATH"
-export RUSTFLAGS="-C target-feature=-crt-static"
+# Create the build directory and enter it so we can begin! ~ahill
+mkdir build
+cd build
# Linux Headers
tar xf ../sources/linux-*.tar*
cd linux-*/
LLVM=1 make -j $THREADS mrproper
-# TODO: Why do we need rsync to install the Linux headers? ~ahill
-LLVM=1 make -j $THREADS headers_install INSTALL_HDR_PATH=$MAPLE/usr
+# NOTE: We don't use the built-in headers_install here because it requires rsync
+# for some reason. ~ahill
+LLVM=1 make -j $THREADS headers
+find usr/include -type f ! -name "*.h" -delete
+cp -r usr/include $MAPLE/usr
cd ..
-# musl Build
-# FIXME: CVE-2025-26519
+# musl Build (Stage 1)
tar xf ../sources/musl-*.tar*
cd musl-*/
-./configure --includedir=/usr/include --prefix=""
+./configure \
+ --bindir=/bin \
+ --build=$BUILD \
+ --includedir=/usr/include \
+ --libdir=/lib \
+ --prefix=/ \
+ --target=$TARGET
+make -O -j $THREADS
+make -O install-headers DESTDIR=$MAPLE
+cd ..
+
+# LLVM Build
+tar xf ../sources/llvm-project-*.tar*
+cd llvm-project-*/
+
+# Common flags used across all of the LLVM builds
+COMMON_LLVM_CMAKE=(
+ "-DCMAKE_ASM_COMPILER_TARGET=$TARGET"
+ "-DCMAKE_BUILD_TYPE=Release"
+ "-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON"
+ "-DCMAKE_C_COMPILER=$CC"
+ "-DCMAKE_C_COMPILER_TARGET=$TARGET"
+ "-DCMAKE_CXX_COMPILER=$CXX"
+ "-DCMAKE_CXX_COMPILER_TARGET=$TARGET"
+ "-DCMAKE_FIND_ROOT_PATH=$MAPLE"
+ "-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY"
+ "-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY"
+ "-DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY"
+ "-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER"
+ "-DCMAKE_INSTALL_DATAROOTDIR=usr/share"
+ "-DCMAKE_INSTALL_INCLUDEDIR=usr/include"
+ "-DCMAKE_INSTALL_LIBEXECDIR=lib"
+ "-DCMAKE_INSTALL_PREFIX=$MAPLE"
+ "-DCMAKE_INSTALL_RPATH=/lib"
+ "-DCMAKE_INSTALL_RUNSTATEDIR=run"
+ "-DCMAKE_INSTALL_SHAREDSTATEDIR=usr/com"
+ "-DCMAKE_SYSROOT=$MAPLE"
+ "-DCMAKE_SYSTEM_NAME=Linux"
+ "-DLLVM_HOST_TRIPLE=$TARGET"
+ "-DLLVM_USE_LINKER=lld"
+ "-DLLVM_TARGETS_TO_BUILD=X86"
+ "-DLLVM_ENABLE_ZSTD=OFF"
+)
+
+# (LLVM) Builtins Build
+# NOTE: For some reason, atomics are not built unless you... disable the thing
+# that disables it? Why was it implemented this way? ~ahill
+cmake -S compiler-rt/lib/builtins -B build-builtins \
+ $COMMON_LLVM_CMAKE \
+ -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=OFF
+cmake --build build-builtins
+cmake --install build-builtins
+
+# musl Build (Stage 2)
+# FIXME: CVE-2025-26519
+cd ../musl-*/
+make -O clean
+CFLAGS="-fuse-ld=lld --sysroot=$MAPLE $CFLAGS" \
+LIBCC="$MAPLE/lib/linux/libclang_rt.builtins-x86_64.a" \
+./configure \
+ --bindir=/bin \
+ --build=$BUILD \
+ --includedir=/usr/include \
+ --libdir=/lib \
+ --prefix=/ \
+ --target=$TARGET
make -O -j $THREADS
-make -O -j $THREADS install DESTDIR=$MAPLE
+make -O install DESTDIR=$MAPLE
# NOTE: musl provides static libraries for POSIX libraries such as libm, but
# fails to provide shared versions which will breaks builds later on.
# Granted, they are useless since libc.so contains all the functionality
@@ -123,272 +134,59 @@ done
# entry point is something I have never thought of before, but I'm
# interested in exploring the possibilities. ~ahill
ln -sf /lib/ld-musl-x86_64.so.1 $MAPLE/bin/ldd
-cd ..
-
-# dash Build
-tar xf ../sources/dash-*.tar*
-cd dash-*/
-./configure \
- --datarootdir=/usr/share \
- --exec-prefix="" \
- --includedir=/usr/include \
- --libexecdir=/lib \
- --prefix="" \
- --sharedstatedir=/usr/com
-make -O -j $THREADS
-make -O -j $THREADS install DESTDIR=$MAPLE
-ln -sf dash $MAPLE/bin/sh
-cd ..
-
-# m4 Build
-tar xf ../sources/m4-*.tar*
-cd m4-*/
-./configure \
- --datarootdir=/usr/share \
- --disable-nls \
- --enable-c++ \
- --includedir=/usr/include \
- --libexecdir=/lib \
- --prefix="" \
- --sharedstatedir=/usr/com
-make -O -j $THREADS
-make -O -j $THREADS install DESTDIR=$MAPLE
-cd ..
-
-# Coreutils Build
-tar xf ../sources/coreutils-*.tar*
-cd coreutils-*/
-./configure \
- --datarootdir=/usr/share \
- --disable-nls \
- --enable-install-program=hostname \
- --includedir=/usr/include \
- --libexecdir=/lib \
- --prefix="" \
- --sharedstatedir=/usr/com
-make -O -j $THREADS
-make -O -j $THREADS install DESTDIR=$MAPLE
-cd ..
+cd ../llvm-project-*/
-# Diffutils Build
-tar xf ../sources/diffutils-*.tar*
-cd diffutils-*/
-./configure \
- --disable-nls \
- --exec-prefix="" \
- --libexecdir=/lib \
- --localstatedir=/var \
- --prefix=/usr \
- --sysconfdir=/etc
-make -O -j $THREADS
-make -O -j $THREADS install DESTDIR=$MAPLE
-cd ..
-
-# Findutils Build
-tar xf ../sources/findutils-*.tar*
-cd findutils-*/
-./configure \
- --datarootdir=/usr/share \
- --disable-nls \
- --exec-prefix="" \
- --libexecdir=/lib \
- --localstatedir=/var \
- --prefix=/usr \
- --sysconfdir=/etc
-make -O -j $THREADS
-make -O -j $THREADS install DESTDIR=$MAPLE
-cd ..
-
-# Grep Build
-tar xf ../sources/grep-*.tar*
-cd grep-*/
-./configure \
- --datarootdir=/usr/share \
- --disable-nls \
- --exec-prefix="" \
- --libexecdir=/lib \
- --localstatedir=/var \
- --prefix=/usr \
- --sysconfdir=/etc
-make -O -j $THREADS
-make -O -j $THREADS install DESTDIR=$MAPLE
-cd ..
-
-# Gzip Build
-tar xf ../sources/gzip-*.tar*
-cd gzip-*/
-./configure \
- --datarootdir=/usr/share \
- --exec-prefix="" \
- --libexecdir=/lib \
- --localstatedir=/var \
- --prefix=/usr \
- --sysconfdir=/etc
-make -O -j $THREAD
-make -O -j $THREAD install DESTDIR=$MAPLE
-cd ..
-
-# Make Build
-tar xf ../sources/make-*.tar*
-cd make-*/
-./configure \
- --datarootdir=/usr/share \
- --disable-nls \
- --enable-year2038 \
- --exec-prefix="" \
- --libexecdir=/lib \
- --localstatedir=/var \
- --prefix=/usr \
- --sysconfdir=/etc
-make -O -j $THREAD
-make -O -j $THREAD install DESTDIR=$MAPLE
-cd ..
-
-# Sed Build
-tar xf ../sources/sed-*.tar*
-cd sed-*/
-./configure \
- --datarootdir=/usr/share \
- --disable-i18n \
- --disable-nls \
- --exec-prefix="" \
- --libexecdir=/lib \
- --localstatedir=/var \
- --prefix=/usr \
- --sysconfdir=/etc
-make -O -j $THREAD
-make -O -j $THREAD install DESTDIR=$MAPLE
-cd ..
-
-# Tar Build
-tar xf ../sources/tar-*.tar*
-cd tar-*/
-./configure \
- --datarootdir=/usr/share \
- --disable-nls \
- --exec-prefix="" \
- --libexecdir=/lib \
- --localstatedir=/var \
- --prefix=/usr \
- --sysconfdir=/etc
-make -O -j $THREAD
-make -O -j $THREAD install DESTDIR=$MAPLE
-cd ..
-
-# Xz Build
-tar xf ../sources/xz-*.tar*
-cd xz-*/
-./configure \
- --datarootdir=/usr/share \
- --disable-doc \
- --disable-nls \
- --disable-static \
- --enable-year2038 \
- --exec-prefix="" \
- --libexecdir=/lib \
- --localstatedir=/var \
- --prefix=/usr \
- --sysconfdir=/etc
-make -O -j $THREAD
-make -O -j $THREAD install DESTDIR=$MAPLE
-cd ..
-
-# Gawk Build
-tar xf ../sources/gawk-*.tar*
-cd gawk-*/
-./configure \
- --disable-mpfr \
- --disable-nls \
- --exec-prefix="" \
- --libexecdir=/lib \
- --localstatedir=/var \
- --prefix=/usr \
- --sysconfdir=/etc
-make -O -j $THREADS
-make -O -j $THREADS install DESTDIR=$MAPLE
-cd ..
-
-# LLVM Build (Stage 2)
-# NOTE: We are removing the sysroot option from CFLAGS and CXXFLAGS to prevent a
-# potential conflict with CMake. Adapted from Nick's contribution. ~ahill
-export CFLAGS=$(echo $CFLAGS | sed "s/--sysroot=\S*//")
-export CXXFLAGS=$(echo $CXXFLAGS | sed "s/--sysroot=\S*//")
-cd llvm-project-*/
-TOOLCHAIN_FILE=$HOST-maple-clang.cmake
-# NOTE: First time doing this. Did I do it right? ~ahill
-echo "set(CMAKE_SYSTEM_NAME Linux)" > $TOOLCHAIN_FILE
-echo "set(CMAKE_SYSROOT $MAPLE)" >> $TOOLCHAIN_FILE
-echo "set(CMAKE_C_COMPILER_TARGET $HOST)" >> $TOOLCHAIN_FILE
-echo "set(CMAKE_CXX_COMPILER_TARGET $HOST)" >> $TOOLCHAIN_FILE
-echo "set(CMAKE_C_FLAGS_INIT \"$CFLAGS\")" >> $TOOLCHAIN_FILE
-echo "set(CMAKE_CXX_FLAGS_INIT \"$CXXFLAGS\")" >> $TOOLCHAIN_FILE
-echo "set(CMAKE_LINKER_TYPE LLD)" >> $TOOLCHAIN_FILE
-echo "set(CMAKE_C_COMPILER \"$CC\")" >> $TOOLCHAIN_FILE
-echo "set(CMAKE_CXX_COMPILER \"$CXX\")" >> $TOOLCHAIN_FILE
-echo "set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)" >> $TOOLCHAIN_FILE
-echo "set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)" >> $TOOLCHAIN_FILE
-echo "set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)" >> $TOOLCHAIN_FILE
-echo "set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)" >> $TOOLCHAIN_FILE
+# (LLVM) Runtimes Build
# TODO: Is it possible to prevent CMake from building static libraries? ~ahill
-# NOTE: compiler-rt fails to build on musl because execinfo.h is missing.
-# Disabling COMPILER_RT_BUILD_GWP_ASAN works. ~ahill
-# See also: https://github.com/llvm/llvm-project/issues/60687
-# TODO: When building LLVM from an older version, clang-tblgen and llvm-tblgen
-# start complaining about missing libc++ symbols when CMake builds a
-# native version for the build. CLANG_TABLEGEN and LLVM_TABLEGEN are both
-# set, but that only seems to temporarily defer the build. ~ahill
-# See also: https://github.com/llvm/llvm-project/issues/53561
-cmake -B stage2 -G Ninja -S llvm \
+# NOTE: We have to trick CMake because we don't have a copy of libunwind yet, so
+# CMAKE_C_COMPILER_WORKS and CMAKE_CXX_COMPILER_WORKS are manually set to
+# prevent it from trying to link with libunwind initially. ~ahill
+cmake -S runtimes -B build-runtimes \
+ $COMMON_LLVM_CMAKE \
+ -DCMAKE_C_COMPILER_WORKS=ON \
+ -DCMAKE_C_FLAGS="-fuse-ld=lld -Qunused-arguments -rtlib=compiler-rt -Wl,--dynamic-linker=/lib/ld-musl-x86_64.so.1" \
+ -DCMAKE_CXX_COMPILER_WORKS=ON \
+ -DCMAKE_CXX_FLAGS="-fuse-ld=lld -Qunused-arguments -rtlib=compiler-rt -Wl,--dynamic-linker=/lib/ld-musl-x86_64.so.1" \
+ -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=OFF \
+ -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \
+ -DLIBCXX_CXX_ABI=libcxxabi \
+ -DLIBCXX_HAS_MUSL_LIBC=ON \
+ -DLIBCXX_USE_COMPILER_RT=ON \
+ -DLIBCXXABI_HAS_CXA_THREAD_ATEXIT_IMPL=OFF \
+ -DLIBCXXABI_USE_COMPILER_RT=ON \
+ -DLIBCXXABI_USE_LLVM_UNWINDER=ON \
+ -DLIBUNWIND_USE_COMPILER_RT=ON \
+ -DLLVM_ENABLE_RUNTIMES="compiler-rt;libunwind;libcxxabi;libcxx"
+cmake --build build-runtimes
+cmake --install build-runtimes
+
+# (LLVM) LLVM Build
+# NOTE: For some reason, atomics cannot be found in compiler-rt, so we have to
+# help it by specifying HAVE_CXX_ATOMICS_WITHOUT_LIB and
+# HAVE_CXX_ATOMICS64_WITHOUT_LIB. ~ahill
+cmake -S llvm -B build-llvm \
+ $COMMON_LLVM_CMAKE \
-DCLANG_DEFAULT_CXX_STDLIB=libc++ \
- -DCLANG_DEFAULT_RTLIB=compiler-rt \
- -DCLANG_DEFAULT_UNWINDLIB=libunwind \
- -DCLANG_VENDOR=Maple \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
- -DCMAKE_INSTALL_BINDIR=$MAPLE/bin \
- -DCMAKE_INSTALL_LIBDIR=$MAPLE/lib \
- -DCMAKE_INSTALL_PREFIX=$MAPLE/usr \
- -DCMAKE_INSTALL_RPATH=/lib \
- -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
- -DCMAKE_TOOLCHAIN_FILE=$(pwd)/$TOOLCHAIN_FILE \
- -DCOMPILER_RT_BUILD_GWP_ASAN=OFF \
- -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \
- -DLIBCXX_CXX_ABI=libcxxabi \
- -DLIBCXX_HAS_MUSL_LIBC=ON \
- -DLIBCXX_USE_COMPILER_RT=ON \
- -DLIBCXXABI_USE_COMPILER_RT=ON \
- -DLIBCXXABI_USE_LLVM_UNWINDER=ON \
- -DLIBUNWIND_ENABLE_ASSERTIONS=OFF \
- -DLIBUNWIND_USE_COMPILER_RT=ON \
- -DLLVM_BUILD_LLVM_DYLIB=ON \
- -DLLVM_ENABLE_LIBCXX=ON \
- -DLLVM_ENABLE_LLD=ON \
- -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 \
- -DLLVM_INSTALL_BINUTILS_SYMLINKS=ON \
- -DLLVM_INSTALL_UTILS=ON \
- -DLLVM_LINK_LLVM_DYLIB=ON
-cmake --build stage2
-cmake --install stage2
-ln -sf clang $MAPLE/bin/cc
-ln -sf clang++ $MAPLE/bin/c++
-ln -sf ld.lld $MAPLE/bin/ld
-# NOTE: Temporary workaround because builds that require __config fail
-# otherwise. Is there a better solution for this? ~ahill
-mv $MAPLE/maple/tools/include/$HOST/c++/v1/__config_site $MAPLE/maple/tools/include/c++/v1/
-cd ..
-
-# Rust Build
-tar xf ../sources/rustc-*.tar*
-cd rustc-*/
+ -DCLANG_DEFAULT_RTLIB=compiler-rt \
+ -DCLANG_DEFAULT_UNWINDLIB=libunwind \
+ -DCLANG_VENDOR=Maple \
+ -DCMAKE_C_FLAGS="-fuse-ld=lld -Qunused-arguments -rtlib=compiler-rt -unwindlib=libunwind -Wl,--dynamic-linker=/lib/ld-musl-x86_64.so.1" \
+ -DCMAKE_CXX_FLAGS="-fuse-ld=lld -Qunused-arguments -rtlib=compiler-rt -stdlib=libc++ -unwindlib=libunwind -Wl,--dynamic-linker=/lib/ld-musl-x86_64.so.1" \
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+ -DCXX_SUPPORTS_CUSTOM_LINKER=ON \
+ -DHAVE_CXX_ATOMICS_WITHOUT_LIB=ON \
+ -DHAVE_CXX_ATOMICS64_WITHOUT_LIB=ON \
+ -DLLVM_BUILD_LLVM_DYLIB=ON \
+ -DLLVM_ENABLE_LIBCXX=ON \
+ -DLLVM_ENABLE_PROJECTS="clang;libclc;lld;lldb;llvm" \
+ -DLLVM_ENABLE_RTTI=ON \
+ -DLLVM_INSTALL_BINUTILS_SYMLINKS=ON \
+ -DLLVM_INSTALL_UTILS=ON \
+ -DLLVM_LINK_LLVM_DYLIB=ON
+cmake --build build-llvm
# ...
-cd ..
+# Finally done with LLVM ~ahill
cd ..
-# Copy the necessary configuration files to the bootstrap
-cp -rv root/* maple/
-cp config/linux.$(uname -m).config $MAPLE/maple/
+# ... \ No newline at end of file
diff --git a/sources.list b/sources.list
index d84c23f..f9ebdaf 100644
--- a/sources.list
+++ b/sources.list
@@ -1,25 +1,25 @@
#sha256sum,comment,url,filename(optional)
-ba885c1319578d6c94d46e9b0dceb4014caafe2490e437a0dbca3f270a223f5a,autoconf,https://ftpmirror.gnu.org/gnu/autoconf/autoconf-2.72.tar.xz,
-168aa363278351b89af56684448f525a5bce5079d0b6842bd910fdd3f1646887,automake,https://ftpmirror.gnu.org/gnu/automake/automake-1.18.1.tar.xz,
+ba885c1319578d6c94d46e9b0dceb4014caafe2490e437a0dbca3f270a223f5a,autoconf,https://ftp.gnu.org/gnu/autoconf/autoconf-2.72.tar.xz,
+168aa363278351b89af56684448f525a5bce5079d0b6842bd910fdd3f1646887,automake,https://ftp.gnu.org/gnu/automake/automake-1.18.1.tar.xz,
0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d,babel,https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz,
-ae470fec429775653e042015edc928d07c8c3b2fc59765172a330d3d87785f86,bc,https://ftpmirror.gnu.org/gnu/bc/bc-1.08.2.tar.gz,
-9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2,bison,https://ftpmirror.gnu.org/gnu/bison/bison-3.8.2.tar.xz,
+ae470fec429775653e042015edc928d07c8c3b2fc59765172a330d3d87785f86,bc,https://ftp.gnu.org/gnu/bc/bc-1.08.2.tar.gz,
+9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2,bison,https://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.xz,
698edd0ea270bde950f53aed21f3a0135672206f3911e0176261a31e0e07b397,build,https://files.pythonhosted.org/packages/25/1c/23e33405a7c9eac261dff640926b8b5adaed6a6eb3e1767d441ed611d0c0/build-1.3.0.tar.gz,
ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269,bzip2,https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz,
445ed8208a6e4823de1226a74ca319d3600e83f6369f99b14265006599c32ccb,cairo,https://cairographics.org/releases/cairo-1.18.4.tar.xz,
33ea8eb2a4daeaa506e8fcafd5d6d89027ed6f2f0609645c6f149b560d301706,chrony,https://chrony-project.org/releases/chrony-4.8.tar.gz,
ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a,click,https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz,
643f04182b7ba323ab31f526f785134fb79cba3188a852206ef0473fee282a15,cmake,https://github.com/Kitware/CMake/releases/download/v4.1.2/cmake-4.1.2.tar.gz,
-e6d4fd2d852c9141a1c2a18a13d146a0cd7e45195f72293a4e4c044ec6ccca15,coreutils,https://ftpmirror.gnu.org/gnu/coreutils/coreutils-9.8.tar.xz,
-937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db,cpio,https://ftpmirror.gnu.org/gnu/cpio/cpio-2.15.tar.bz2,
+e6d4fd2d852c9141a1c2a18a13d146a0cd7e45195f72293a4e4c044ec6ccca15,coreutils,https://ftp.gnu.org/gnu/coreutils/coreutils-9.8.tar.xz,
+937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db,cpio,https://ftp.gnu.org/gnu/cpio/cpio-2.15.tar.bz2,
40c8cddbcb6cc6251c03dea423a472a6cea4037be654ba5cf5dec6eb2d22ff1d,curl,https://curl.se/download/curl-8.16.0.tar.xz,
845fd61702ae5e53e09664faa450da82805958924b109b8c5b4777bd8551af00,dash,https://salsa.debian.org/debian/dash/-/archive/debian/0.5.12-12/dash-debian-0.5.12-12.tar.gz,
6721e606609226dbf4d864a78802a9e96beec0ee034a1bd84138b3e037bba7d9,dhcpcd,https://github.com/NetworkConfiguration/dhcpcd/releases/download/v10.2.4/dhcpcd-10.2.4.tar.xz,
-7c8b7f9fc8609141fdea9cece85249d308624391ff61dedaf528fcb337727dfd,diffutils,https://ftpmirror.gnu.org/gnu/diffutils/diffutils-3.12.tar.xz,
+7c8b7f9fc8609141fdea9cece85249d308624391ff61dedaf528fcb337727dfd,diffutils,https://ftp.gnu.org/gnu/diffutils/diffutils-3.12.tar.xz,
64926eebf90092dca21b14259a5301b7b98e7b1943e8a201c7d726084809b527,dosfstools,https://github.com/dosfstools/dosfstools/releases/download/v4.2/dosfstools-4.2.tar.gz,
93ebe1294ee3203d3bf548c78d51bde9494d3f24de64eaec380a2620f0431f20,dropbear,https://github.com/mkj/dropbear/archive/refs/tags/DROPBEAR_2025.88.tar.gz,dropbear-2025.88.tar.gz
71df8f40706a7bb0a80a5367079ea75d91da4f8c65c58ec59bcdfbf7decdab9f,expat,https://github.com/libexpat/libexpat/releases/download/R_2_7_3/expat-2.7.3.tar.xz,
-1387e0b67ff247d2abde998f90dfbf70c1491391a59ddfecb8ae698789f0a4f5,findutils,https://ftpmirror.gnu.org/gnu/findutils/findutils-4.10.0.tar.xz,
+1387e0b67ff247d2abde998f90dfbf70c1491391a59ddfecb8ae698789f0a4f5,findutils,https://ftp.gnu.org/gnu/findutils/findutils-4.10.0.tar.xz,
1b1cde5b235d40479e91be2f0e88a309e3214c8ab470ec8a2744d82a5a9ea05c,fribidi,https://github.com/fribidi/fribidi/releases/download/v1.0.16/fribidi-1.0.16.tar.xz,
2b47e8f2d90d35d29339ed78e1a6eabb36eefa9cfa5a5ca3b0d1f27502c43675,flatpak,https://github.com/flatpak/flatpak/releases/download/1.16.1/flatpak-1.16.1.tar.xz,
e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995,flex,https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz,
@@ -27,7 +27,7 @@ e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995,flex,https://gi
f0129159515c13ebe53ba2a6a94755e98c266470e844ee0aacc6196fd62b44f0,font-util,https://gitlab.freedesktop.org/xorg/font/util/-/archive/font-util-1.4.1/util-font-util-1.4.1.tar.gz,
82e73b26adad651b236e5f5d4b3074daf8ff0910188808496326bd3449e5261d,fontconfig,https://gitlab.freedesktop.org/fontconfig/fontconfig/-/archive/2.17.1/fontconfig-2.17.1.tar.gz,
32427e8c471ac095853212a37aef816c60b42052d4d9e48230bab3bdf2936ccc,freetype,https://download.savannah.gnu.org/releases/freetype/freetype-2.14.1.tar.xz,
-f8c3486509de705192138b00ef2c00bbbdd0e84c30d5c07d23fc73a9dc4cc9cc,gawk,https://ftpmirror.gnu.org/gnu/gawk/gawk-5.3.2.tar.xz,
+f8c3486509de705192138b00ef2c00bbbdd0e84c30d5c07d23fc73a9dc4cc9cc,gawk,https://ftp.gnu.org/gnu/gawk/gawk-5.3.2.tar.xz,
cc591e3949a95e2f7b50173c9373df8846648b15aa596d9e7ec7258381bfac0d,gdk-pixbuf,https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/archive/2.44.3/gdk-pixbuf-2.44.3.tar.gz,
d1fb86e260cfe7da6031f94d2e44c0da55903dbae0a2fa0fae78c91ae1b56f00,gettext,https://ftp.gnu.org/pub/gnu/gettext/gettext-0.26.tar.xz,
3524fc5fd81f16f80e1696a8281bd8ad831048b67848015d7b7382bf365ae685,git,https://github.com/git/git/archive/refs/tags/v2.51.0.tar.gz,git-2.51.0.tar.gz
@@ -35,9 +35,9 @@ d1fb86e260cfe7da6031f94d2e44c0da55903dbae0a2fa0fae78c91ae1b56f00,gettext,https:/
b16c78e7604b9be9f546ee35ad8b6db6f39bbbbfb19e8d038b6fe2ea5bba4ff4,glslang,https://github.com/KhronosGroup/glslang/archive/refs/tags/15.4.0.tar.gz,glslang-15.4.0.tar.gz
a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898,gmp,https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz,
fd87e0aba7e43ae054837afd6cd4db03a3f2693deb3619085e6ed9d8d9604ad8,gperf,https://ftp.gnu.org/pub/gnu/gperf/gperf-3.3.tar.gz,
-2649b27c0e90e632eadcd757be06c6e9a4f48d941de51e7c0f83ff76408a07b9,grep,https://ftpmirror.gnu.org/gnu/grep/grep-3.12.tar.xz,
+2649b27c0e90e632eadcd757be06c6e9a4f48d941de51e7c0f83ff76408a07b9,grep,https://ftp.gnu.org/gnu/grep/grep-3.12.tar.xz,
069a00aa1fc893f18423602f4e095583be5a220429f6e8a58d70511490b4b019,gvdb,https://gitlab.gnome.org/GNOME/gvdb/-/archive/2b42fc75f09dbe1cd1057580b5782b08f2dcb400/gvdb-2b42fc75f09dbe1cd1057580b5782b08f2dcb400.tar.gz,
-01a7b881bd220bfdf615f97b8718f80bdfd3f6add385b993dcf6efd14e8c0ac6,gzip,https://ftpmirror.gnu.org/gnu/gzip/gzip-1.14.tar.xz,
+01a7b881bd220bfdf615f97b8718f80bdfd3f6add385b993dcf6efd14e8c0ac6,gzip,https://ftp.gnu.org/gnu/gzip/gzip-1.14.tar.xz,
e5c81b7f6e0b102dfb000cfa424538b8e896ab78a2f4b8a5ec8cae62ab43369e,harfbuzz,https://github.com/harfbuzz/harfbuzz/releases/download/12.1.0/harfbuzz-12.1.0.tar.xz,
d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000,importlib_metadata,https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz,
9781e59410ab7dea8e9f79bb10ff1488e63d10fcbb70503b94426ba27a8e2dec,iproute2,https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-6.17.0.tar.xz,
@@ -60,7 +60,7 @@ f3a3082a23b37c293a4fcd1053147b371f2ff91fa7ea1b2a52e335676bac82dc,libffi,https://
a395317730e0e8d5e71419d4d1256a89e32c2fa793607b63c4d0fb497ae34602,libpciaccess,https://gitlab.freedesktop.org/xorg/lib/libpciaccess/-/archive/libpciaccess-0.18.1/libpciaccess-libpciaccess-0.18.1.tar.gz,
4df396518620a7aa3651443e87d1b2862e4e88cad135a8b93423e01706232307,libpng,https://download.sourceforge.net/libpng/libpng-1.6.50.tar.xz,
c7ff7a7d675d5f57730940e5ccff1dbe2dcd5b7405b5397e0f7ffd66a5ed5679,libressl,https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-4.1.1.tar.gz,
-f81f5860666b0bc7d84baddefa60d1cb9fa6fceb2398cc3baca6afaa60266675,libtool,https://ftpmirror.gnu.org/gnu/libtool/libtool-2.5.4.tar.xz,
+f81f5860666b0bc7d84baddefa60d1cb9fa6fceb2398cc3baca6afaa60266675,libtool,https://ftp.gnu.org/gnu/libtool/libtool-2.5.4.tar.xz,
0bd89b657d62d019598e6c7ed726ff8fed80e8ba092a83b484d66afb80b77da5,libudev-zero,https://github.com/illiliti/libudev-zero/archive/refs/tags/1.0.3.tar.gz,libudev-zero-1.0.3.tar.gz
ea97bead1e8721d9002055970e8ad64ef79ee9dcee8595a3dae2cf5c2192a47f,libX11,https://gitlab.freedesktop.org/xorg/lib/libx11/-/archive/libX11-1.8.12/libx11-libX11-1.8.12.tar.gz,
af261cc1b3b349cfe7a7899a48b4e4aa257b4d11bf2ea084fb3191df7d15fbe9,libXau,https://gitlab.freedesktop.org/xorg/lib/libxau/-/archive/libXau-1.0.12/libxau-libXau-1.0.12.tar.gz,
@@ -82,8 +82,8 @@ a23745e7865f4aa2ee2610f289ed8081140580cbe577b46aa1a7fb28ab7192cf,libXxf86vm,http
fdebcb065065f5c1b8dc68a6fb59cda50cdddbf9103d207c2196d55ea764f57f,Linux,https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.17.2.tar.xz,
21dbcec6e01dd578f14789eac9024a18941e6f2702a05cf91b28c232eeb26ab0,Linux PAM,https://github.com/linux-pam/linux-pam/releases/download/v1.7.1/Linux-PAM-1.7.1.tar.xz,
9c9db50d8046f668156d83f6b594631b4ca79a0d96e4f19bed9dc019b022e58f,LLVM,https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.3/llvm-project-21.1.3.src.tar.xz,
-e236ea3a1ccf5f6c270b1c4bb60726f371fa49459a8eaaebc90b216b328daf2b,m4,https://ftpmirror.gnu.org/gnu/m4/m4-1.4.20.tar.xz,
-dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3,make,https://ftpmirror.gnu.org/gnu/make/make-4.4.1.tar.gz,
+e236ea3a1ccf5f6c270b1c4bb60726f371fa49459a8eaaebc90b216b328daf2b,m4,https://ftp.gnu.org/gnu/m4/m4-1.4.20.tar.xz,
+dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3,make,https://ftp.gnu.org/gnu/make/make-4.4.1.tar.gz,
99579a6f39583fa7e5630a28c3c1f440e4e97a414b80372649c0ce338da2ea28,mako,https://files.pythonhosted.org/packages/9e/38/bd5b78a920a64d708fe6bc8e0a2c075e1389d53bef8413725c63ba041535/mako-1.3.10.tar.gz,
ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0,markupsafe,https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz,
ec966eec39879f33c785343373021c44f887c836a08fcaf1d63412e3bdbfca32,mdevd,https://skarnet.org/software/mdevd/mdevd-0.1.7.0.tar.gz,
@@ -98,7 +98,7 @@ b7324cbe86e767b65f26f467ed8b12ad80e124e3ccb89076855c98e43a9eddd4,nasm,https://ww
1b661016bd8cd4189be83b441dd7062c967b641fdc00f741e359e22d06857df8,openrc,https://github.com/OpenRC/openrc/archive/refs/tags/0.63.tar.gz,openrc-0.63.tar.gz
d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f,packaging,https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz,
1b2e2f683dfb5adec3faf17087ade8c648f10a5d3d0e17e421e0ac1a39e6740e,pango,https://gitlab.gnome.org/GNOME/pango/-/archive/1.57.0/pango-1.57.0.tar.gz,
-f87cee69eec2b4fcbf60a396b030ad6aa3415f192aa5f7ee84cad5e11f7f5ae3,patch,https://ftpmirror.gnu.org/gnu/patch/patch-2.8.tar.xz,
+f87cee69eec2b4fcbf60a396b030ad6aa3415f192aa5f7ee84cad5e11f7f5ae3,patch,https://ftp.gnu.org/gnu/patch/patch-2.8.tar.xz,
8d28d7f2c3b970c3a4bf3776bcbb5adfc923183ce74bc8df1ebaad8c1985bd07,pcre2,https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.46/pcre2-10.46.tar.gz,
e093ef184d7f9a1b9797e2465296f55510adb6dab8842b0c3ed53329663096dc,perl,https://www.cpan.org/src/5.0/perl-5.42.0.tar.gz,
a098c33924754ad43f981b740f6d576c70f9ed1006e12221b1845431ebce1239,pixman,https://cairographics.org/releases/pixman-0.46.4.tar.xz,
@@ -111,7 +111,7 @@ c2e6d193cc78f84cd6ddb72aaf6d5c6a9162f0470e5992092057f5ff518562fa,procps-ng,https
d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e,pyyaml,https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz,
6bfeaddd90ffda2f063492b092bfed925c4b8c701579baf4b1316e021470daac,rustc,https://static.rust-lang.org/dist/rustc-1.90.0-src.tar.xz,
3b8cf51548dfc49b7efe035e191ff5e1963ebc4fe8f6064a5eefc5343eaf78a5,samurai,https://github.com/michaelforney/samurai/releases/download/1.2/samurai-1.2.tar.gz,
-6e226b732e1cd739464ad6862bd1a1aba42d7982922da7a53519631d24975181,sed,https://ftpmirror.gnu.org/gnu/sed/sed-4.9.tar.xz,
+6e226b732e1cd739464ad6862bd1a1aba42d7982922da7a53519631d24975181,sed,https://ftp.gnu.org/gnu/sed/sed-4.9.tar.xz,
f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c,setuptools,https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz,
6662c9b9497b6c9bf13bead9d7a9084756f68238302c5ed089fb4dbd29d102d7,setuptools_scm,https://files.pythonhosted.org/packages/8f/8d/ffdcace33d0480d591057a30285b7c33f8dc431fed3fff7dbadf5f9f128f/setuptools_scm-9.2.0.tar.gz,
add4604d3bc410344433122a819ee4154b79dd8316a56298c60417e637c07608,shadow,https://github.com/shadow-maint/shadow/releases/download/4.18.0/shadow-4.18.0.tar.xz,
@@ -121,7 +121,7 @@ add4604d3bc410344433122a819ee4154b79dd8316a56298c60417e637c07608,shadow,https://
5bbea925663d4cd2bab23efad53874f2718248a73dcaf9dd21dff8cb48e602fc,SPIRV-Headers,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
4f7019a06c731daebbc18080db338964002493ead4cfb440fef95d120c50a170,SPIRV-LLVM-Translator,https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/refs/tags/v21.1.0.tar.gz,spirv-llvm-translator-21.1.0.tar.gz
6a9313fa68e061d463f616357cd24cdf1c3a27d906ea791d7ba67dd1b6666a40,SPIRV-Tools,https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/v2025.1.tar.gz,spirv-tools-2025.1.tar.gz
-4d62ff37342ec7aed748535323930c7cf94acf71c3591882b26a7ea50f3edc16,tar,https://ftpmirror.gnu.org/gnu/tar/tar-1.35.tar.xz,
+4d62ff37342ec7aed748535323930c7cf94acf71c3591882b26a7ea50f3edc16,tar,https://ftp.gnu.org/gnu/tar/tar-1.35.tar.xz,
b92017489bdc1db3a4c97191aa4b75366673cb746de0dce5d7a749d5954681ba,tiff,https://download.osgeo.org/libtiff/tiff-4.7.1.tar.xz,
6ee152cfb083a378285a49c8e52294307458119147f795bfb7f460cb7ed1d659,tinyramfs,https://github.com/illiliti/tinyramfs/archive/refs/tags/0.2.0.tar.gz,tinyramfs-0.2.0.tar.gz
cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff,tomli,https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz,