diff options
-rw-r--r-- | dev-scheme/gauche/ChangeLog | 11 | ||||
-rw-r--r-- | dev-scheme/gauche/files/gauche-0.9.1-bzip2-info.diff | 66 | ||||
-rw-r--r-- | dev-scheme/gauche/files/gauche-0.9.1-list-queue.diff | 22 | ||||
-rw-r--r-- | dev-scheme/gauche/files/gauche-0.9.1-number.diff | 38 | ||||
-rw-r--r-- | dev-scheme/gauche/files/gauche-0.9.1-vminexact.diff | 23 | ||||
-rw-r--r-- | dev-scheme/gauche/files/gauche-ext-ldflags.diff | 11 | ||||
-rw-r--r-- | dev-scheme/gauche/files/gauche-rpath.diff | 10 | ||||
-rw-r--r-- | dev-scheme/gauche/files/gauche-xz-info.diff | 31 | ||||
-rw-r--r-- | dev-scheme/gauche/gauche-0.9.1.ebuild | 62 |
9 files changed, 273 insertions, 1 deletions
diff --git a/dev-scheme/gauche/ChangeLog b/dev-scheme/gauche/ChangeLog index 68467267b717..4f52c0e15052 100644 --- a/dev-scheme/gauche/ChangeLog +++ b/dev-scheme/gauche/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for dev-scheme/gauche # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-scheme/gauche/ChangeLog,v 1.26 2011/05/18 13:45:30 hattya Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-scheme/gauche/ChangeLog,v 1.27 2011/05/18 14:11:11 hattya Exp $ + +*gauche-0.9.1 (18 May 2011) + + 18 May 2011; Akinori Hattori <hattya@gentoo.org> +gauche-0.9.1.ebuild, + +files/gauche-0.9.1-bzip2-info.diff, +files/gauche-0.9.1-list-queue.diff, + +files/gauche-0.9.1-number.diff, +files/gauche-0.9.1-vminexact.diff, + +files/gauche-ext-ldflags.diff, +files/gauche-rpath.diff, + +files/gauche-xz-info.diff: + new upstream release. 18 May 2011; Akinori Hattori <hattya@gentoo.org> -gauche-0.8.13.ebuild, -gauche-0.9-r1.ebuild, files/gauche-gauche.m4.diff, diff --git a/dev-scheme/gauche/files/gauche-0.9.1-bzip2-info.diff b/dev-scheme/gauche/files/gauche-0.9.1-bzip2-info.diff new file mode 100644 index 000000000000..5cfe8d8264d0 --- /dev/null +++ b/dev-scheme/gauche/files/gauche-0.9.1-bzip2-info.diff @@ -0,0 +1,66 @@ +From 49401e54747a1eb3e6d0ad684b01fb289f4fcce0 Mon Sep 17 00:00:00 2001 +From: Shiro Kawai <shiro@acm.org> +Date: Fri, 18 Feb 2011 23:28:47 +0000 +Subject: support bzip2-ed info + + +diff --git a/lib/gauche/interactive/info.scm b/lib/gauche/interactive/info.scm +index fa27a5a..926473c 100644 +--- a/lib/gauche/interactive/info.scm ++++ b/lib/gauche/interactive/info.scm +@@ -83,7 +83,8 @@ + :paths paths + :pred (lambda (p) + (or (file-is-readable? p) +- (file-is-readable? #`",|p|.gz")))) ++ (file-is-readable? #`",|p|.gz") ++ (file-is-readable? #`",|p|.bz2")))) + (errorf "couldn't find info file ~s in paths: ~s" *info-file* paths)) + )) + +diff --git a/lib/text/info.scm b/lib/text/info.scm +index 4fdc8f5..b433d66 100644 +--- a/lib/text/info.scm ++++ b/lib/text/info.scm +@@ -62,25 +62,27 @@ + + ;; Find gunzip location + (define gunzip (find-file-in-paths "gunzip")) ++(define bzip2 (find-file-in-paths "bzip2")) + + ;; Read an info file FILE, and returns a list of strings splitted by ^_ (#\x1f) +-;; If FILE is not found, look for gzipped one (FILE.gz) and decompress it. ++;; If FILE is not found, look for compressed one. + (define (read-info-file-split file opts) + (define (with-input-from-info thunk) +- (cond ((file-exists? file) +- (with-input-from-file file thunk)) +- ((file-exists? #`",|file|.gz") +- (with-input-from-process #`",gunzip -c ,file" thunk)) +- (else +- (error "can't find info file" file)))) ++ (cond [(file-exists? file) ++ (with-input-from-file file thunk)] ++ [(and gunzip (file-exists? #`",|file|.gz")) ++ (with-input-from-process #`",gunzip -c ,file" thunk)] ++ [(and bzip2 (file-exists? #`",|file|.bz2")) ++ (with-input-from-process #`",bzip2 -c -d ,|file|.bz2" thunk)] ++ [else (error "can't find info file" file)])) + (with-input-from-info + (lambda () +- (let loop ((c (skip-while (char-set-complement #[\x1f]))) +- (r '())) ++ (let loop ([c (skip-while (char-set-complement #[\x1f]))] ++ [r '()]) + (if (eof-object? c) + (reverse! r) +- (let* ((head (next-token #[\x1f\n] '(#[\x1f\n] *eof*))) +- (body (next-token #[\n] '(#[\x1f] *eof*)))) ++ (let* ([head (next-token #[\x1f\n] '(#[\x1f\n] *eof*))] ++ [body (next-token #[\n] '(#[\x1f] *eof*))]) + (loop (read-char) (acons head body r))))))) + ) + +-- +1.7.3.4 + diff --git a/dev-scheme/gauche/files/gauche-0.9.1-list-queue.diff b/dev-scheme/gauche/files/gauche-0.9.1-list-queue.diff new file mode 100644 index 000000000000..80fe6bf2f99d --- /dev/null +++ b/dev-scheme/gauche/files/gauche-0.9.1-list-queue.diff @@ -0,0 +1,22 @@ +From 9dd79566fbff234f43cbc7b01078fd942f9fb31a Mon Sep 17 00:00:00 2001 +From: Shiro Kawai <shiro@acm.org> +Date: Wed, 22 Dec 2010 08:55:00 +0000 +Subject: fix list->queue bug + + +diff --git a/ext/util/queue.scm b/ext/util/queue.scm +index 0f35361..12eb88d 100644 +--- a/ext/util/queue.scm ++++ b/ext/util/queue.scm +@@ -257,7 +257,7 @@ + (Q_LENGTH q) len))) + ) + +-(define (list->queue lis :optional (class <queue>) :rest (initargs '())) ++(define (list->queue lis :optional (class <queue>) :rest initargs) + (rlet1 q (apply make class initargs) + (%queue-set-content! q (list-copy lis)))) + +-- +1.7.3.4 + diff --git a/dev-scheme/gauche/files/gauche-0.9.1-number.diff b/dev-scheme/gauche/files/gauche-0.9.1-number.diff new file mode 100644 index 000000000000..53f71172b2ff --- /dev/null +++ b/dev-scheme/gauche/files/gauche-0.9.1-number.diff @@ -0,0 +1,38 @@ +From da6fc0f158fa9c76e5df675f57b57aa8c7a4b1b7 Mon Sep 17 00:00:00 2001 +From: Shiro Kawai <shiro@acm.org> +Date: Wed, 2 Feb 2011 14:35:21 +0000 +Subject: correct error estimation of floating point number reader + + +diff --git a/src/number.c b/src/number.c +index 9a7d8f8..d121edd 100644 +--- a/src/number.c ++++ b/src/number.c +@@ -3543,6 +3543,7 @@ static double algorithmR(ScmObj f, int e, double z) + case -1: /* d2 < y */ + if (Scm_NumCmp(m, SCM_2_52) == 0 + && sign_d < 0 ++ && k > -1074 + && Scm_NumCmp(Scm_Ash(d2, 1), y) > 0) { + goto prevfloat; + } else { +diff --git a/test/number.scm b/test/number.scm +index d397630..eb6d7eb 100644 +--- a/test/number.scm ++++ b/test/number.scm +@@ -270,6 +270,12 @@ + (test* "flonum reader (minimum denormalized number -5.0e-324)" #t + (let1 x (- (expt 2.0 -1074)) + (= x (string->number (number->string x))))) ++ ++;; This hanged in 0.9.1. See Jens Thiele's message in gauche-devel ++;; in Feb. 2011. ++(test* "flonum reader (minimum normalized number)" #t ++ (= (expt 2.0 (- 52 1074)) ++ (string->number "2.2250738585072012e-308"))) + + + (test* "padding" '(10.0 #t) (flonum-test '1#)) +-- +1.7.3.4 + diff --git a/dev-scheme/gauche/files/gauche-0.9.1-vminexact.diff b/dev-scheme/gauche/files/gauche-0.9.1-vminexact.diff new file mode 100644 index 000000000000..afdfd0a3043b --- /dev/null +++ b/dev-scheme/gauche/files/gauche-0.9.1-vminexact.diff @@ -0,0 +1,23 @@ +From e1139a7ea5fea68520f3b41904bf60093cd6ba1a Mon Sep 17 00:00:00 2001 +From: Shiro Kawai <shiro@acm.org> +Date: Sun, 27 Feb 2011 11:33:42 +0000 +Subject: fixed binary compatibility of Scm_VMExactToInexact + + +diff --git a/src/gauche/number.h b/src/gauche/number.h +index b85b72d..f08e631 100644 +--- a/src/gauche/number.h ++++ b/src/gauche/number.h +@@ -319,7 +319,8 @@ SCM_EXTERN void Scm_SetDefaultEndian(ScmObj endian); + SCM_EXTERN ScmObj Scm_VMNegate(ScmObj obj); + SCM_EXTERN ScmObj Scm_VMReciprocal(ScmObj obj); + SCM_EXTERN ScmObj Scm_VMReciprocalInexact(ScmObj obj); +-SCM_EXTERN ScmObj Scm_VMInexact(ScmObj obj); ++SCM_EXTERN ScmObj Scm_VMExactToInexact(ScmObj obj); /* during 0.9 for backward compatibility */ ++#define Scm_VMInexact Scm_VMExactToInexact /* on 1.0, shorter name will be a real name */ + SCM_EXTERN ScmObj Scm_VMAbs(ScmObj obj); + SCM_EXTERN ScmObj Scm_VMAdd(ScmObj arg1, ScmObj arg2); + SCM_EXTERN ScmObj Scm_VMSub(ScmObj arg1, ScmObj arg2); +-- +1.7.3.4 + diff --git a/dev-scheme/gauche/files/gauche-ext-ldflags.diff b/dev-scheme/gauche/files/gauche-ext-ldflags.diff new file mode 100644 index 000000000000..a9de4114d2bf --- /dev/null +++ b/dev-scheme/gauche/files/gauche-ext-ldflags.diff @@ -0,0 +1,11 @@ +--- Gauche-0.9.1.orig/ext/Makefile.ext.in ++++ Gauche-0.9.1/ext/Makefile.ext.in +@@ -22,7 +22,7 @@ + LIBS = $(XLIBS) @LIBS@ + CFLAGS = @CFLAGS@ @SHLIB_SO_CFLAGS@ $(XCFLAGS) + CPPFLAGS = @CPPFLAGS@ $(XCPPFLAGS) +-LDFLAGS = $(LOCAL_LFLAGS) $(XLDFLAGS) @SHLIB_SO_LDFLAGS@ ++LDFLAGS = $(LOCAL_LFLAGS) $(XLDFLAGS) @LDFLAGS@ @SHLIB_SO_LDFLAGS@ + + # These are set by configure + DEFS = @DEFS@ diff --git a/dev-scheme/gauche/files/gauche-rpath.diff b/dev-scheme/gauche/files/gauche-rpath.diff new file mode 100644 index 000000000000..ca76cb831234 --- /dev/null +++ b/dev-scheme/gauche/files/gauche-rpath.diff @@ -0,0 +1,10 @@ +--- Gauche-0.9.1.orig/configure.ac ++++ Gauche-0.9.1/configure.ac +@@ -709,7 +709,6 @@ + fi + if test "$RPATH_FLAG" != ""; then + RPATH_TMP=$RPATH_FLAG'`pwd`' +- RPATH_REAL=$RPATH_FLAG'$(LIB_INSTALL_DIR)' + fi + fi + AC_SUBST(RPATH_FLAG) diff --git a/dev-scheme/gauche/files/gauche-xz-info.diff b/dev-scheme/gauche/files/gauche-xz-info.diff new file mode 100644 index 000000000000..809879c4cbd8 --- /dev/null +++ b/dev-scheme/gauche/files/gauche-xz-info.diff @@ -0,0 +1,31 @@ +--- Gauche-0.9.1.orig/lib/gauche/interactive/info.scm ++++ Gauche-0.9.1/lib/gauche/interactive/info.scm +@@ -84,7 +84,8 @@ + :pred (lambda (p) + (or (file-is-readable? p) + (file-is-readable? #`",|p|.gz") +- (file-is-readable? #`",|p|.bz2")))) ++ (file-is-readable? #`",|p|.bz2") ++ (file-is-readable? #`",|p|.xz")))) + (errorf "couldn't find info file ~s in paths: ~s" *info-file* paths)) + )) + +--- Gauche-0.9.1.orig/lib/text/info.scm ++++ Gauche-0.9.1/lib/text/info.scm +@@ -63,6 +63,7 @@ + ;; Find gunzip location + (define gunzip (find-file-in-paths "gunzip")) + (define bzip2 (find-file-in-paths "bzip2")) ++(define xz (find-file-in-paths "xz")) + + ;; Read an info file FILE, and returns a list of strings splitted by ^_ (#\x1f) + ;; If FILE is not found, look for compressed one. +@@ -74,6 +75,8 @@ + (with-input-from-process #`",gunzip -c ,file" thunk)] + [(and bzip2 (file-exists? #`",|file|.bz2")) + (with-input-from-process #`",bzip2 -c -d ,|file|.bz2" thunk)] ++ [(and xz (file-exists? #`",|file|.xz")) ++ (with-input-from-process #`",xz -c -d ,|file|.xz" thunk)] + [else (error "can't find info file" file)])) + (with-input-from-info + (lambda () diff --git a/dev-scheme/gauche/gauche-0.9.1.ebuild b/dev-scheme/gauche/gauche-0.9.1.ebuild new file mode 100644 index 000000000000..768c8067c982 --- /dev/null +++ b/dev-scheme/gauche/gauche-0.9.1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-scheme/gauche/gauche-0.9.1.ebuild,v 1.1 2011/05/18 14:11:11 hattya Exp $ + +EAPI="3" + +inherit autotools eutils + +IUSE="ipv6" + +MY_P="${P/g/G}" + +DESCRIPTION="A Unix system friendly Scheme Interpreter" +HOMEPAGE="http://practical-scheme.net/gauche/" +SRC_URI="mirror://sourceforge/gauche/${MY_P}.tgz" + +LICENSE="BSD" +KEYWORDS="~amd64 ~ia64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos" +SLOT="0" +S="${WORKDIR}/${MY_P}" + +DEPEND="sys-libs/gdbm" +RDEPEND="${DEPEND}" + +src_prepare() { + + epatch "${FILESDIR}"/${PN}-rpath.diff + epatch "${FILESDIR}"/${PN}-gauche.m4.diff + epatch "${FILESDIR}"/${PN}-ext-ldflags.diff + epatch "${FILESDIR}"/${P}-*.diff + epatch "${FILESDIR}"/${PN}-xz-info.diff + eautoconf + +} + +src_configure() { + + econf \ + $(use_enable ipv6) \ + --enable-multibyte=utf8 \ + --with-slib="${EPREFIX}"/usr/share/slib + +} + +src_compile() { + + emake -j1 || die + +} + +src_test() { + + emake -j1 -s check || die + +} + +src_install() { + + emake DESTDIR="${D}" install-pkg install-doc || die + dodoc AUTHORS ChangeLog HACKING README || die + +} |