commit:     a1b595c924bb7320402e78d35a3132c50b88df79
Author:     Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Thu Mar 28 18:17:59 2024 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Fri Mar 29 15:10:02 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1b595c9

sys-boot/colo: EAPI8 bump, minor improvements

Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Closes: https://github.com/gentoo/gentoo/pull/35970
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 sys-boot/colo/colo-1.22-r1.ebuild | 121 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 121 insertions(+)

diff --git a/sys-boot/colo/colo-1.22-r1.ebuild 
b/sys-boot/colo/colo-1.22-r1.ebuild
new file mode 100644
index 000000000000..3bd8c4f9c121
--- /dev/null
+++ b/sys-boot/colo/colo-1.22-r1.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="CObalt LOader - Modern bootloader for Cobalt MIPS machines"
+HOMEPAGE="https://www.colonel-panic.org/cobalt-mips/";
+SRC_URI="https://www.colonel-panic.org/cobalt-mips/colo/colo-${PV}.tar.gz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~mips"
+
+RESTRICT="strip"
+
+src_prepare() {
+       eapply "${FILESDIR}"/colo-stage2_src_heap-fix.patch
+       sed -E -i -e "s/CFLAGS_COLO=/CFLAGS_COLO:=/g" -e "/[A-Z]+= /d" 
Rules.mak || die # bug 725846
+       default
+}
+
+src_compile() {
+       echo -e ""
+       einfo ">>> Building the CoLo Bootloader ..."
+
+       # Remove -Werror from CFLAGS
+       # gcc-4.3.x is more strict; We'll go back and fix later
+       cd "${S}" || die
+       local x
+       for x in $(grep -rl "Werror" "${S}"/*); do
+               sed -i -e 's/\-Werror//g' "${x}" || die
+       done
+
+       # Keep elf2rfx from automatically building via the Makefile
+       sed -i -e 's/tools\/elf2rfx //' "${S}"/Makefile || die
+
+       # Build it first with BUILD_CC in case of cross-compiles
+       cd "${S}"/tools/elf2rfx || die
+       make CC="$(tc-getBUILD_CC)" || die
+
+       # Build the rest
+       cd "${S}" || die
+       make clean || die # emake breaks the build
+       make CC="$(tc-getCC)" OBJCOPY="$(tc-getOBJCOPY)" \
+            STRIP="$(tc-getSTRIP)" || die
+
+       # Now rebuild elf2rfx again with CC so it can be installed
+       cd "${S}"/tools/elf2rfx || die
+       make clean || die
+       make CC="$(tc-getCC)" || die
+}
+
+src_install() {
+       # bins
+       dodir /usr/lib/colo
+       cp binaries/colo-chain.elf "${D}"/usr/lib/colo || die
+       cp binaries/colo-rom-image.bin "${D}"/usr/lib/colo || die
+
+       # docs
+       dodoc CHANGES INSTALL README README.{restore,shell,netcon} 
tools/README.tools TODO
+
+       # all tools except lcdtools (see below)
+       local tool
+       for tool in flash-tool colo-perm copy-rom elf2rfx; do
+
+               einfo "Installing ${tool} binary to ${D}/usr/sbin"
+               dosbin tools/${tool}/${tool}
+               if [[ -f tools/${tool}/${tool}.8 ]]; then
+                       einfo "Installing ${tool} manpage to ${D}/usr/share/man"
+                       doman tools/flash-tool/flash-tool.8
+               fi
+
+       done
+
+       # lcdtools
+       for tool in paneld putlcd e2fsck-lcd; do
+               einfo "Installing ${tool} binary and manpage to ${D}/usr/sbin"
+               dosbin tools/lcdtools/${tool}/${tool}
+               doman tools/lcdtools/${tool}/${tool}.8
+       done
+       dolib.a tools/lcdtools/liblcd/liblcd.a
+
+       # bootscripts
+       dodir /usr/lib/colo/scripts
+       cp "${FILESDIR}"/*.colo "${D}"/usr/lib/colo/scripts || die
+}
+
+pkg_postinst() {
+       echo -e ""
+       einfo "Install locations:"
+       einfo "   Binaries:\t/usr/lib/${PN}"
+       einfo "   Docs:\t/usr/share/doc/${PF}"
+       einfo "   Tools:\t/usr/sbin/{flash-tool,colo-perm,copy-rom,"
+       einfo "  \tputlcd,paneld,e2fsck-lcd,elf2rfx}"
+       einfo "   Scripts:\t/usr/lib/${PN}/scripts"
+       echo -e ""
+       einfo "Please read the docs to fully understand the behavior of this 
bootloader, and"
+       einfo "edit the boot scripts to suit your needs."
+       echo -e ""
+       ewarn "Users installing ${PN} for the first time need to be aware that 
newer"
+       ewarn "versions of ${PN} disable the serial port by default.  If the 
serial port"
+       ewarn "is needed, select it from the boot menu.  Users using the 
example boot"
+       ewarn "scripts provided will have the serial port automatically 
enabled."
+       echo -e ""
+       ewarn "Note: It is HIGHLY recommended that you use the chain"
+       ewarn "bootloader (colo-chain.elf) first before attempting to"
+       ewarn "write the bootloader to the flash chip to verify that"
+       ewarn "it will work for you.  It is also recommended that"
+       ewarn "you read the documentation in /usr/share/doc/${PF}"
+       ewarn "as it explains how to properly use this package."
+       echo -e ""
+       eerror "Warning: Make sure that IF you plan on flashing the"
+       eerror "bootloader into the flash chip that you are using a"
+       eerror "modern 2.4 Linux kernel (i.e., >2.4.18), otherwise"
+       eerror "you run a risk of destroying the contents of the"
+       eerror "flash chip and rendering the machine unusable."
+       echo -e ""
+       echo -e ""
+}

Reply via email to