diff options
Diffstat (limited to 'sys-boot/grub/grub-1.98.ebuild')
-rw-r--r-- | sys-boot/grub/grub-1.98.ebuild | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/sys-boot/grub/grub-1.98.ebuild b/sys-boot/grub/grub-1.98.ebuild new file mode 100644 index 000000000000..cd97bb82172a --- /dev/null +++ b/sys-boot/grub/grub-1.98.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-1.98.ebuild,v 1.1 2010/03/10 19:47:34 vapier Exp $ + +# XXX: need to implement a grub.conf migration in pkg_postinst before we ~arch + +inherit mount-boot eutils flag-o-matic toolchain-funcs + +if [[ ${PV} == "9999" ]] ; then + EBZR_REPO_URI="http://bzr.savannah.gnu.org/r/grub/trunk/grub" + inherit autotools bzr + SRC_URI="" +else + SRC_URI="ftp://alpha.gnu.org/gnu/${PN}/${P}.tar.gz + mirror://gentoo/${P}.tar.gz" +fi + +DESCRIPTION="GNU GRUB 2 boot loader" +HOMEPAGE="http://www.gnu.org/software/grub/" + +LICENSE="GPL-3" +use multislot && SLOT="2" || SLOT="0" +KEYWORDS="" +IUSE="custom-cflags debug truetype multislot static" + +RDEPEND=">=sys-libs/ncurses-5.2-r5 + dev-libs/lzo + truetype? ( media-libs/freetype )" +DEPEND="${RDEPEND} + dev-lang/ruby" +PROVIDE="virtual/bootloader" + +export STRIP_MASK="*/grub/*/*.mod" +QA_EXECSTACK="sbin/grub-probe sbin/grub-setup sbin/grub-mkdevicemap" + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + bzr_src_unpack + else + unpack ${A} + fi + cd "${S}" + epatch "${FILESDIR}"/${PN}-1.96-genkernel.patch #256335 + epatch_user + + # autogen.sh does more than just run autotools + # need to eautomake due to weirdness #296013 + if [[ ${PV} == "9999" ]] ; then + sed -i \ + -e '/^\(auto\|ac\)/s:^:e:' \ + -e "s:^eautomake:`which automake`:" \ + autogen.sh + (. ./autogen.sh) || die + fi +} + +src_compile() { + use custom-cflags || unset CFLAGS CPPFLAGS LDFLAGS + use static && append-ldflags -static + + econf \ + --disable-werror \ + --sbindir=/sbin \ + --bindir=/bin \ + --libdir=/$(get_libdir) \ + --disable-efiemu \ + $(use_enable truetype grub-mkfont) \ + $(use_enable debug mm-debug) \ + $(use_enable debug grub-emu-usb) \ + $(use_enable debug grub-fstest) + emake -j1 || die "making regular stuff" +} + +src_install() { + emake DESTDIR="${D}" install || die + dodoc AUTHORS ChangeLog NEWS README THANKS TODO + cat <<-EOF >> "${D}"/lib*/grub/grub-mkconfig_lib + GRUB_DISTRIBUTOR="Gentoo" + EOF + if use multislot ; then + sed -i "s:grub-install:grub2-install:" "${D}"/sbin/grub-install || die + mv "${D}"/sbin/grub{,2}-install || die + mv "${D}"/usr/share/info/grub{,2}.info || die + fi +} + +setup_boot_dir() { + local boot_dir=$1 + local dir=${boot_dir}/grub + + if [[ ! -e ${dir}/grub.cfg ]] ; then + einfo "Running: grub-mkconfig -o '${dir}/grub.cfg'" + grub-mkconfig -o "${dir}/grub.cfg" + fi + + #local install=grub-install + #use multislot && install="grub2-install --grub-setup=/bin/true" + #einfo "Running: ${install} " + #${install} +} + +pkg_postinst() { + if use multislot ; then + elog "You have installed grub2 with USE=multislot, so to coexist" + elog "with grub1, the grub2 install binary is named grub2-install." + fi + setup_boot_dir "${ROOT}"boot +} |