summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-boot/mbr-gpt')
-rw-r--r--sys-boot/mbr-gpt/Manifest1
-rw-r--r--sys-boot/mbr-gpt/mbr-gpt-0.0.1.ebuild52
-rw-r--r--sys-boot/mbr-gpt/metadata.xml8
3 files changed, 61 insertions, 0 deletions
diff --git a/sys-boot/mbr-gpt/Manifest b/sys-boot/mbr-gpt/Manifest
new file mode 100644
index 00000000000..08b71b63cc7
--- /dev/null
+++ b/sys-boot/mbr-gpt/Manifest
@@ -0,0 +1 @@
+DIST mbr-gpt_0.0.1.tar.gz 15861 SHA256 c66cc48c6034f1db72ddba187a52f590001a946f87478171b3d362b601b26bc2
diff --git a/sys-boot/mbr-gpt/mbr-gpt-0.0.1.ebuild b/sys-boot/mbr-gpt/mbr-gpt-0.0.1.ebuild
new file mode 100644
index 00000000000..77d6817e24e
--- /dev/null
+++ b/sys-boot/mbr-gpt/mbr-gpt-0.0.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="An MBR that can handle BIOS-based boot on GPT"
+MY_P="${PN}_${PV}"
+HOMEPAGE="http://aybabtu.com/mbr-gpt/"
+SRC_URI="http://aybabtu.com/mbr-gpt/${MY_P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+# This should probably NEVER go to stable. It's crazy advanced dangerous magic.
+# It's also pure ASM, so not suitable for elsewhere anyway.
+KEYWORDS="~x86 ~amd64"
+IUSE=""
+# It only depends on binutils/gcc/make, and doesn't link against libc even.
+DEPEND=""
+RDEPEND=""
+
+# It's a mostly an MBR block and it does use the executable stack.
+QA_WX_LOAD="usr/sbin/boot.elf"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ emake clean
+
+ # Need to build it 32-bit for the MBR
+ # Btw, no CFLAGS are respected, it's ASM!
+ use amd64 && sed -i -e 's/-Wall/-Wall -m32/g' "${S}"/Makefile
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ # get_libdir is not correct here. We want this to go into a 32-bit library
+ # location.
+ insinto /usr/lib/mbr-gpt/
+ doins mbr
+ dosbin boot.elf
+ dodoc AUTHORS
+}
+
+pkg_postinst() {
+ einfo "See the instructions on the homepage, and make sure you know what"
+ einfo "you are doing before touching this. The mbr file does into your"
+ einfo "MBR, or alternatively you can do a creative reboot utilizing the"
+ einfo "boot.elf binary."
+}
diff --git a/sys-boot/mbr-gpt/metadata.xml b/sys-boot/mbr-gpt/metadata.xml
new file mode 100644
index 00000000000..035bc6b0e2c
--- /dev/null
+++ b/sys-boot/mbr-gpt/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>base-system</herd>
+<maintainer>
+ <email>robbat2@gentoo.org</email>
+</maintainer>
+</pkgmetadata>