summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Kinard <kumba@gentoo.org>2009-03-02 02:21:30 +0000
committerJoshua Kinard <kumba@gentoo.org>2009-03-02 02:21:30 +0000
commit4a19894b6ee4df20be8418b93f7410a71a16165b (patch)
tree31402202f62b64cebb2841e3252f853340f5b5c6 /sys-boot/arcload/arcload-0.50-r1.ebuild
parentAdd new rc10 (diff)
downloadhistorical-4a19894b6ee4df20be8418b93f7410a71a16165b.tar.gz
historical-4a19894b6ee4df20be8418b93f7410a71a16165b.tar.bz2
historical-4a19894b6ee4df20be8418b93f7410a71a16165b.zip
Make arcload cross-compilable by altering the Makefile targets, and quiet down gcc-4.x's warnings. Modified ebuild accordingly and fixed minor QA Issues. Changed mips keyword to unstable.
Package-Manager: portage-2.1.6.7/cvs/Linux mips64
Diffstat (limited to 'sys-boot/arcload/arcload-0.50-r1.ebuild')
-rw-r--r--sys-boot/arcload/arcload-0.50-r1.ebuild94
1 files changed, 94 insertions, 0 deletions
diff --git a/sys-boot/arcload/arcload-0.50-r1.ebuild b/sys-boot/arcload/arcload-0.50-r1.ebuild
new file mode 100644
index 000000000000..d6fb11fe8671
--- /dev/null
+++ b/sys-boot/arcload/arcload-0.50-r1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/arcload/arcload-0.50-r1.ebuild,v 1.1 2009/03/02 02:21:30 kumba Exp $
+
+inherit eutils toolchain-funcs versionator
+
+# Hack until upstream renames from 0.5 to 0.50
+MY_PV="${PV/50/5}"
+
+DESCRIPTION="ARCLoad - SGI Multi-bootloader. Able to bootload many different SGI Systems."
+HOMEPAGE="http://www.linux-mips.org/wiki/index.php/ARCLoad"
+SRC_URI="ftp://ftp.linux-mips.org/pub/linux/mips/people/skylark/${PN}-${MY_PV}.tar.bz2"
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="-* ~mips"
+IUSE=""
+DEPEND="sys-boot/dvhtool"
+RDEPEND=""
+RESTRICT="strip"
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+pkg_setup() {
+ # See if we're on a cobalt system
+ if [ "${PROFILE_ARCH}" = "cobalt" ]; then
+ echo -e ""
+ eerror "This package is only intended for SGI systems. It will not work on any"
+ eerror "other types of MIPS-based systems or any other architectures"
+ echo -e ""
+ die
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ # For gcc-4.x, quiet down some of the warnings
+ $(version_is_at_least "4.0" "$(gcc-version)") && \
+ epatch "${FILESDIR}"/${P}-shut-gcc4x-up.patch
+
+ # Redefine the targets in the primary Makefile to give us
+ # finer control over building the tools. This is for properly
+ # cross-compiling arcload
+ epatch "${FILESDIR}"/${P}-makefile-targets.patch
+}
+
+src_compile() {
+ # Build the wreckoff tool first. It converts a 32bit MIPS ELF
+ # into a relocatable ECOFF image. We call for BUILD_CC
+ # on the offchance that we're cross-compiling.
+ echo -e ""
+ einfo ">>> Building the 'wreckoff' utility with $(tc-getBUILD_CC) ..."
+ make CC=$(tc-getBUILD_CC) tools_clean tools || die
+
+ # 32bit copy (sashARCS for IP22/IP32)
+ echo -e ""
+ einfo ">>> Building 32-bit version (sashARCS) for IP22/IP32 ..."
+ cd "${S}"
+ make MODE=M32 bootloader_clean || die
+ make CC=$(tc-getCC) LD=$(tc-getLD) MODE=M32 bootloader || die
+ cp "${S}"/arcload.ecoff "${WORKDIR}"/sashARCS
+
+ # 64bit copy (sash64 for IP27/IP28/IP30)
+ echo -e ""
+ einfo ">>> Building 64-bit version (sash64) for IP27/IP28/IP30 ..."
+ make MODE=M64 bootloader_clean || die
+ make CC=$(tc-getCC) LD=$(tc-getLD) MODE=M64 bootloader || die
+ cp "${S}"/arcload "${WORKDIR}"/sash64
+}
+
+src_install() {
+ dodir /usr/lib/arcload
+ cp "${WORKDIR}"/sashARCS "${D}"/usr/lib/arcload
+ cp "${WORKDIR}"/sash64 "${D}"/usr/lib/arcload
+ cp "${S}"/arc.cf-bootcd "${D}"/usr/lib/arcload/arc-bootcd.cf
+ cp "${S}"/arc.cf-octane "${D}"/usr/lib/arcload/arc-octane.cf
+}
+
+pkg_postinst() {
+ echo -e ""
+ einfo "ARCLoad binaries copied to: /usr/lib/arcload"
+ echo -e ""
+ einfo "Use of ARCLoad is relatively easy:"
+ einfo "\t1) Determine which version you need"
+ einfo "\t\tA) sashARCS for IP22/IP32"
+ einfo "\t\tB) sash64 for IP27/IP28/IP30"
+ einfo "\t2) Copy that to the volume header using 'dvhtool'"
+ einfo "\t3) Edit /usr/lib/arcload/arc-*.cf to fit your specific system"
+ einfo "\t (See ${HOMEPAGE} for"
+ einfo "\t an explanation of the format of the config file)"
+ einfo "\t4) Copy the config file to the volume header with 'dvhtool' as 'arc.cf'"
+ einfo "\t5) Copy any kernels to the volume header that you want to be bootable"
+ einfo "\t6) Reboot, and enjoy!"
+ echo -e ""
+}