diff options
Diffstat (limited to 'sys-boot/arcload')
-rw-r--r-- | sys-boot/arcload/arcload-0.50-r1.ebuild | 83 | ||||
-rw-r--r-- | sys-boot/arcload/arcload-0.50-r3.ebuild | 56 |
2 files changed, 19 insertions, 120 deletions
diff --git a/sys-boot/arcload/arcload-0.50-r1.ebuild b/sys-boot/arcload/arcload-0.50-r1.ebuild deleted file mode 100644 index 4a25aaf3d135..000000000000 --- a/sys-boot/arcload/arcload-0.50-r1.ebuild +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=4 - -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="https://www.linux-mips.org/wiki/ARCLoad" -SRC_URI="https://www.linux-mips.org/pub/linux/mips/people/skylark/arcload-${MY_PV}.tar.bz2" -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="-* ~mips" -IUSE="" -DEPEND="sys-boot/dvhtool" -RDEPEND="" -RESTRICT="strip" - -S="${WORKDIR}/${PN}-${MY_PV}" - -src_prepare() { - # 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) ..." - 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 ..." - cd "${S}" - emake MODE=M32 bootloader_clean - emake CC=$(tc-getCC) LD=$(tc-getLD) 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 ..." - emake MODE=M64 bootloader_clean - emake CC=$(tc-getCC) LD=$(tc-getLD) 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 -} - -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 "" -} diff --git a/sys-boot/arcload/arcload-0.50-r3.ebuild b/sys-boot/arcload/arcload-0.50-r3.ebuild index b35a574efcf1..33e6d147541b 100644 --- a/sys-boot/arcload/arcload-0.50-r3.ebuild +++ b/sys-boot/arcload/arcload-0.50-r3.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=4 +EAPI=7 -inherit eutils toolchain-funcs versionator +inherit toolchain-funcs # Hack until upstream renames from 0.5 to 0.50 MY_PV="${PV/50/5}" @@ -13,9 +13,11 @@ DESCRIPTION="ARCLoad - SGI Multi-bootloader. Able to bootload many different SG HOMEPAGE="https://www.linux-mips.org/wiki/ARCLoad" SRC_URI="https://www.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="abi_mips_o32" DEPEND="sys-boot/dvhtool abi_mips_o32? ( sys-devel/kgcc64 )" @@ -25,41 +27,21 @@ RESTRICT="strip" S="${WORKDIR}/${PN}-${MY_PV}" PATCHDIR="${WORKDIR}/${P}-patches" +PATCHES=( + "${PATCHDIR}/${P}-shut-gcc4x-up.patch" # For gcc-4.x, quiet down some of the warnings + "${PATCHDIR}/${P}-makefile-targets.patch" # Tweak Makefile to allow for cross-compiling +# "${PATCHDIR}/${P}_deb-elf64-on-m32.patch" # Load ELF64 images on 32-bit systems - XXX: #543978 + "${PATCHDIR}/${P}_deb-cmdline-config.patch" # Pass arcload label name on PROM cmdline + "${PATCHDIR}/${P}_deb-config-in-etc.patch" # Look for arc.cf in /etc and fallback to / + "${PATCHDIR}/${P}-local-elf_h.patch" # Use std sysheaders bits to make compiler happy + "${PATCHDIR}/${P}-wreckoff-abiflags-fix.patch" # Patch wreckoff.c to handle the .MIPS.abiflags section + "${PATCHDIR}/${P}-disable-ssp.patch" # Disable SSP for ELF->ECOFF, as wreckoff can't handle + "${PATCHDIR}/${P}-silence-warnings.patch" # Silence various warnings due to the code being old +) + 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 + default + eapply_user } src_compile() { |