summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarijn Schouten <hkbst@gentoo.org>2007-03-03 16:13:25 +0000
committerMarijn Schouten <hkbst@gentoo.org>2007-03-03 16:13:25 +0000
commit80c78ad4148c26293b9e2a86213f2e89e1463f9e (patch)
tree6c9e83321035a138e01a39129dad8662ecad2345 /dev-scheme
parentVersion bump for bug #127537. protux is now written entirely in Java so addin... (diff)
downloadgentoo-2-80c78ad4148c26293b9e2a86213f2e89e1463f9e.tar.gz
gentoo-2-80c78ad4148c26293b9e2a86213f2e89e1463f9e.tar.bz2
gentoo-2-80c78ad4148c26293b9e2a86213f2e89e1463f9e.zip
add patch for xbindkeys
(Portage version: 2.1.2-r13)
Diffstat (limited to 'dev-scheme')
-rw-r--r--dev-scheme/guile/ChangeLog15
-rw-r--r--dev-scheme/guile/files/digest-guile-1.8.1-r3 (renamed from dev-scheme/guile/files/digest-guile-1.8.1-r1)0
-rw-r--r--dev-scheme/guile/files/guile-1.8-rational.patch135
-rw-r--r--dev-scheme/guile/files/guile-1.8.1-autotools_fixes.patch43
-rw-r--r--dev-scheme/guile/guile-1.8.1-r3.ebuild (renamed from dev-scheme/guile/guile-1.8.1-r1.ebuild)20
5 files changed, 208 insertions, 5 deletions
diff --git a/dev-scheme/guile/ChangeLog b/dev-scheme/guile/ChangeLog
index 3c979f2edede..4582f0846f62 100644
--- a/dev-scheme/guile/ChangeLog
+++ b/dev-scheme/guile/ChangeLog
@@ -1,6 +1,19 @@
# ChangeLog for dev-scheme/guile
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-scheme/guile/ChangeLog,v 1.7 2007/02/09 00:02:48 swegener Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-scheme/guile/ChangeLog,v 1.8 2007/03/03 16:13:25 hkbst Exp $
+
+*guile-1.8.1-r3 (03 Mar 2007)
+
+ 03 Mar 2007; Marijn Schouten <hkBst@gentoo.org>
+ +files/guile-1.8.1-autotools_fixes.patch, +files/guile-1.8-rational.patch,
+ -guile-1.8.1-r1.ebuild, +guile-1.8.1-r3.ebuild:
+ add patch for xbindkeys
+
+*guile-1.8.1-r2 (28 Feb 2007)
+
+ 28 Feb 2007; Marijn Schouten <hkBst@gentoo.org>
+ +files/guile-1.8-rational.patch, +guile-1.8.1-r2.ebuild:
+ add guile patched for lilypond 2.11.x
28 Jan 2007; Marijn Schouten <hkBst@gentoo.org> guile-1.8.1-r1.ebuild:
deprecated depends on discouraged being enabled, bug 164206
diff --git a/dev-scheme/guile/files/digest-guile-1.8.1-r1 b/dev-scheme/guile/files/digest-guile-1.8.1-r3
index 1b93a92fe5ec..1b93a92fe5ec 100644
--- a/dev-scheme/guile/files/digest-guile-1.8.1-r1
+++ b/dev-scheme/guile/files/digest-guile-1.8.1-r3
diff --git a/dev-scheme/guile/files/guile-1.8-rational.patch b/dev-scheme/guile/files/guile-1.8-rational.patch
new file mode 100644
index 000000000000..0f9159358783
--- /dev/null
+++ b/dev-scheme/guile/files/guile-1.8-rational.patch
@@ -0,0 +1,135 @@
+2006-12-23 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * numbers.c (scm_i_fraction_reduce): move logic into
+ scm_i_make_ratio(), so fractions are only read.
+ scm_i_fraction_reduce() modifies a fraction when reading it. A
+ race condition might lead to fractions being corrupted by reading
+ them concurrently.
+
+ Also, the REDUCED bit alters the SCM_CELL_TYPE(), making
+ comparisons between reduced and unreduced fractions go wrong.
+
+ * numbers.h: remove SCM_FRACTION_SET_NUMERATOR,
+ SCM_FRACTION_SET_DENOMINATOR, SCM_FRACTION_REDUCED_BIT,
+ SCM_FRACTION_REDUCED_SET, SCM_FRACTION_REDUCED_CLEAR,
+ SCM_FRACTION_REDUCED.
+
+Index: libguile/numbers.c
+===================================================================
+RCS file: /cvsroot/guile/guile/guile-core/libguile/numbers.c,v
+retrieving revision 1.285
+diff -p -u -u -r1.285 numbers.c
+--- libguile/numbers.c 9 Oct 2006 23:17:30 -0000 1.285
++++ libguile/numbers.c 23 Dec 2006 20:31:20 -0000
+@@ -452,28 +452,21 @@ scm_i_make_ratio (SCM numerator, SCM den
+
+ /* No, it's a proper fraction.
+ */
+- return scm_double_cell (scm_tc16_fraction,
+- SCM_UNPACK (numerator),
+- SCM_UNPACK (denominator), 0);
++ {
++ SCM divisor = scm_gcd (numerator, denominator);
++ if (!(scm_is_eq (divisor, SCM_I_MAKINUM(1))))
++ {
++ numerator = scm_divide (numerator, divisor);
++ denominator = scm_divide (denominator, divisor);
++ }
++
++ return scm_double_cell (scm_tc16_fraction,
++ SCM_UNPACK (numerator),
++ SCM_UNPACK (denominator), 0);
++ }
+ }
+ #undef FUNC_NAME
+
+-static void scm_i_fraction_reduce (SCM z)
+-{
+- if (!(SCM_FRACTION_REDUCED (z)))
+- {
+- SCM divisor;
+- divisor = scm_gcd (SCM_FRACTION_NUMERATOR (z), SCM_FRACTION_DENOMINATOR (z));
+- if (!(scm_is_eq (divisor, SCM_I_MAKINUM(1))))
+- {
+- /* is this safe? */
+- SCM_FRACTION_SET_NUMERATOR (z, scm_divide (SCM_FRACTION_NUMERATOR (z), divisor));
+- SCM_FRACTION_SET_DENOMINATOR (z, scm_divide (SCM_FRACTION_DENOMINATOR (z), divisor));
+- }
+- SCM_FRACTION_REDUCED_SET (z);
+- }
+-}
+-
+ double
+ scm_i_fraction2double (SCM z)
+ {
+@@ -2387,7 +2380,6 @@ SCM_DEFINE (scm_number_to_string, "numbe
+ }
+ else if (SCM_FRACTIONP (n))
+ {
+- scm_i_fraction_reduce (n);
+ return scm_string_append (scm_list_3 (scm_number_to_string (SCM_FRACTION_NUMERATOR (n), radix),
+ scm_from_locale_string ("/"),
+ scm_number_to_string (SCM_FRACTION_DENOMINATOR (n), radix)));
+@@ -2441,7 +2433,6 @@ int
+ scm_i_print_fraction (SCM sexp, SCM port, scm_print_state *pstate SCM_UNUSED)
+ {
+ SCM str;
+- scm_i_fraction_reduce (sexp);
+ str = scm_number_to_string (sexp, SCM_UNDEFINED);
+ scm_lfwrite (scm_i_string_chars (str), scm_i_string_length (str), port);
+ scm_remember_upto_here_1 (str);
+@@ -3109,8 +3100,6 @@ scm_complex_equalp (SCM x, SCM y)
+ SCM
+ scm_i_fraction_equalp (SCM x, SCM y)
+ {
+- scm_i_fraction_reduce (x);
+- scm_i_fraction_reduce (y);
+ if (scm_is_false (scm_equal_p (SCM_FRACTION_NUMERATOR (x),
+ SCM_FRACTION_NUMERATOR (y)))
+ || scm_is_false (scm_equal_p (SCM_FRACTION_DENOMINATOR (x),
+@@ -5424,10 +5413,7 @@ scm_numerator (SCM z)
+ else if (SCM_BIGP (z))
+ return z;
+ else if (SCM_FRACTIONP (z))
+- {
+- scm_i_fraction_reduce (z);
+- return SCM_FRACTION_NUMERATOR (z);
+- }
++ return SCM_FRACTION_NUMERATOR (z);
+ else if (SCM_REALP (z))
+ return scm_exact_to_inexact (scm_numerator (scm_inexact_to_exact (z)));
+ else
+@@ -5446,10 +5432,7 @@ scm_denominator (SCM z)
+ else if (SCM_BIGP (z))
+ return SCM_I_MAKINUM (1);
+ else if (SCM_FRACTIONP (z))
+- {
+- scm_i_fraction_reduce (z);
+- return SCM_FRACTION_DENOMINATOR (z);
+- }
++ return SCM_FRACTION_DENOMINATOR (z);
+ else if (SCM_REALP (z))
+ return scm_exact_to_inexact (scm_denominator (scm_inexact_to_exact (z)));
+ else
+Index: libguile/numbers.h
+===================================================================
+RCS file: /cvsroot/guile/guile/guile-core/libguile/numbers.h,v
+retrieving revision 1.103
+diff -p -u -u -r1.103 numbers.h
+--- libguile/numbers.h 9 Oct 2006 23:17:57 -0000 1.103
++++ libguile/numbers.h 23 Dec 2006 20:31:21 -0000
+@@ -157,14 +157,6 @@
+ #define SCM_FRACTIONP(x) (!SCM_IMP (x) && SCM_TYP16 (x) == scm_tc16_fraction)
+ #define SCM_FRACTION_NUMERATOR(x) (SCM_CELL_OBJECT_1 (x))
+ #define SCM_FRACTION_DENOMINATOR(x) (SCM_CELL_OBJECT_2 (x))
+-#define SCM_FRACTION_SET_NUMERATOR(x, v) (SCM_SET_CELL_OBJECT_1 ((x), (v)))
+-#define SCM_FRACTION_SET_DENOMINATOR(x, v) (SCM_SET_CELL_OBJECT_2 ((x), (v)))
+-
+- /* I think the left half word is free in the type, so I'll use bit 17 */
+-#define SCM_FRACTION_REDUCED_BIT 0x10000
+-#define SCM_FRACTION_REDUCED_SET(x) (SCM_SET_CELL_TYPE((x), (SCM_CELL_TYPE (x) | SCM_FRACTION_REDUCED_BIT)))
+-#define SCM_FRACTION_REDUCED_CLEAR(x) (SCM_SET_CELL_TYPE((x), (SCM_CELL_TYPE (x) & ~SCM_FRACTION_REDUCED_BIT)))
+-#define SCM_FRACTION_REDUCED(x) (0x10000 & SCM_CELL_TYPE (x))
+
+
+
diff --git a/dev-scheme/guile/files/guile-1.8.1-autotools_fixes.patch b/dev-scheme/guile/files/guile-1.8.1-autotools_fixes.patch
new file mode 100644
index 000000000000..65908c9aa455
--- /dev/null
+++ b/dev-scheme/guile/files/guile-1.8.1-autotools_fixes.patch
@@ -0,0 +1,43 @@
+--- libguile/Makefile.am 2006/11/18 18:14:55 1.209
++++ libguile/Makefile.am 2007/01/15 23:28:25 1.210
+@@ -285,7 +285,7 @@
+ .c.x:
+ ./guile-snarf -o $@ $< $(snarfcppopts)
+ .c.doc:
+- -(test -n "${AWK+set}" || AWK="@AWK@"; ${AWK} -f ./guile-func-name-check $<)
++ -$(AWK) -f ./guile-func-name-check $<
+ (./guile-snarf-docs $(snarfcppopts) $< | \
+ ./guile_filter_doc_snarfage$(EXEEXT) --filter-snarfage) > $@ || { rm $@; false; }
+
+--- test-suite/standalone/Makefile.am 2006/02/03 23:38:51 1.13
++++ test-suite/standalone/Makefile.am 2006/12/02 23:09:03 1.13.2.2
+@@ -29,7 +29,7 @@
+
+ TESTS_ENVIRONMENT = "${top_builddir}/pre-inst-guile-env"
+
+-test_cflags := \
++test_cflags = \
+ -I$(top_srcdir)/test-suite/standalone \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/libguile-ltdl $(EXTRA_DEFS) $(GUILE_CFLAGS)
+@@ -38,7 +38,8 @@
+
+ snarfcppopts = \
+ $(DEFS) $(DEFAULT_INCLUDES) $(CPPFLAGS) $(CFLAGS) -I$(top_srcdir)
+-%.x: %.c
++SUFFIXES = .x
++.c.x:
+ ${top_builddir}/libguile/guile-snarf -o $@ $< $(snarfcppopts)
+
+ CLEANFILES = *.x
+--- configure.in 2006/11/29 23:30:43 1.268.2.22
++++ configure.in 2006/12/02 23:53:16 1.268.2.23
+@@ -68,6 +68,8 @@
+ AC_MINIX
+
+ AM_PROG_CC_STDC
++# for per-target cflags in the libguile subdir
++AM_PROG_CC_C_O
+
+ AC_LIBTOOL_DLOPEN
+ AC_PROG_LIBTOOL
diff --git a/dev-scheme/guile/guile-1.8.1-r1.ebuild b/dev-scheme/guile/guile-1.8.1-r3.ebuild
index b216bd2b9dd6..9fc4aa65899c 100644
--- a/dev-scheme/guile/guile-1.8.1-r1.ebuild
+++ b/dev-scheme/guile/guile-1.8.1-r3.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-scheme/guile/guile-1.8.1-r1.ebuild,v 1.3 2007/02/02 18:58:52 mr_bones_ Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-scheme/guile/guile-1.8.1-r3.ebuild,v 1.1 2007/03/03 16:13:25 hkbst Exp $
-inherit autotools
+inherit eutils autotools
DESCRIPTION="Scheme interpreter"
HOMEPAGE="http://www.gnu.org/software/guile/"
@@ -11,8 +11,7 @@ SRC_URI="mirror://gnu/guile/${P}.tar.gz"
LICENSE="GPL-2"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-DEPEND=">=dev-libs/gmp-4.1
- >=sys-devel/libtool-1.5.6"
+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"
@@ -20,6 +19,19 @@ MAJOR="1.8"
IUSE="networking regex discouraged deprecated elisp nls debug-freelist debug-malloc debug threads"
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+
+ # for xbindkeys
+ cp /usr/share/gettext/config.rpath .
+ epatch ${FILESDIR}/guile-1.8.1-autotools_fixes.patch
+ eautoreconf
+
+ # for lilypond 2.11.x
+ epatch ${FILESDIR}/guile-1.8-rational.patch
+}
+
src_compile() {
#will fail for me if posix is disabled or without modules -- hkBst
econf \