diff options
author | 2015-08-08 13:49:04 -0700 | |
---|---|---|
committer | 2015-08-08 17:38:18 -0700 | |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /sys-boot/arcload/arcload-0.50-r3.ebuild | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sys-boot/arcload/arcload-0.50-r3.ebuild')
-rw-r--r-- | sys-boot/arcload/arcload-0.50-r3.ebuild | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/sys-boot/arcload/arcload-0.50-r3.ebuild b/sys-boot/arcload/arcload-0.50-r3.ebuild new file mode 100644 index 000000000000..f6d5a225b92c --- /dev/null +++ b/sys-boot/arcload/arcload-0.50-r3.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils toolchain-funcs versionator + +# Hack until upstream renames from 0.5 to 0.50 +MY_PV="${PV/50/5}" + +PATCHREV="1" +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 + mirror://gentoo/${P}-patches-v${PATCHREV}.tar.xz" +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="-* ~mips" +IUSE="" +DEPEND="sys-boot/dvhtool + abi_mips_o32? ( sys-devel/kgcc64 )" +RDEPEND="" +RESTRICT="strip" + +S="${WORKDIR}/${PN}-${MY_PV}" +PATCHDIR="${WORKDIR}/${P}-patches" + +src_prepare() { + # For gcc-4.x, quiet down some of the warnings + epatch "${PATCHDIR}"/${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 "${PATCHDIR}"/${P}-makefile-targets.patch + + # Patches borrowed from Debian: + # - Load ELF64 images on 32-bit systems - XXX: #543978 + # - Pass an arcload label name directly on the PROM cmdline. + # - Look for arc.cf in /etc and fallback to /. +# epatch "${PATCHDIR}"/${P}_deb-elf64-on-m32.patch + epatch "${PATCHDIR}"/${P}_deb-cmdline-config.patch + epatch "${PATCHDIR}"/${P}_deb-config-in-etc.patch + + # Building arcload on different MIPS ABIs can be difficult, + # so we include specific bits from standard system headers + # to make the compiler happy. These should rarely, if ever, + # change... + epatch "${PATCHDIR}"/${P}-local-elf_h.patch + + # Patch wreckoff.c to handle the new .MIPS.abiflags section. + epatch "${PATCHDIR}"/${P}-wreckoff-abiflags-fix.patch + + # In order to convert from ELF to ECOFF, we need to disable + # SSP, as that adds additional program headers that I don't + # know how to handle in wreckoff.c. + epatch "${PATCHDIR}"/${P}-disable-ssp.patch + + # The code is old and has a lot of issues. But it's just a + # simple bootloader, so silence the various warnings until + # it can be re-written. + epatch "${PATCHDIR}"/${P}-silence-warnings.patch +} + +src_compile() { + local myCC myCC64 myLD myLD64 + + myCC="$(tc-getCC)" + myLD="$(tc-getLD)" + if use abi_mips_o32; then + myCC64=${myCC/mips/mips64} + myLD64=${myLD/mips/mips64} + else + myCC64=${myCC} + myLD64=${myLD} + fi + + # 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) ..." + emake CC=$(tc-getBUILD_CC) tools_clean tools + + # 32bit copy (sashARCS for IP22/IP32) + echo -e "" + einfo ">>> Building 32-bit version (sashARCS) for IP22/IP32 with ${myCC} ..." + cd "${S}" + emake MODE=M32 bootloader_clean + emake CC=${myCC} LD=${myLD} MODE=M32 bootloader + 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 ${myCC/mips/mips64} ..." + emake MODE=M64 bootloader_clean + emake CC=${myCC64} LD=${myLD64} MODE=M64 bootloader + 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 + + # Add a manpage for arcload(8) from the Debian Project. + doman "${FILESDIR}/arcload.8" +} + +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 "" +} |