summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-boot/grub/Manifest1
-rw-r--r--sys-boot/grub/grub-9999.ebuild109
2 files changed, 110 insertions, 0 deletions
diff --git a/sys-boot/grub/Manifest b/sys-boot/grub/Manifest
new file mode 100644
index 0000000..37223b1
--- /dev/null
+++ b/sys-boot/grub/Manifest
@@ -0,0 +1 @@
+EBUILD grub-9999.ebuild 2991 RMD160 0b2e8919cc22a793d19985bcdb56d61226faa0b4 SHA1 72b58da34cb22f92e7c8e8a038ade97ebb6e0d6a SHA256 c9885c31c07fd5a3d80dac06a4b2a6db9884d2217d845bbe302cef1c7b390825
diff --git a/sys-boot/grub/grub-9999.ebuild b/sys-boot/grub/grub-9999.ebuild
new file mode 100644
index 0000000..6db2d3d
--- /dev/null
+++ b/sys-boot/grub/grub-9999.ebuild
@@ -0,0 +1,109 @@
+# 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-9999.ebuild,v 1.26 2010/10/07 04:22:11 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 >=media-fonts/unifont-5 )"
+DEPEND="${RDEPEND}
+ >=sys-devel/autogen-5.10
+ >=dev-lang/python-2.5.2"
+[[ ${PV} == "9999" ]] && DEPEND+=" sys-apps/help2man"
+PROVIDE="virtual/bootloader"
+
+export STRIP_MASK="*/grub/*/*.mod"
+QA_EXECSTACK="sbin/grub-probe sbin/grub-setup sbin/grub-mkdevicemap bin/grub-script-check bin/grub-fstest"
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]] ; then
+ bzr_src_unpack
+ else
+ unpack ${A}
+ fi
+ cd "${S}"
+ epatch_user
+
+ # autogen.sh does more than just run autotools
+ # need to eautomake due to weirdness #296013
+ if [[ ${PV} == "9999" ]] ; then
+ sed -i -e '/^autoreconf/s:^:e:' autogen.sh || die
+ (. ./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) \
+ $(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}"/sbin/grub{,2}-set-default || die
+ mv "${D}"/usr/share/man/man8/grub{,2}-install.8 || 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
+}