From 52e479ee9a1b64c9041334dc3736c4a6321ae560 Mon Sep 17 00:00:00 2001 From: Ella Stanforth Date: Wed, 13 Apr 2022 12:38:24 +0000 Subject: [PATCH] limine: hackup the build system to get it to build again --- linux/limine/build.sh | 48 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 5 deletions(-) diff --git a/linux/limine/build.sh b/linux/limine/build.sh index 753f021..0aaaa0f 100644 --- a/linux/limine/build.sh +++ b/linux/limine/build.sh @@ -1,22 +1,56 @@ pkgname=limine -pkgver=2.55 +pkgver=3.0.3 mkdeps="nasm:llvm" fetch() { - curl -L "https://github.com/limine-bootloader/limine/releases/download/v$pkgver/limine-v$pkgver.tar.xz" -o $pkgname-$pkgver.tar.xz + curl -L "https://github.com/limine-bootloader/limine/releases/download/v$pkgver/limine-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.xz tar -xf $pkgname-$pkgver.tar.xz - mv $pkgname-v$pkgver $pkgname-$pkgver } build() { cd $pkgname-$pkgver - gmake limine-bios bin/limine-install CC="clang" TOOLCHAIN="llvm" TOOLCHAIN_CC="clang" TOOLCHAIN_LD="ld.lld" -j1 + # Limine's configure script rejects LLVM binutils because + # objcopy can't build EFI. We only want bios though. + sed \ + -e "s|@SRCDIR@|$(pwd)|g" \ + -e "s|@BUILDDIR@|$(pwd)|g" \ + -e "s|@PATH@|/usr/bad/gmake/bin:$PATH|" \ + -e 's|@prefix@|/usr|' \ + -e "s|@abs_builddir@|$(pwd)|" \ + -e "s|@abs_srcdir@|$(pwd)|" \ + -e 's|@CC@|cc|' \ + -e 's|@LIMINE_CC@|cc|' \ + -e 's|@LIMINE_CFLAGS@|-O3 -pipe -Wall -Wextra|' \ + -e 's|@LIMINE_LD@|ld|' \ + -e 's|@LIMINE_LDFLAGS@||' \ + -e 's|@LDFLAGS@||' \ + -e 's|@LIMINE_OBJCOPY@|objcopy|' \ + -e 's|@LIMINE_OBJDUMP@|objdump|' \ + -e 's|@LIMINE_READELF@|readelf|' \ + -e 's|@SED@|sed|' \ + -e 's|@HOST_CC@|cc|' \ + -e 's|@AWK@|awk|' \ + -e 's|@GREP@|grep|' \ + -e 's|@werror@||' \ + -e 's|@INSTALL@|install|' \ + -e 's|@CFLAGS@|-O3 -pipe -Wall -Wextra|' \ + -e "s|@limine_version@|$pkgver|" \ + -e 's|@LIMINE_AR@|ar|' \ + -e 's|@LIMINE_AS@|clang|' \ + -e 's|@WERROR@||' \ + GNUmakefile.in > GNUmakefile + + sed -e "s|@PACKAGE_VERSION@|$pkgver|" \ + -e "s|@LIMINE_COPYRIGHT@|$(grep Copyright LICENSE.md)|" \ + config.h.in > config.h + + bad --gmake gmake limine-bios limine-deploy CC="clang" TOOLCHAIN="llvm" TOOLCHAIN_CC="clang" TOOLCHAIN_LD="ld.lld" -j1 } package() { cd $pkgname-$pkgver mkdir -p $pkgdir/usr/sbin/ - install -m 755 ./bin/limine-install $pkgdir/usr/sbin/ + install -m 755 ./bin/limine-deploy $pkgdir/usr/sbin/ mkdir -p $pkgdir/usr/share/limine/ install -m 644 ./bin/limine-cd.bin $pkgdir/usr/share/limine/ install -m 644 ./bin/limine-hdd.bin $pkgdir/usr/share/limine/ @@ -28,3 +62,7 @@ license() { cd $pkgname-$pkgver cat LICENSE.md } + +backup() { + return +}