# Contributor: Carlo Landmeter # Maintainer: pkgname=grub _ver=2.02~beta3 pkgver=2.02_beta3 pkgrel=1 pkgdesc="Bootloader with support for Linux, Multiboot and more" url="https://www.gnu.org/software/grub/" arch="all !armhf" license="GPLv3+" depends="" depends_dev="" makedepends="$depends_dev bison flex linux-headers xz-dev lvm2-dev automake autoconf libtool python2" install="" subpackages="$pkgname-dev $pkgname-doc $pkgname-efi" source="ftp://alpha.gnu.org/gnu/grub/grub-$_ver.tar.xz 2.02_beta3-gcc6-ld-no-pie.patch fix-gcc-no-pie-specs.patch " builddir="$srcdir/grub-$_ver" # currently grub only builds on x86* and aarch64 systems # aarch64 is not supported on pc/bios platform. if [ ! "$CARCH" = aarch64 ]; then subpackages="$subpackages $pkgname-bios" fi _build_bios() { cd $builddir/bios ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --localstatedir=/var \ --disable-nls \ --disable-werror \ --with-platform=pc \ || return 1 make || return 1 } _build_efi() { cd $builddir/efi ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --localstatedir=/var \ --disable-nls \ --disable-werror \ --with-platform=efi \ --disable-efiemu \ || return 1 make || return 1 } build() { cd "$builddir" autoreconf -vif || return 1 # BIOS build if [ ! "$CARCH" = aarch64 ]; then msg "Building grub for platform BIOS" cp -r "$builddir" "$builddir"/bios _build_bios || return 1 fi # EFI build msg "Building grub for platform EFI" cp -r "$builddir" "$builddir"/efi _build_efi || return 1 } package() { # install both version into the same directory # and overwrite similar files. # BIOS install if [ ! "$CARCH" = aarch64 ]; then cd "$builddir"/bios make DESTDIR="$pkgdir" install || return 1 fi # EFI install cd "$builddir"/efi make DESTDIR="$pkgdir" install || return 1 rm -f "$pkgdir"/usr/lib/charset.alias } bios() { pkgdesc="$pkgdesc (BIOS version)" depends="$pkgname" mkdir -p $subpkgdir/usr/lib/grub mv $pkgdir/usr/lib/grub/*-pc $subpkgdir/usr/lib/grub/ } efi() { pkgdesc="$pkgdesc (EFI version)" depends="$pkgname" mkdir -p $subpkgdir/usr/lib/grub mv $pkgdir/usr/lib/grub/*-efi $subpkgdir/usr/lib/grub/ } md5sums="ab399fc6f74a97d66ff77f04b743149c grub-2.02~beta3.tar.xz 7a09f166141e2a57f1829dd6cf1424fa 2.02_beta3-gcc6-ld-no-pie.patch 632f1e9dee0f8a4a52e592cb29cdf8cc fix-gcc-no-pie-specs.patch" sha256sums="30ec3d555e52a702c3eef449872ef874eff28b320f40b55ffc47f70db8e5ada1 grub-2.02~beta3.tar.xz 14912f087e047259e803be020c0506d9865c1507ae34683c6668b8d4a140c93b 2.02_beta3-gcc6-ld-no-pie.patch eaa876af6b6253c2ca98a03201b98b0e0a27b9acc120b7937c9292882f2f0e0b fix-gcc-no-pie-specs.patch" sha512sums="4a530efef4dae45f4046cf3550563f14acb24d25cb88d5e06c93953ca5b1eec115118c6860233a9f627edcddae2571e5d6b867b70ff9dd5c184c9fef83ef7e11 grub-2.02~beta3.tar.xz fc15c95bf26b28eee3b5a0d8e5fac538445179cea19a8657cd360e37dd5a95010ea2b899d1e4f3692b778a71f79526539ad1c741f028186f0daf135ee1678da0 2.02_beta3-gcc6-ld-no-pie.patch b9eab870006ab7842e0af27171d3b66fea10835d3fd4e606f241a9898aa28bfc4c1cdf59cece8ad50d2e284a44cba74eb0f390ac29627518f86257a8d586976e fix-gcc-no-pie-specs.patch"