summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiroslav Lichvar <mlichvar@redhat.com>2010-12-14 16:39:19 +0100
committerMiroslav Lichvar <mlichvar@redhat.com>2010-12-14 16:39:19 +0100
commite5f2f4dd596854be090a07736be364acdfc8421c (patch)
treef88cabda1155e1a9e86038b4d623e02162f9819d
parentf3928c339141227c77385db26d604fe9384cf430 (diff)
downloadguile-e5f2f4dd596854be090a07736be364acdfc8421c.tar.gz
guile-e5f2f4dd596854be090a07736be364acdfc8421c.tar.xz
guile-e5f2f4dd596854be090a07736be364acdfc8421c.zip
1.8.8-1
- update to 1.8.8 - try enabling optimizations on sparc again
-rw-r--r--.gitignore2
-rw-r--r--guile-1.8.7-ia64jmp.patch206
-rw-r--r--guile-1.8.7-linemarkers.patch21
-rw-r--r--guile-1.8.7-testsuite2.patch58
-rw-r--r--guile.spec29
-rw-r--r--sources2
6 files changed, 8 insertions, 310 deletions
diff --git a/.gitignore b/.gitignore
index e8b1f78..21096e8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-guile-1.8.7.tar.gz
+guile-1.8.8.tar.gz
diff --git a/guile-1.8.7-ia64jmp.patch b/guile-1.8.7-ia64jmp.patch
deleted file mode 100644
index 68b3300..0000000
--- a/guile-1.8.7-ia64jmp.patch
+++ /dev/null
@@ -1,206 +0,0 @@
-commit e4d87bf9fd36fdf572bde0604168bcf7d2e9838d
-Author: Neil Jerram <neil@ossau.uklinux.net>
-Date: Wed Aug 5 16:13:28 2009 +0100
-
- Avoid clash with system setjmp/longjmp on IA64
-
- Problem was that if an application includes both libguile.h and the
- system's setjmp.h, and is compiled on IA64, it gets compile errors
- because of jmp_buf, setjmp and longjmp being multiply defined.
-
- * libguile/__scm.h (__ia64__): Define scm_i_jmp_buf, SCM_I_SETJMP and
- SCM_I_LONGJMP instead of jmp_buf, setjmp and longjmp.
-
- (all other platforms): Map scm_i_jmp_buf, SCM_I_SETJMP and
- SCM_I_LONGJMP to jmp_buf, setjmp and longjmp.
-
- * libguile/continuations.c (scm_make_continuation): Use `SCM_I_SETJMP'
- instead of `setjmp'.
- (copy_stack_and_call): Use `SCM_I_LONJMP' instead of `longjmp'.
- (scm_ia64_longjmp): Use type `scm_i_jmp_buf' instead of `jmp_buf'.
-
- * libguile/continuations.h (scm_t_contregs): Use type `scm_i_jmp_buf'
- instead of `jmp_buf'.
-
- * libguile/threads.c (suspend): Use `SCM_I_SETJMP' instead of
- `setjmp'.
-
- * libguile/threads.h (scm_i_thread): Use type `scm_i_jmp_buf' instead
- of `jmp_buf'.
-
- * libguile/throw.c (JBJMPBUF, make_jmpbuf, jmp_buf_and_retval): Use
- type `scm_i_jmp_buf' instead of `jmp_buf'.
- (scm_c_catch): Use `SCM_I_SETJMP' instead of `setjmp'.
- (scm_ithrow): Use `SCM_I_LONGJMP' instead of `longjmp'.
-
-diff --git a/libguile/__scm.h b/libguile/__scm.h
-index b198f9d..a18ab9f 100644
---- a/libguile/__scm.h
-+++ b/libguile/__scm.h
-@@ -409,19 +409,28 @@
- typedef struct {
- ucontext_t ctx;
- int fresh;
-- } jmp_buf;
--# define setjmp(JB) \
-+ } scm_i_jmp_buf;
-+# define SCM_I_SETJMP(JB) \
- ( (JB).fresh = 1, \
- getcontext (&((JB).ctx)), \
- ((JB).fresh ? ((JB).fresh = 0, 0) : 1) )
--# define longjmp(JB,VAL) scm_ia64_longjmp (&(JB), VAL)
-- void scm_ia64_longjmp (jmp_buf *, int);
-+# define SCM_I_LONGJMP(JB,VAL) scm_ia64_longjmp (&(JB), VAL)
-+ void scm_ia64_longjmp (scm_i_jmp_buf *, int);
- # else /* ndef __ia64__ */
- # include <setjmp.h>
- # endif /* ndef __ia64__ */
- # endif /* ndef _CRAY1 */
- #endif /* ndef vms */
-
-+/* For any platform where SCM_I_SETJMP hasn't been defined in some
-+ special way above, map SCM_I_SETJMP, SCM_I_LONGJMP and
-+ scm_i_jmp_buf to setjmp, longjmp and jmp_buf. */
-+#ifndef SCM_I_SETJMP
-+#define scm_i_jmp_buf jmp_buf
-+#define SCM_I_SETJMP setjmp
-+#define SCM_I_LONGJMP longjmp
-+#endif
-+
- /* James Clark came up with this neat one instruction fix for
- * continuations on the SPARC. It flushes the register windows so
- * that all the state of the process is contained in the stack.
-diff --git a/libguile/continuations.c b/libguile/continuations.c
-index 69d2569..84a7fed 100644
---- a/libguile/continuations.c
-+++ b/libguile/continuations.c
-@@ -127,7 +127,7 @@ scm_make_continuation (int *first)
- continuation->offset = continuation->stack - src;
- memcpy (continuation->stack, src, sizeof (SCM_STACKITEM) * stack_size);
-
-- *first = !setjmp (continuation->jmpbuf);
-+ *first = !SCM_I_SETJMP (continuation->jmpbuf);
- if (*first)
- {
- #ifdef __ia64__
-@@ -224,12 +224,12 @@ copy_stack_and_call (scm_t_contregs *continuation, SCM val,
- scm_i_set_last_debug_frame (continuation->dframe);
-
- continuation->throw_value = val;
-- longjmp (continuation->jmpbuf, 1);
-+ SCM_I_LONGJMP (continuation->jmpbuf, 1);
- }
-
- #ifdef __ia64__
- void
--scm_ia64_longjmp (jmp_buf *JB, int VAL)
-+scm_ia64_longjmp (scm_i_jmp_buf *JB, int VAL)
- {
- scm_i_thread *t = SCM_I_CURRENT_THREAD;
-
-diff --git a/libguile/continuations.h b/libguile/continuations.h
-index f6fb96a..c61ab2d 100644
---- a/libguile/continuations.h
-+++ b/libguile/continuations.h
-@@ -43,7 +43,7 @@ SCM_API scm_t_bits scm_tc16_continuation;
- typedef struct
- {
- SCM throw_value;
-- jmp_buf jmpbuf;
-+ scm_i_jmp_buf jmpbuf;
- SCM dynenv;
- #ifdef __ia64__
- void *backing_store;
-diff --git a/libguile/threads.c b/libguile/threads.c
-index 95a905c..f2bb556 100644
---- a/libguile/threads.c
-+++ b/libguile/threads.c
-@@ -276,7 +276,7 @@ unblock_from_queue (SCM queue)
- var 't'
- // save registers.
- SCM_FLUSH_REGISTER_WINDOWS; // sparc only
-- setjmp (t->regs); // here's most of the magic
-+ SCM_I_SETJMP (t->regs); // here's most of the magic
-
- ... and returns.
-
-@@ -330,7 +330,7 @@ unblock_from_queue (SCM queue)
- t->top = SCM_STACK_PTR (&t);
- // save registers.
- SCM_FLUSH_REGISTER_WINDOWS;
-- setjmp (t->regs);
-+ SCM_I_SETJMP (t->regs);
- res = func(data);
- scm_enter_guile (t);
-
-@@ -388,7 +388,7 @@ suspend (void)
- t->top = SCM_STACK_PTR (&t);
- /* save registers. */
- SCM_FLUSH_REGISTER_WINDOWS;
-- setjmp (t->regs);
-+ SCM_I_SETJMP (t->regs);
- return t;
- }
-
-diff --git a/libguile/threads.h b/libguile/threads.h
-index 2b0e067..e22d9bd 100644
---- a/libguile/threads.h
-+++ b/libguile/threads.h
-@@ -107,7 +107,7 @@ typedef struct scm_i_thread {
- /* For keeping track of the stack and registers. */
- SCM_STACKITEM *base;
- SCM_STACKITEM *top;
-- jmp_buf regs;
-+ scm_i_jmp_buf regs;
- #ifdef __ia64__
- void *register_backing_store_base;
- scm_t_contregs *pending_rbs_continuation;
-diff --git a/libguile/throw.c b/libguile/throw.c
-index 92c5a1a..fcfde47 100644
---- a/libguile/throw.c
-+++ b/libguile/throw.c
-@@ -53,7 +53,7 @@ static scm_t_bits tc16_jmpbuffer;
- #define DEACTIVATEJB(x) \
- (SCM_SET_CELL_WORD_0 ((x), (SCM_CELL_WORD_0 (x) & ~(1L << 16L))))
-
--#define JBJMPBUF(OBJ) ((jmp_buf *) SCM_CELL_WORD_1 (OBJ))
-+#define JBJMPBUF(OBJ) ((scm_i_jmp_buf *) SCM_CELL_WORD_1 (OBJ))
- #define SETJBJMPBUF(x, v) (SCM_SET_CELL_WORD_1 ((x), (scm_t_bits) (v)))
- #define SCM_JBDFRAME(x) ((scm_t_debug_frame *) SCM_CELL_WORD_2 (x))
- #define SCM_SETJBDFRAME(x, v) (SCM_SET_CELL_WORD_2 ((x), (scm_t_bits) (v)))
-@@ -75,7 +75,7 @@ make_jmpbuf (void)
- {
- SCM answer;
- SCM_NEWSMOB2 (answer, tc16_jmpbuffer, 0, 0);
-- SETJBJMPBUF(answer, (jmp_buf *)0);
-+ SETJBJMPBUF(answer, (scm_i_jmp_buf *)0);
- DEACTIVATEJB(answer);
- return answer;
- }
-@@ -85,7 +85,7 @@ make_jmpbuf (void)
-
- struct jmp_buf_and_retval /* use only on the stack, in scm_catch */
- {
-- jmp_buf buf; /* must be first */
-+ scm_i_jmp_buf buf; /* must be first */
- SCM throw_tag;
- SCM retval;
- };
-@@ -179,7 +179,7 @@ scm_c_catch (SCM tag,
- pre_unwind.lazy_catch_p = 0;
- SCM_SETJBPREUNWIND(jmpbuf, &pre_unwind);
-
-- if (setjmp (jbr.buf))
-+ if (SCM_I_SETJMP (jbr.buf))
- {
- SCM throw_tag;
- SCM throw_args;
-@@ -821,7 +821,7 @@ scm_ithrow (SCM key, SCM args, int noreturn SCM_UNUSED)
- jbr->throw_tag = key;
- jbr->retval = args;
- scm_i_set_last_debug_frame (SCM_JBDFRAME (jmpbuf));
-- longjmp (*JBJMPBUF (jmpbuf), 1);
-+ SCM_I_LONGJMP (*JBJMPBUF (jmpbuf), 1);
- }
-
- /* Otherwise, it's some random piece of junk. */
diff --git a/guile-1.8.7-linemarkers.patch b/guile-1.8.7-linemarkers.patch
deleted file mode 100644
index 4330c24..0000000
--- a/guile-1.8.7-linemarkers.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -up guile-1.8.7/libguile/guile-snarf-docs.in.linemarkers guile-1.8.7/libguile/guile-snarf-docs.in
---- guile-1.8.7/libguile/guile-snarf-docs.in.linemarkers 2009-07-04 00:19:00.000000000 +0200
-+++ guile-1.8.7/libguile/guile-snarf-docs.in 2009-11-19 17:58:03.000000000 +0100
-@@ -23,4 +23,4 @@ bindir=`dirname $0`
- ## Let the user override the preprocessor autoconf found.
- test -n "${CPP+set}" || CPP="@CPP@"
-
--${CPP} -DSCM_MAGIC_SNARF_DOCS "$@"
-+${CPP} -P -DSCM_MAGIC_SNARF_DOCS "$@"
-diff -up guile-1.8.7/libguile/guile-snarf.in.linemarkers guile-1.8.7/libguile/guile-snarf.in
---- guile-1.8.7/libguile/guile-snarf.in.linemarkers 2009-11-19 16:31:46.000000000 +0100
-+++ guile-1.8.7/libguile/guile-snarf.in 2009-11-19 18:10:09.000000000 +0100
-@@ -49,7 +49,7 @@ modern_snarf ()
- ## Apparently, AIX's preprocessor is unhappy if you try to #include an
- ## empty file.
- echo "/* cpp arguments: $@ */" ;
-- ${cpp} -DSCM_MAGIC_SNARF_INITS -DSCM_MAGIC_SNARFER "$@" > ${temp} && cpp_ok_p=true
-+ ${cpp} -P -DSCM_MAGIC_SNARF_INITS -DSCM_MAGIC_SNARFER "$@" > ${temp} && cpp_ok_p=true
- grep "^ *\^ *\^" ${temp} | sed -e "s/^ *\^ *\^//" -e "s/\^\ *:\ *\^.*/;/"
- }
-
diff --git a/guile-1.8.7-testsuite2.patch b/guile-1.8.7-testsuite2.patch
deleted file mode 100644
index 279fc97..0000000
--- a/guile-1.8.7-testsuite2.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-commit a0aa1e5b69d6ef0311aeea8e4b9a94eae18a1aaf
-Author: Ludovic Courtès <ludo@gnu.org>
-Date: Mon Dec 14 10:59:25 2009 +0100
-
- Fix test environment issue with ltdl from Libtool 2.2.6b.
-
- Earlier versions of ltdl would look for extensions under $PWD; this
- behavior changed in 2.2.6b.
-
- * test-suite/standalone/Makefile.am (TESTS_ENVIRONMENT): Define
- $builddir.
-
- * test-suite/standalone/test-asmobs: Specify the full path to
- `libtest-asmobs', using $builddir.
-
-diff --git a/test-suite/standalone/Makefile.am b/test-suite/standalone/Makefile.am
-index e7cfd82..058ce93 100644
---- a/test-suite/standalone/Makefile.am
-+++ b/test-suite/standalone/Makefile.am
-@@ -28,7 +28,9 @@ check_SCRIPTS =
- BUILT_SOURCES =
- EXTRA_DIST =
-
--TESTS_ENVIRONMENT = "${top_builddir}/pre-inst-guile-env"
-+TESTS_ENVIRONMENT = \
-+ builddir="$(builddir)" \
-+ "${top_builddir}/pre-inst-guile-env"
-
- test_cflags = \
- -I$(top_srcdir)/test-suite/standalone \
-diff --git a/test-suite/standalone/test-asmobs b/test-suite/standalone/test-asmobs
-index 2ea75d9..9689ab9 100755
---- a/test-suite/standalone/test-asmobs
-+++ b/test-suite/standalone/test-asmobs
-@@ -2,7 +2,8 @@
- exec guile -q -s "$0" "$@"
- !#
-
--(load-extension "libtest-asmobs" "libtest_asmobs_init")
-+(load-extension (string-append (getenv "builddir") "/libtest-asmobs")
-+ "libtest_asmobs_init")
-
- (define (test x v)
- (if v
-diff -up guile-1.8.7/test-suite/standalone/Makefile.in.ltdl guile-1.8.7/test-suite/standalone/Makefile.in
---- guile-1.8.7/test-suite/standalone/Makefile.in.ltdl 2010-01-15 14:40:52.000000000 +0100
-+++ guile-1.8.7/test-suite/standalone/Makefile.in 2010-01-15 14:48:10.000000000 +0100
-@@ -392,7 +392,9 @@ check_SCRIPTS = test-system-cmds test-re
- test-use-srfi
- BUILT_SOURCES = test-asmobs-lib.x
- EXTRA_DIST = $(am__append_3) ${check_SCRIPTS}
--TESTS_ENVIRONMENT = "${top_builddir}/pre-inst-guile-env"
-+TESTS_ENVIRONMENT = \
-+ builddir="$(builddir)" \
-+ "${top_builddir}/pre-inst-guile-env"
- test_cflags = \
- -I$(top_srcdir)/test-suite/standalone \
- -I$(top_srcdir) -I$(top_builddir) \
diff --git a/guile.spec b/guile.spec
index da1285b..c4eb678 100644
--- a/guile.spec
+++ b/guile.spec
@@ -3,16 +3,13 @@
Summary: A GNU implementation of Scheme for application extensibility
Name: guile
%define mver 1.8
-Version: 1.8.7
-Release: 6%{?dist}
+Version: 1.8.8
+Release: 1%{?dist}
Source: ftp://ftp.gnu.org/pub/gnu/guile/guile-%{version}.tar.gz
URL: http://www.gnu.org/software/guile/
Patch1: guile-1.8.7-multilib.patch
Patch2: guile-1.8.7-testsuite.patch
-Patch3: guile-1.8.7-ia64jmp.patch
Patch4: guile-1.8.6-deplibs.patch
-Patch5: guile-1.8.7-linemarkers.patch
-Patch6: guile-1.8.7-testsuite2.patch
License: GPLv2+ and LGPLv2+ and GFDL and OFSFDL
Group: Development/Languages
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -53,21 +50,10 @@ install the guile package.
%patch1 -p1 -b .multilib
%patch2 -p1 -b .testsuite
-%patch3 -p1 -b .ia64jmp
%patch4 -p1 -b .deplibs
-%patch5 -p1 -b .linemarkers
-%patch6 -p1 -b .testsuite2
%build
-%ifarch sparcv9
-CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS
-CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS
-
-# use -O0 on sparcv9
-CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O0|g" `
-%endif
-
%configure --disable-static --disable-error-on-warning
# Remove RPATH
@@ -97,13 +83,6 @@ touch $RPM_BUILD_ROOT%{_datadir}/guile/%{mver}/slibcat
ln -s ../../slib $RPM_BUILD_ROOT%{_datadir}/guile/%{mver}/slib
%check
-%ifarch sparcv9
-CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS
-CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS
-
-# use -O0 on sparcv9
-CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O0|g" `
-%endif
make %{?_smp_mflags} check
%clean
@@ -190,6 +169,10 @@ fi
%{_includedir}/libguile.h
%changelog
+* Tue Dec 14 2010 Miroslav Lichvar <mlichvar@redhat.com> - 5:1.8.8-1
+- update to 1.8.8
+- try enabling optimizations on sparc again
+
* Thu Apr 08 2010 Miroslav Lichvar <mlichvar@redhat.com> - 5:1.8.7-6
- fix license tag (#225877)
diff --git a/sources b/sources
index db2cda0..7149ae6 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-991b5b3efcbbc3f7507d05bc42f80a5e guile-1.8.7.tar.gz
+18661a8fdfef13e2fcb7651720aa53f3 guile-1.8.8.tar.gz