Files
binary-repo/sys/boot/grub/ympbuild
T
2026-04-07 11:30:01 +03:00

88 lines
2.0 KiB
Bash

#!/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
}