limine: hackup the build system to get it to build again

This commit is contained in:
Ella Stanforth 2022-04-13 12:38:24 +00:00
parent 1691d14260
commit 52e479ee9a

View file

@ -1,22 +1,56 @@
pkgname=limine pkgname=limine
pkgver=2.55 pkgver=3.0.3
mkdeps="nasm:llvm" mkdeps="nasm:llvm"
fetch() { 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 tar -xf $pkgname-$pkgver.tar.xz
mv $pkgname-v$pkgver $pkgname-$pkgver
} }
build() { build() {
cd $pkgname-$pkgver 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() { package() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
mkdir -p $pkgdir/usr/sbin/ 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/ mkdir -p $pkgdir/usr/share/limine/
install -m 644 ./bin/limine-cd.bin $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/ install -m 644 ./bin/limine-hdd.bin $pkgdir/usr/share/limine/
@ -28,3 +62,7 @@ license() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
cat LICENSE.md cat LICENSE.md
} }
backup() {
return
}