summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Kennedy <mkennedy@gentoo.org>2006-05-12 20:25:54 +0000
committerMatthew Kennedy <mkennedy@gentoo.org>2006-05-12 20:25:54 +0000
commitad465cbd636fff7e1fdb60ed3410e572f008603e (patch)
tree731aee4f9ad025eddc7c12a8e9d6d9dc4f789ecf
parentWhy doesn't repoman check in manifests??? (diff)
downloadgentoo-2-ad465cbd636fff7e1fdb60ed3410e572f008603e.tar.gz
gentoo-2-ad465cbd636fff7e1fdb60ed3410e572f008603e.tar.bz2
gentoo-2-ad465cbd636fff7e1fdb60ed3410e572f008603e.zip
Include a new USE flag "force-reg" and don't --enable-force-reg by default; Filter some CFLAGS known to cause build failures; Resolves Bug #120159; Include PPC specific build patch; Resolves Bug #131931.
(Portage version: 2.1_pre10-r5)
-rw-r--r--dev-lang/gforth/ChangeLog8
-rw-r--r--dev-lang/gforth/files/0.6.2-ppc-configure-gentoo.patch13
-rw-r--r--dev-lang/gforth/files/digest-gforth-0.6.22
-rw-r--r--dev-lang/gforth/gforth-0.6.2-r1.ebuild38
4 files changed, 52 insertions, 9 deletions
diff --git a/dev-lang/gforth/ChangeLog b/dev-lang/gforth/ChangeLog
index 1f6ab918a04c..e4f88e2ecf7b 100644
--- a/dev-lang/gforth/ChangeLog
+++ b/dev-lang/gforth/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-lang/gforth
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/gforth/ChangeLog,v 1.18 2006/02/17 17:43:35 mkennedy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/gforth/ChangeLog,v 1.19 2006/05/12 20:25:54 mkennedy Exp $
+
+ 12 May 2006; Matthew Kennedy <mkennedy@gentoo.org>
+ +files/0.6.2-ppc-configure-gentoo.patch, gforth-0.6.2-r1.ebuild:
+ Include a new USE flag "force-reg" and don't --enable-force-reg by default;
+ Filter some CFLAGS known to cause build failures; Resolves Bug #120159;
+ Include PPC specific build patch; Resolves Bug #131931.
17 Feb 2006; Matthew Kennedy <mkennedy@gentoo.org>
files/gforth.el-gentoo.patch:
diff --git a/dev-lang/gforth/files/0.6.2-ppc-configure-gentoo.patch b/dev-lang/gforth/files/0.6.2-ppc-configure-gentoo.patch
new file mode 100644
index 000000000000..30061aa702f7
--- /dev/null
+++ b/dev-lang/gforth/files/0.6.2-ppc-configure-gentoo.patch
@@ -0,0 +1,13 @@
+diff -ur gforth-0.6.2.orig/configure gforth-0.6.2/configure
+--- gforth-0.6.2.orig/configure 2003-08-25 03:03:42.000000000 -0500
++++ gforth-0.6.2/configure 2006-05-12 15:10:52.000000000 -0500
+@@ -3586,7 +3586,8 @@
+ fi
+
+ #long long is broken on (at least) gcc-2.95.* for PPC
+- test x$ac_cv_sizeof_long_long = x && ac_cv_sizeof_long_long=0
++ # XXX this was fixed long ago
++# test x$ac_cv_sizeof_long_long = x && ac_cv_sizeof_long_long=0
+ ;;
+ *)
+ { echo "$as_me:$LINENO: WARNING: Using a generic machine description" >&5
diff --git a/dev-lang/gforth/files/digest-gforth-0.6.2 b/dev-lang/gforth/files/digest-gforth-0.6.2
index 4b613bac6474..570bbeac82db 100644
--- a/dev-lang/gforth/files/digest-gforth-0.6.2
+++ b/dev-lang/gforth/files/digest-gforth-0.6.2
@@ -1 +1,3 @@
MD5 869112bd762b07fc4d2038a2d9965148 gforth-0.6.2.tar.gz 1925536
+RMD160 692aa412e59954f87a7b44027901248f8939e9ee gforth-0.6.2.tar.gz 1925536
+SHA256 28a201ae78b073ef350d7ac4a8283233029c6afe6072620ac6dd6db1d192d462 gforth-0.6.2.tar.gz 1925536
diff --git a/dev-lang/gforth/gforth-0.6.2-r1.ebuild b/dev-lang/gforth/gforth-0.6.2-r1.ebuild
index c6717a4666d1..f62aea597850 100644
--- a/dev-lang/gforth/gforth-0.6.2-r1.ebuild
+++ b/dev-lang/gforth/gforth-0.6.2-r1.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/gforth/gforth-0.6.2-r1.ebuild,v 1.1 2006/02/15 00:12:42 mkennedy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/gforth/gforth-0.6.2-r1.ebuild,v 1.2 2006/05/12 20:25:54 mkennedy Exp $
-inherit elisp-common eutils toolchain-funcs
+inherit elisp-common eutils toolchain-funcs flag-o-matic
DESCRIPTION="GNU Forth is a fast and portable implementation of the ANSI Forth language"
HOMEPAGE="http://www.gnu.org/software/gforth"
@@ -12,8 +12,8 @@ SRC_URI="http://www.complang.tuwien.ac.at/forth/gforth/${P}.tar.gz
LICENSE="GPL-2"
SLOT="0"
# KEYWORDS="~amd64 ~ppc ~ppc-macos ~x86"
-KEYWORDS=" ~ppc ~x86" # dev-libs/ffcall needs to be keyworded for amd64 and ppc-macos
-IUSE="emacs"
+KEYWORDS="~ppc ~x86" # dev-libs/ffcall needs to be keyworded for amd64 and ppc-macos
+IUSE="emacs force-reg"
DEPEND="virtual/libc
dev-libs/ffcall
@@ -21,17 +21,39 @@ DEPEND="virtual/libc
SITEFILE=50gforth-gentoo.el
+pkg_setup() {
+ if use force-reg; then
+ while read line; do ewarn "${line}"; done <<'EOF'
+
+You have chosen to enable "force-reg" in USE. From the GForth manual
+(http://www.public.iastate.edu/~forth/gforth_141.html):
+
+ "This feature not only depends on the machine, but also on the
+ compiler version: On some machines some compiler versions produce
+ incorrect code when certain explicit register declarations are
+ used. So by default -DFORCE_REG is not used."
+
+EOF
+ fi
+}
+
src_unpack() {
unpack ${A}
cd ${S}
- epatch ${FILESDIR}/gforth.el-gentoo.patch || die
- epatch ${FILESDIR}/${PV}-c-to-forth-to-c.patch || die
- epatch ${DISTDIR}/${PV}-debug.diff || die
+ epatch ${FILESDIR}/${PV}-ppc-configure-gentoo.patch # Bug #131931
+ epatch ${FILESDIR}/gforth.el-gentoo.patch
+ epatch ${FILESDIR}/${PV}-c-to-forth-to-c.patch
+ epatch ${DISTDIR}/${PV}-debug.diff
}
src_compile() {
- econf CC="$(tc-getCC) -fno-reorder-blocks -fno-inline" --enable-force-reg || die "econf failed"
+ filter-flags -Os -O0 -O1 -DFORCE_REG # Bug #120159
+ append-flags -O2 # Bug #120159
+
+ econf CC="$(tc-getCC) -fno-reorder-blocks -fno-inline" \
+ `use_enable force-reg force-reg` \
+ || die "econf failed"
make || die
if use emacs; then
elisp-comp *.el || die