diff options
author | Marijn Schouten <hkbst@gentoo.org> | 2007-03-03 16:13:25 +0000 |
---|---|---|
committer | Marijn Schouten <hkbst@gentoo.org> | 2007-03-03 16:13:25 +0000 |
commit | 80c78ad4148c26293b9e2a86213f2e89e1463f9e (patch) | |
tree | 6c9e83321035a138e01a39129dad8662ecad2345 /dev-scheme | |
parent | Version bump for bug #127537. protux is now written entirely in Java so addin... (diff) | |
download | gentoo-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/ChangeLog | 15 | ||||
-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.patch | 135 | ||||
-rw-r--r-- | dev-scheme/guile/files/guile-1.8.1-autotools_fixes.patch | 43 | ||||
-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 \ |