summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarijn Schouten <hkbst@gentoo.org>2008-04-25 23:22:03 +0000
committerMarijn Schouten <hkbst@gentoo.org>2008-04-25 23:22:03 +0000
commit614260ea29e0b212c280df015efd160796a0c30f (patch)
tree244ecc54973224e8fceb3a609ed1168768001b25 /dev-scheme
parentchanging metadata (diff)
downloadgentoo-2-614260ea29e0b212c280df015efd160796a0c30f.tar.gz
gentoo-2-614260ea29e0b212c280df015efd160796a0c30f.tar.bz2
gentoo-2-614260ea29e0b212c280df015efd160796a0c30f.zip
add fixes for libtool-2.2 bug 212723 and gcc-4.3, bug 214787
(Portage version: 2.1.5_rc6)
Diffstat (limited to 'dev-scheme')
-rw-r--r--dev-scheme/guile/ChangeLog8
-rw-r--r--dev-scheme/guile/files/gcc-4.3.patch87
-rw-r--r--dev-scheme/guile/guile-1.8.4-r1.ebuild88
3 files changed, 182 insertions, 1 deletions
diff --git a/dev-scheme/guile/ChangeLog b/dev-scheme/guile/ChangeLog
index af09ec5847ec..1f01ca655411 100644
--- a/dev-scheme/guile/ChangeLog
+++ b/dev-scheme/guile/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-scheme/guile
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-scheme/guile/ChangeLog,v 1.56 2008/04/17 18:33:51 nixnut Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-scheme/guile/ChangeLog,v 1.57 2008/04/25 23:22:02 hkbst Exp $
+
+*guile-1.8.4-r1 (25 Apr 2008)
+
+ 25 Apr 2008; Marijn Schouten <hkBst@gentoo.org> +files/gcc-4.3.patch,
+ +guile-1.8.4-r1.ebuild:
+ add fixes for libtool-2.2 bug 212723 and gcc-4.3, bug 214787
17 Apr 2008; nixnut <nixnut@gentoo.org> guile-1.8.4.ebuild:
Stable on ppc wrt bug 217410
diff --git a/dev-scheme/guile/files/gcc-4.3.patch b/dev-scheme/guile/files/gcc-4.3.patch
new file mode 100644
index 000000000000..35ac8b149339
--- /dev/null
+++ b/dev-scheme/guile/files/gcc-4.3.patch
@@ -0,0 +1,87 @@
+diff -urN guile-1.8-1.8.3+1.old/libguile/c-tokenize.c guile-1.8-1.8.3+1/libguile/c-tokenize.c
+--- guile-1.8-1.8.3+1.old/libguile/c-tokenize.c 2007-06-13 22:00:56.000000000 +0000
++++ guile-1.8-1.8.3+1/libguile/c-tokenize.c 2008-02-23 01:40:11.000000000 +0000
+@@ -579,6 +579,8 @@
+ #include <stdlib.h>
+ #include <string.h>
+
++#define YY_NO_INPUT
++
+ int yylex(void);
+
+ int yyget_lineno (void);
+diff -urN guile-1.8-1.8.3+1.old/libguile/c-tokenize.lex guile-1.8-1.8.3+1/libguile/c-tokenize.lex
+--- guile-1.8-1.8.3+1.old/libguile/c-tokenize.lex 2007-05-09 20:22:03.000000000 +0000
++++ guile-1.8-1.8.3+1/libguile/c-tokenize.lex 2008-02-23 01:39:42.000000000 +0000
+@@ -18,7 +18,9 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+-
++
++#define YY_NO_INPUT
++
+ int yylex(void);
+
+ int yyget_lineno (void);
+diff -urN guile-1.8-1.8.3+1.old/libguile/inline.h guile-1.8-1.8.3+1/libguile/inline.h
+--- guile-1.8-1.8.3+1.old/libguile/inline.h 2007-05-09 20:22:03.000000000 +0000
++++ guile-1.8-1.8.3+1/libguile/inline.h 2008-02-23 01:43:22.000000000 +0000
+@@ -55,6 +55,12 @@
+ extern unsigned scm_newcell2_count;
+ extern unsigned scm_newcell_count;
+
++#ifdef __GNUC_STDC_INLINE__
++#define SCM_C_GNU_INLINE SCM_C_INLINE __attribute__((__gnu_inline__))
++#else
++#define SCM_C_GNU_INLINE SCM_C_INLINE
++#endif
++
+ #if defined SCM_C_INLINE && ! defined SCM_INLINE_C_INCLUDING_INLINE_H
+ /* definitely inlining */
+ #ifdef __GNUC__
+@@ -62,7 +68,7 @@
+ #else
+ static
+ #endif
+-SCM_C_INLINE
++SCM_C_GNU_INLINE
+ #endif
+ SCM
+ scm_cell (scm_t_bits car, scm_t_bits cdr)
+@@ -138,7 +144,7 @@
+ #else
+ static
+ #endif
+-SCM_C_INLINE
++SCM_C_GNU_INLINE
+ #endif
+ SCM
+ scm_double_cell (scm_t_bits car, scm_t_bits cbr,
+@@ -213,7 +219,7 @@
+ #else
+ static
+ #endif
+-SCM_C_INLINE
++SCM_C_GNU_INLINE
+ #endif
+ SCM
+ scm_array_handle_ref (scm_t_array_handle *h, ssize_t p)
+@@ -228,7 +234,7 @@
+ #else
+ static
+ #endif
+-SCM_C_INLINE
++SCM_C_GNU_INLINE
+ #endif
+ void
+ scm_array_handle_set (scm_t_array_handle *h, ssize_t p, SCM v)
+@@ -243,7 +249,7 @@
+ #else
+ static
+ #endif
+-SCM_C_INLINE
++SCM_C_GNU_INLINE
+ #endif
+ int
+ scm_is_pair (SCM x)
diff --git a/dev-scheme/guile/guile-1.8.4-r1.ebuild b/dev-scheme/guile/guile-1.8.4-r1.ebuild
new file mode 100644
index 000000000000..1996f808a965
--- /dev/null
+++ b/dev-scheme/guile/guile-1.8.4-r1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-scheme/guile/guile-1.8.4-r1.ebuild,v 1.1 2008/04/25 23:22:02 hkbst Exp $
+
+inherit eutils autotools flag-o-matic
+
+DESCRIPTION="Scheme interpreter"
+HOMEPAGE="http://www.gnu.org/software/guile/"
+SRC_URI="mirror://gnu/guile/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+RESTRICT="!regex? ( test )"
+
+DEPEND=">=dev-libs/gmp-4.1 >=sys-devel/libtool-1.5.6 sys-devel/gettext"
+
+# Guile seems to contain some slotting support, /usr/share/guile/ is slotted,
+# but there are lots of collisions. Most in /usr/share/libguile. Therefore
+# I'm slotting this in the same slot as guile-1.6* for now.
+SLOT="12"
+MAJOR="1.8"
+
+IUSE="networking regex discouraged deprecated elisp nls debug-freelist debug-malloc debug threads"
+
+src_unpack() {
+ unpack ${A}; cd "${S}"
+
+ sed "s_sleep 999_sleep 1_" -i test-suite/tests/popen.test
+
+ #bug 214787
+ epatch "${FILESDIR}"/gcc-4.3.patch
+
+ #for libtool-2.2*, bug 212723
+ eautoreconf
+}
+
+src_compile() {
+ # see bug #178499
+ filter-flags -ftree-vectorize
+
+#will fail for me if posix is disabled or without modules -- hkBst
+ econf \
+ --disable-error-on-warning \
+ --disable-static \
+ --enable-posix \
+ $(use_enable networking) \
+ $(use_enable regex) \
+ $(use deprecated || use_enable discouraged) \
+ $(use_enable deprecated) \
+ $(use_enable elisp) \
+ $(use_enable nls) \
+ --disable-rpath \
+ $(use_enable debug-freelist) \
+ $(use_enable debug-malloc) \
+ $(use_enable debug guile-debug) \
+ $(use_with threads) \
+ --with-modules
+
+ emake || die "make failed"
+}
+
+src_install() {
+ einstall || die "install failed"
+
+ dodoc AUTHORS ChangeLog GUILE-VERSION HACKING NEWS README SNAPSHOTS THANKS
+
+ # texmacs needs this, closing bug #23493
+ dodir /etc/env.d
+ echo "GUILE_LOAD_PATH=\"/usr/share/guile/${MAJOR}\"" > "${D}"/etc/env.d/50guile
+
+ # necessary for registering slib, see bug 206896
+ keepdir /usr/share/guile/site
+}
+
+pkg_postinst() {
+ [ "${ROOT}" == "/" ] && pkg_config
+}
+
+pkg_config() {
+ if has_version dev-scheme/slib; then
+ einfo "Registering slib with guile"
+ install_slib_for_guile
+ fi
+}
+
+_pkg_prerm() {
+ rm -f "${ROOT}"/usr/share/guile/site/slibcat
+}