summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbootstrap.sh27
-rw-r--r--sources/libressl/libressl.spec37
2 files changed, 64 insertions, 0 deletions
diff --git a/bootstrap.sh b/bootstrap.sh
index 9210ddd..8011690 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -184,6 +184,10 @@ export CXXFLAGS="$CXXFLAGS -isystem $BOOTSTRAP/root/usr/include/c++/v1 -nostdinc
# NOTE: We're using sed to remove newlines instead of dirname's own -z switch
# because -z adds a null byte, which messes with the files generated by
# LLVM's build process. ~ahill
+# NOTE: Many build scripts still rely on the old Unix names for tools such as
+# cc and ld to function. Because of this, we enable
+# LLVM_INSTALL_BINUTILS_SYMLINKS and LLVM_INSTALL_CCTOOLS_SYMLINKS for
+# compatibility's sake. ~ahill
NATIVE_TOOL_DIR=$(dirname $(which llvm-tblgen) | sed -z "s/\n//g")
cd llvm-project-*/
cmake -S llvm -B build-llvm \
@@ -200,6 +204,8 @@ cmake -S llvm -B build-llvm \
-DLLVM_ENABLE_PROJECTS="clang;lld;llvm" \
-DLLVM_ENABLE_ZSTD=OFF \
-DLLVM_HOST_TRIPLE=$TARGET \
+ -DLLVM_INSTALL_BINUTILS_SYMLINKS=ON \
+ -DLLVM_INSTALL_CCTOOLS_SYMLINKS=ON \
-DLLVM_NATIVE_TOOL_DIR=$NATIVE_TOOL_DIR \
-DLLVM_TABLEGEN=$NATIVE_TOOL_DIR/llvm-tblgen
cmake --build build-llvm
@@ -227,5 +233,26 @@ make -O -j $PROCS
make -O -j $PROCS install CONFIG_PREFIX=$BOOTSTRAP/root
cd ..
+# Build Make
+MAKE_VERSION=$(sed -En "s/SRC_VERSION=\"?(.+)\"/\1/p" $SPEC/make/make.spec)
+tar xf $SOURCES/make/$MAKE_VERSION/make-*.tar*
+cd make-*/
+./configure \
+ --bindir=/bin \
+ --datarootdir=/usr/share \
+ --enable-year2038 \
+ --host=$TARGET \
+ --includedir=/usr/include \
+ --libdir=/lib \
+ --libexecdir=/lib \
+ --localstatedir=/var \
+ --prefix=/ \
+ --runstatedir=/run \
+ --sbindir=/bin \
+ --sysconfdir=/etc
+make -O -j $PROCS
+make -O -j $PROCS install DESTDIR=$BOOTSTRAP/root
+cd ..
+
# Install Treetap
cp $BOOTSTRAP/../treetap $BOOTSTRAP/root/bin/ \ No newline at end of file
diff --git a/sources/libressl/libressl.spec b/sources/libressl/libressl.spec
new file mode 100644
index 0000000..790ce1b
--- /dev/null
+++ b/sources/libressl/libressl.spec
@@ -0,0 +1,37 @@
+# Maintainer: Alexander Hill <ahill@breadpudding.dev>
+SRC_HASH="6d5c2f58583588ea791f4c8645004071d00dfa554a5bf788a006ca1eb5abd70b"
+SRC_NAME="libressl"
+SRC_URL="https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-4.2.1.tar.gz"
+SRC_VERSION="4.2.1"
+
+build() {
+ tar xf ../$SRC_FILENAME
+ cd libressl-*/
+ # TODO: What even is sharedstatedir and what should Maple Linux do with it?
+ # ~ahill
+ ./configure \
+ --bindir=$TT_BINDIR \
+ --build=$TT_BUILD \
+ --datarootdir=/usr/share \
+ --disable-static \
+ --host=$TT_TARGET \
+ --includedir=$TT_INCLUDEDIR \
+ --libdir=$TT_LIBDIR \
+ --libexecdir=$TT_LIBDIR \
+ --localstatedir=/var \
+ --prefix=$TT_PREFIX \
+ --runstatedir=/run \
+ --sbindir=$TT_BINDIR \
+ --sysconfdir=$TT_CONFDIR \
+ --with-sysroot=$TT_SYSROOT
+ make -j $TT_PROCS
+}
+
+clean() {
+ rm -rf libressl-*/
+}
+
+package() {
+ cd libressl-*/
+ make -j $TT_PROCS install DESTDIR=$TT_SYSROOT
+} \ No newline at end of file