sys-boot/colo: Use EAPI=6 and fix minor gcc build issue
authorJoshua Kinard <kumba@gentoo.org>
Mon, 21 Oct 2019 07:35:55 +0000 (03:35 -0400)
committerJoshua Kinard <kumba@gentoo.org>
Mon, 21 Oct 2019 07:37:00 +0000 (03:37 -0400)
Resolves Bug #697184

Signed-off-by: Joshua Kinard <kumba@gentoo.org>
Package-Manager: Portage-2.3.77, Repoman-2.3.17

sys-boot/colo/colo-1.22.ebuild
sys-boot/colo/files/colo-stage2_src_heap-fix.patch [new file with mode: 0644]

index 36d8c6e0846497c34b62c15f40247e6aad124cf9..d18a3506ac8925bd15c8211b62c05c4d63046bf8 100644 (file)
@@ -1,8 +1,7 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=0
-
+EAPI=6
 inherit eutils toolchain-funcs
 
 DESCRIPTION="CObalt LOader - Modern bootloader for Cobalt MIPS machines"
@@ -16,8 +15,9 @@ DEPEND=""
 RDEPEND=""
 RESTRICT="strip"
 
-src_unpack() {
-       unpack ${A}
+src_prepare() {
+       epatch "${FILESDIR}"/colo-stage2_src_heap-fix.patch
+       default
 }
 
 src_compile() {
diff --git a/sys-boot/colo/files/colo-stage2_src_heap-fix.patch b/sys-boot/colo/files/colo-stage2_src_heap-fix.patch
new file mode 100644 (file)
index 0000000..6cd4e3a
--- /dev/null
@@ -0,0 +1,24 @@
+diff -Naurp colo-1.22.orig/stage2/src/heap.c colo-1.22/stage2/src/heap.c
+--- colo-1.22.orig/stage2/src/heap.c   2006-01-22 10:26:56.000000000 -0500
++++ colo-1.22/stage2/src/heap.c        2019-10-20 23:20:17.167266445 -0400
+@@ -25,16 +25,16 @@ static size_t next_size;
+ void heap_reset(void)
+ {
+       extern char __text;
+-      void *restrict;
++      void *restrict2;
+       assert(!((unsigned long) &__text & 15));
+       free_lo = KSEG0(0);
+       free_hi = KSEG0(&__text) - (32 << 10);                  // XXX
+-      restrict = KSEG0(ram_restrict) - (16 << 10);    // XXX
+-      if(free_hi > restrict)
+-              free_hi = restrict;
++      restrict2 = KSEG0(ram_restrict) - (16 << 10);   // XXX
++      if(free_hi > restrict2)
++              free_hi = restrict2;
+       image_size = 0;
+       image_size_mark = 0;