# 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
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
AUX guile-1.4-inet_aton.patch 624 RMD160 af4fb5713ed861821b9a0cf0ae8ad47a7591b95e SHA1 917c260608b18fa58dcf5e34f57bdf1415d043be SHA256 4fab8cbc26b94c490c47e6f3eb1ba46543e405a32854f7546f4b18680631a331
MD5 421beec2399dd47b6cc14d5691d7dcc4 files/guile-1.4-inet_aton.patch 624
RMD160 af4fb5713ed861821b9a0cf0ae8ad47a7591b95e files/guile-1.4-inet_aton.patch 624
MD5 07e499caf8f16c40f43897900b8a189b files/guile-1.6.7-scmsigs.patch 319
RMD160 2493f9e7b3f343e1f88c40dc7136980019188bb1 files/guile-1.6.7-scmsigs.patch 319
SHA256 d35bf326527e42db802e4271ab5e20481fbd2c6a48d5f36a7f9df6ce9382806e files/guile-1.6.7-scmsigs.patch 319
+AUX guile-1.8-rational.patch 4942 RMD160 6c626c63c08a3689213ca43a34a82a16cf512118 SHA1 2123ab36b99f58669d6bc5d16f07e184d496722f SHA256 5e8e652c385957d6c57edb753a3266c8a9ae53eae3d89664588b2ae860612c3f
+MD5 4b4a84960dd301576be6303ba46ff3e1 files/guile-1.8-rational.patch 4942
+RMD160 6c626c63c08a3689213ca43a34a82a16cf512118 files/guile-1.8-rational.patch 4942
+SHA256 5e8e652c385957d6c57edb753a3266c8a9ae53eae3d89664588b2ae860612c3f files/guile-1.8-rational.patch 4942
+AUX guile-1.8.1-autotools_fixes.patch 1269 RMD160 a2df65365383482b45c5b3a9e6030534f12298a0 SHA1 06689ef12334d2eedb479ec8d3a514b68450215d SHA256 e32ea6c42f36b125c4757d49bee102f641360d70a7879c1f0995cade752df664
+MD5 b4e9fd1078ca3827f4ba24e334e9262a files/guile-1.8.1-autotools_fixes.patch 1269
+RMD160 a2df65365383482b45c5b3a9e6030534f12298a0 files/guile-1.8.1-autotools_fixes.patch 1269
+SHA256 e32ea6c42f36b125c4757d49bee102f641360d70a7879c1f0995cade752df664 files/guile-1.8.1-autotools_fixes.patch 1269
AUX guile-amd64.patch 439 RMD160 a2b2da37a0631bc33e4ca771a652bd85a5154f0e SHA1 505a6981fdadc1a05611ca19e24a4ae8fe90f0ed SHA256 23b73a81804cc816b427d3fb3804d0da7067a37dffcf9ee7316b4a10aea65a37
MD5 979d4686f6e39379b33139182873dead files/guile-amd64.patch 439
RMD160 a2b2da37a0631bc33e4ca771a652bd85a5154f0e files/guile-amd64.patch 439
MD5 5e147f3dcf8f0d092fbd54c9ec94c406 guile-1.6.8.ebuild 2162
RMD160 b3b978d8db8e843f4e145749200202f81a0ee591 guile-1.6.8.ebuild 2162
SHA256 9c593858ced3982c5e0cfa4678f2ea622015ccea6328a70d59c6eb1d61b7aa98 guile-1.6.8.ebuild 2162
-EBUILD guile-1.8.1-r1.ebuild 1652 RMD160 6d2ca9dacf7181f776fd5514f97d4a8841c2f556 SHA1 f95127fd28ddc66542ebe7ee85620d4241d5302f SHA256 24d2d4aee3e08e328f99290597cbce2e057d91d1c25d6ae7a4c890f6cfad98e8
-MD5 cdd59694ad8d7f6e48522576c4924bcd guile-1.8.1-r1.ebuild 1652
-RMD160 6d2ca9dacf7181f776fd5514f97d4a8841c2f556 guile-1.8.1-r1.ebuild 1652
-SHA256 24d2d4aee3e08e328f99290597cbce2e057d91d1c25d6ae7a4c890f6cfad98e8 guile-1.8.1-r1.ebuild 1652
-MISC ChangeLog 7895 RMD160 c87caa26b35db3089d33dcdf3b8e4d4a1a1857a3 SHA1 8acdc0bdaef07bb8af11f7c99194637d4dc61e96 SHA256 c5575c7d8307fb0ac17ed0031d9953232eb8ce36b5e99be8a7f52d173668eeb3
-MD5 fd87394305d661ca178efe0ad909e38c ChangeLog 7895
-RMD160 c87caa26b35db3089d33dcdf3b8e4d4a1a1857a3 ChangeLog 7895
-SHA256 c5575c7d8307fb0ac17ed0031d9953232eb8ce36b5e99be8a7f52d173668eeb3 ChangeLog 7895
+EBUILD guile-1.8.1-r3.ebuild 1904 RMD160 5dea40561c924653586f450fa07434cacfe123d7 SHA1 d1458e064d383614fea8b656720b68e051cba9f5 SHA256 3c0553c2105d127e75d762bc4903f4d63653d1d2dd30493511c69d8b1923b94a
+MD5 d64010062ec33509bb1e5ced12e3c901 guile-1.8.1-r3.ebuild 1904
+RMD160 5dea40561c924653586f450fa07434cacfe123d7 guile-1.8.1-r3.ebuild 1904
+SHA256 3c0553c2105d127e75d762bc4903f4d63653d1d2dd30493511c69d8b1923b94a guile-1.8.1-r3.ebuild 1904
+MISC ChangeLog 8308 RMD160 6b8270106848c6b61dabbb63fb3df24b7beb8d10 SHA1 d925b50ca6060c2bc78bf1328caea24e3de1d3d3 SHA256 baa0335079a3ed8ff28c5b584ddb8a5a39f9b2a6a15a34ebc60f0ad6ab6c6e30
+MD5 1c8007784570a44d7269c09c6e396be2 ChangeLog 8308
+RMD160 6b8270106848c6b61dabbb63fb3df24b7beb8d10 ChangeLog 8308
+SHA256 baa0335079a3ed8ff28c5b584ddb8a5a39f9b2a6a15a34ebc60f0ad6ab6c6e30 ChangeLog 8308
MISC metadata.xml 555 RMD160 fd6eaba195ffdfb9189735c30a58f1da1600ee3c SHA1 b22e226e21b88b7124ab9365a4ba91f19ecc4ee0 SHA256 d167df240a4a0ff64e824febc1ace682c334ca7005eec9399551b35069d0e99e
MD5 7cefc4ef3671fb0674ef38ba8a168423 metadata.xml 555
RMD160 fd6eaba195ffdfb9189735c30a58f1da1600ee3c metadata.xml 555
MD5 571e9cc90ab64822a04d2d8051bf10e6 files/digest-guile-1.6.8 238
RMD160 f7d4c3f5825a66d3e59f441f642b8213320090af files/digest-guile-1.6.8 238
SHA256 5fe57fdf65206892e7849a01d1d34321956d46a0385c807d8edef02c779c62af files/digest-guile-1.6.8 238
-MD5 ef2df2d4f4b247a20d69cef6037dbbd8 files/digest-guile-1.8.1-r1 238
-RMD160 1be5c9ba1e6cdeac98d5fef78197f278c4412bdc files/digest-guile-1.8.1-r1 238
-SHA256 bf49fc77bf84831910b076db7866a2df7495407883629d7fc7c9c5ed827ff09e files/digest-guile-1.8.1-r1 238
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.2 (GNU/Linux)
-
-iD8DBQFFy7ouI1lqEGTUzyQRAkRjAKCFUBTjuqjOheWg4Q5Rajr4k1nJtACffy52
-e7jcFMAQrfHV+eX0phfoKhk=
-=h76G
------END PGP SIGNATURE-----
+MD5 ef2df2d4f4b247a20d69cef6037dbbd8 files/digest-guile-1.8.1-r3 238
+RMD160 1be5c9ba1e6cdeac98d5fef78197f278c4412bdc files/digest-guile-1.8.1-r3 238
+SHA256 bf49fc77bf84831910b076db7866a2df7495407883629d7fc7c9c5ed827ff09e files/digest-guile-1.8.1-r3 238
--- /dev/null
+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))
+
+ \f
+
--- /dev/null
+--- 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
# 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/"
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"
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 \