summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-scheme/gauche
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-scheme/gauche')
-rw-r--r--dev-scheme/gauche/Manifest2
-rw-r--r--dev-scheme/gauche/files/gauche-0.9.3.3-gauche.threads.diff120
-rw-r--r--dev-scheme/gauche/files/gauche-ext-ldflags.diff11
-rw-r--r--dev-scheme/gauche/files/gauche-gauche.m4.diff19
-rw-r--r--dev-scheme/gauche/files/gauche-rfc.tls.diff11
-rw-r--r--dev-scheme/gauche/files/gauche-rpath.diff10
-rw-r--r--dev-scheme/gauche/files/gauche-xz-info.diff31
-rw-r--r--dev-scheme/gauche/gauche-0.9.3.3.ebuild48
-rw-r--r--dev-scheme/gauche/gauche-0.9.4.ebuild47
-rw-r--r--dev-scheme/gauche/metadata.xml19
10 files changed, 318 insertions, 0 deletions
diff --git a/dev-scheme/gauche/Manifest b/dev-scheme/gauche/Manifest
new file mode 100644
index 000000000000..678633dcfd99
--- /dev/null
+++ b/dev-scheme/gauche/Manifest
@@ -0,0 +1,2 @@
+DIST Gauche-0.9.3.3.tgz 5042189 SHA256 3d8b70075faa0f7a24f8d112cc102ee3e1066680cdd19d324d59f33fab79caac
+DIST Gauche-0.9.4.tgz 5601987 SHA256 7b18bcd70beaced1e004594be46c8cff95795318f6f5830dd2a8a700410fc149 SHA512 815e719d78950a31c238fd7879e09f40d6b3a83a3ebf9d5f7cd3cc7ada081e5f20fbc6b432900e3455bc59e5e60014bf77605b8c9c5f27def53f89284b9cfca3 WHIRLPOOL 354ef81913c6f617589590299f616a50dc1e1313e00d61f0918c9b6c20c0358878cd505f3fb02efa4615730380a6db6bd790e241871fde6cd6e11a662efb113c
diff --git a/dev-scheme/gauche/files/gauche-0.9.3.3-gauche.threads.diff b/dev-scheme/gauche/files/gauche-0.9.3.3-gauche.threads.diff
new file mode 100644
index 000000000000..a44ee75b8d1a
--- /dev/null
+++ b/dev-scheme/gauche/files/gauche-0.9.3.3-gauche.threads.diff
@@ -0,0 +1,120 @@
+commit 60d82dd56c15a533562cf28111af5d3365d5d354
+Author: Shiro Kawai <shiro@acm.org>
+Date: Thu May 31 15:23:22 2012 -1000
+
+ Fixed thread-terminate! bug that SEGVs when applied on non-running threads
+
+--- a/ext/threads/test.scm
++++ b/ext/threads/test.scm
+@@ -100,6 +100,18 @@
+ (thread-terminate! t1)
+ (thread-join! t1))))
+
++;; this SEGVs on 0.9.3.3. test code from @cryks.
++(test* "thread termination before running" 'terminated
++ (let1 t1 (make-thread (^[] #f))
++ (thread-terminate! t1)
++ (thread-state t1)))
++
++(test* "thread termination while being stopped" 'terminated
++ (let1 t1 (thread-start! (make-thread (^[] (let loop () (loop)))))
++ (thread-stop! t1)
++ (thread-terminate! t1)
++ (thread-state t1)))
++
+ ;;---------------------------------------------------------------------
+ (test-section "thread and error")
+
+--- a/ext/threads/threads.c
++++ b/ext/threads/threads.c
+@@ -432,36 +432,41 @@ ScmObj Scm_ThreadTerminate(ScmVM *target)
+ }
+
+ (void)SCM_INTERNAL_MUTEX_LOCK(target->vmlock);
+- do {
+- /* This ensures only the first call of thread-terminate! on a thread
+- is in effect. */
+- if (target->canceller == NULL) {
+- target->canceller = vm;
+-
+- /* First try */
+- target->stopRequest = SCM_VM_REQUEST_TERMINATE;
+- target->attentionRequest = TRUE;
+- if (wait_for_termination(target)) break;
+-
+- /* Second try */
++ if (target->state == SCM_VM_RUNNABLE || target->state == SCM_VM_STOPPED) {
++ do {
++ /* This ensures only the first call of thread-terminate! on a
++ thread is in effect. */
++ if (target->canceller == NULL) {
++ target->canceller = vm;
++
++ /* First try */
++ target->stopRequest = SCM_VM_REQUEST_TERMINATE;
++ target->attentionRequest = TRUE;
++ if (wait_for_termination(target)) break;
++
++ /* Second try */
++ SCM_ASSERT(target->thread);
+ #if defined(GAUCHE_USE_PTHREADS)
+ # if defined(GAUCHE_PTHREAD_SIGNAL)
+- pthread_kill(target->thread, GAUCHE_PTHREAD_SIGNAL);
++ pthread_kill(target->thread, GAUCHE_PTHREAD_SIGNAL);
+ # endif /*defined(GAUCHE_PTHREAD_SIGNAL)*/
+ #elif defined(GAUCHE_USE_WTHREADS)
+- /* TODO: implement signal mechanism using an event */
++ /* TODO: implement signal mechanism using an event */
+ #endif /* defined(GAUCHE_USE_WTHREADS) */
+- if (wait_for_termination(target)) break;
++ if (wait_for_termination(target)) break;
+
+- /* Last resort */
+- thread_cleanup_inner(target);
++ /* Last resort */
++ thread_cleanup_inner(target);
+ #if defined(GAUCHE_USE_PTHREADS)
+- pthread_cancel(target->thread);
++ pthread_cancel(target->thread);
+ #elif defined(GAUCHE_USE_WTHREADS)
+- TerminateThread(target->thread, 0);
++ TerminateThread(target->thread, 0);
+ #endif
+- }
+- } while (0);
++ }
++ } while (0);
++ }
++ /* target either is terminated or hasn't been run */
++ target->state = SCM_VM_TERMINATED;
+ (void)SCM_INTERNAL_MUTEX_UNLOCK(target->vmlock);
+ return SCM_UNDEFINED;
+ }
+--- a/test/control.scm
++++ b/test/control.scm
+@@ -72,7 +72,7 @@
+ ;;
+
+ (cond-expand
+- [gauche.sys.pthreads
++ [gauche.sys.threads
+ (test-section "control.thread-pool")
+ (use control.thread-pool)
+ (test-module 'control.thread-pool)
+@@ -173,7 +173,15 @@
+ (let1 xjob (add-job! pool work)
+ (terminate-all! pool :force-timeout 0.05)
+ (job-status xjob))))
+- ]
++
++ ;; This SEGVs on 0.9.3.3 (test code by @cryks)
++ (test* "thread pool termination" 'terminated
++ (let ([t (thread-start! (make-thread (cut undefined)))]
++ [pool (make-thread-pool 10)])
++ (terminate-all! pool)
++ (thread-terminate! t)
++ (thread-state t)))
++ ] ; gauche.sys.pthreads
+ [else])
+
+ (test-end)
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-gauche.m4.diff b/dev-scheme/gauche/files/gauche-gauche.m4.diff
new file mode 100644
index 000000000000..8c4d3180836a
--- /dev/null
+++ b/dev-scheme/gauche/files/gauche-gauche.m4.diff
@@ -0,0 +1,19 @@
+--- Gauche-0.9.4.orig/m4/gauche.m4
++++ Gauche-0.9.4/m4/gauche.m4
+@@ -103,15 +103,11 @@
+ i686-*) I686OPT="-DUSE_I686_PREFETCH";;
+ esac
+ case "$CC" in
+- gcc*) # some systems may have gcc-2.95, gcc-3, etc.
++ *gcc*) # some systems may have gcc-2.95, gcc-3, etc.
+ case "$target" in
+ *mingw*) ;;
+ *) GCCOPT="-fomit-frame-pointer";;
+ esac
+- case "$target" in
+- i586-*) GCCOPT="$GCCOPT -march=i586";;
+- i686-*) GCCOPT="$GCCOPT -march=i686";;
+- esac
+ ;;
+ esac
+ OPTFLAGS="$GCCOPT $I686OPT"
diff --git a/dev-scheme/gauche/files/gauche-rfc.tls.diff b/dev-scheme/gauche/files/gauche-rfc.tls.diff
new file mode 100644
index 000000000000..662ab433ef5f
--- /dev/null
+++ b/dev-scheme/gauche/files/gauche-rfc.tls.diff
@@ -0,0 +1,11 @@
+--- Gauche-0.9.3.2.orig/ext/tls/Makefile.in
++++ Gauche-0.9.3.2/ext/tls/Makefile.in
+@@ -77,6 +77,8 @@
+ @sed -e "s@\.\./ssl/@../../$(srcdir)/axTLS/ssl/@g" \
+ -e "s/system/safe_system/g" \
+ -e "s@openssl @sh ../../$(srcdir)/kick_openssl @g" \
++ -e "/do_reneg = 1;/i#if 0" \
++ -e "/do_reneg = 0;/a#endif" \
+ $(srcdir)/axTLS/ssl/test/ssltest.c >> $(SSLTEST_GENERATED)
+ @cat $(srcdir)/system-fix.c >> $(SSLTEST_GENERATED)
+
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.3.3.ebuild b/dev-scheme/gauche/gauche-0.9.3.3.ebuild
new file mode 100644
index 000000000000..ee0aa0df3978
--- /dev/null
+++ b/dev-scheme/gauche/gauche-0.9.3.3.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit autotools eutils
+
+MY_P="${P^g}"
+
+DESCRIPTION="A Unix system friendly Scheme Interpreter"
+HOMEPAGE="http://practical-scheme.net/gauche/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="ipv6 test"
+
+RDEPEND="sys-libs/gdbm"
+DEPEND="${RDEPEND}
+ test? ( dev-libs/openssl )"
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-rpath.diff
+ epatch "${FILESDIR}"/${PN}-gauche.m4.diff
+ epatch "${FILESDIR}"/${PN}-ext-ldflags.diff
+ epatch "${FILESDIR}"/${PN}-xz-info.diff
+ epatch "${FILESDIR}"/${PN}-rfc.tls.diff
+ epatch "${FILESDIR}"/${P}-gauche.threads.diff
+ eautoconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable ipv6) \
+ --with-slib="${EPREFIX}"/usr/share/slib
+}
+
+src_test() {
+ emake -j1 -s check
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install-pkg install-doc
+ dodoc AUTHORS ChangeLog HACKING README
+}
diff --git a/dev-scheme/gauche/gauche-0.9.4.ebuild b/dev-scheme/gauche/gauche-0.9.4.ebuild
new file mode 100644
index 000000000000..1a6aaaec57ef
--- /dev/null
+++ b/dev-scheme/gauche/gauche-0.9.4.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit autotools eutils
+
+MY_P="${P^g}"
+
+DESCRIPTION="A Unix system friendly Scheme Interpreter"
+HOMEPAGE="http://practical-scheme.net/gauche/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="ipv6 test"
+
+RDEPEND="sys-libs/gdbm"
+DEPEND="${RDEPEND}
+ test? ( dev-libs/openssl )"
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-rpath.diff
+ epatch "${FILESDIR}"/${PN}-gauche.m4.diff
+ epatch "${FILESDIR}"/${PN}-ext-ldflags.diff
+ epatch "${FILESDIR}"/${PN}-xz-info.diff
+ epatch "${FILESDIR}"/${PN}-rfc.tls.diff
+ eautoconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable ipv6) \
+ --with-slib="${EPREFIX}"/usr/share/slib
+}
+
+src_test() {
+ emake -j1 -s check
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install-pkg install-doc
+ dodoc AUTHORS ChangeLog HACKING README
+}
diff --git a/dev-scheme/gauche/metadata.xml b/dev-scheme/gauche/metadata.xml
new file mode 100644
index 000000000000..11619e379dbd
--- /dev/null
+++ b/dev-scheme/gauche/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>scheme</herd>
+ <maintainer>
+ <email>hattya@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ Gauche is an R5RS Scheme implementation developed to be a handy script
+ interpreter, which allows programmers and system administrators to write
+ small to large scripts for their daily chores. Quick startup, built-in
+ system interface, native multilingual support are some of my goals.
+
+ Gauche runs on several Unix-like platforms.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">gauche</remote-id>
+ </upstream>
+</pkgmetadata>