#!/usr/bin/env bash name='grub' release='4' version='2.14' url='https://ftp.gnu.org/gnu/grub' description='GNU GRand Unified Bootloader' email='parduscix@yandex.ru' maintainer='sulincix' license=('GPLv3') source=("https://ftp.gnu.org/gnu/grub/grub-$version.tar.xz" "grub.default") depends=(lvm2) makedepends=() sha256sums=('bc8d3c73535b8838d8c8e2654d73edc4e6ae8c8acdb45d5df5dc9a1547446d43' 'SKIP') group=(sys.boot) uses=(efi bios) uses_extra=(ia32) arch=('x86_64') dontstrip=1 efi_depends=(efibootmgr) ia32_depends=(efibootmgr) unset CFLAGS unset CXXFLAGS get_grub_opt(){ echo -n "--disable-efiemu " if [[ "$1" == "efi" ]] ; then echo -n "--with-platform=efi --target=x86_64" elif [[ "$1" == "ia32" ]] ; then echo -n "--with-platform=efi --target=i386" elif [[ "$1" == "bios" ]] ; then echo -n "--with-platform=pc" fi } prepare(){ echo depends bli part_gpt > $name-$version/grub-core/extra_deps.lst for tgt in ${uses[@]} ; do if ! use $tgt ; then continue fi cp -prfv $name-$version $tgt done } setup(){ for tgt in ${uses[@]} ; do if ! use $tgt ; then continue fi cd $tgt autoreconf -fvi ./configure --prefix=/usr \ --sysconfdir=/etc \ --libdir=/usr/lib64/ \ --disable-nls \ --disable-werror \ --disable-grub-themes \ $(get_grub_opt $tgt) cd .. done } build(){ for tgt in ${uses[@]} ; do if ! use $tgt ; then continue fi make $jobs -C $tgt done } package(){ for tgt in ${uses[@]} ; do if ! use $tgt ; then continue fi make $jobs -C $tgt install done # default grub config mkdir -p $DESTDIR/etc/default $DESTDIR/usr/bin/ install -D -m0644 ./grub.default ${DESTDIR}/etc/default/grub echo "#!/bin/sh" > $DESTDIR/usr/bin/update-grub echo "grub-mkconfig -o /boot/grub/grub.cfg" >> $DESTDIR/usr/bin/update-grub }