summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-boot/grub/grub-1.98-r9.ebuild')
-rw-r--r--sys-boot/grub/grub-1.98-r9.ebuild145
1 files changed, 145 insertions, 0 deletions
diff --git a/sys-boot/grub/grub-1.98-r9.ebuild b/sys-boot/grub/grub-1.98-r9.ebuild
new file mode 100644
index 0000000..43a8bf4
--- /dev/null
+++ b/sys-boot/grub/grub-1.98-r9.ebuild
@@ -0,0 +1,145 @@
+# 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 $
+
+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="~amd64 ~x86"
+IUSE="custom-cflags debug truetype multislot static"
+
+RDEPEND=">=sys-libs/ncurses-5.2-r5
+ dev-libs/lzo
+ truetype? (
+ media-libs/freetype
+ media-fonts/unifont
+ )"
+DEPEND="${RDEPEND}
+ dev-lang/ruby"
+PDEPEND="${PDEPEND}
+ sys-boot/os-prober"
+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.98-genkernel.patch
+ epatch "${FILESDIR}"/${PN}-1.97-vga-deprecated.patch
+ epatch "${FILESDIR}"/${PN}-1.98-wallpaper-settings-support.patch
+ # see Gentoo #302634
+ epatch "${FILESDIR}"/${PN}-1.98-add-legacy-rootfs-detection.patch
+
+ # Ubuntu and upstream patches
+ epatch "${FILESDIR}"/ubuntu-upstream-${PV}/*.diff
+
+ epatch_user
+
+ # see Gentoo #321569
+ epatch "${FILESDIR}"/${PN}-1.98-follow-dev-mapper-symlinks.patch
+
+ # Genkernel doesn't support "single" for rescue mode
+ # but rather init_opts=single
+ epatch "${FILESDIR}"/${PN}-1.98-genkernel-initramfs-single.patch
+
+ # 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) \
+ $(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
+ 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/info/grub{,2}.info || die
+ fi
+
+ # install /etc/default/grub
+ cp "${FILESDIR}/grub2-default" grub
+ dodir /etc/default
+ insinto /etc/default
+ doins grub
+
+ # Install fonts setup hook
+ exeinto /etc/grub.d
+ doexe "${FILESDIR}/00_fonts"
+ doexe "${FILESDIR}/05_distro_theme"
+
+ dodir /boot/grub
+ insinto /boot/grub
+ newins "${FILESDIR}/default-splash-6.png" default-splash.png
+ # keep backward compat
+ dodir /usr/share/grub
+ insinto /usr/share/grub
+ newins "${FILESDIR}/default-splash-6.png" default-splash.png
+
+}
+
+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
+}