summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortnn <tnn@pkgsrc.org>2007-05-07 12:42:19 +0000
committertnn <tnn@pkgsrc.org>2007-05-07 12:42:19 +0000
commit0e83c6c1959168d638d5bb2b52a1cdc900a0ed7f (patch)
tree66cac43816e3748a339a5fa44db2abaceb08dc79
parenta9e9af55c851824e620b7f730c587c1141ec2f56 (diff)
downloadpkgsrc-0e83c6c1959168d638d5bb2b52a1cdc900a0ed7f.tar.gz
librep-0.17nb3: Bring in a couple of bugfixes from GNOME svn.
-rw-r--r--lang/librep/Makefile4
-rw-r--r--lang/librep/distinfo8
-rw-r--r--lang/librep/patches/patch-ad12
-rw-r--r--lang/librep/patches/patch-ae15
-rw-r--r--lang/librep/patches/patch-af28
-rw-r--r--lang/librep/patches/patch-ag40
-rw-r--r--lang/librep/patches/patch-ah16
-rw-r--r--lang/librep/patches/patch-ai29
8 files changed, 149 insertions, 3 deletions
diff --git a/lang/librep/Makefile b/lang/librep/Makefile
index 87dd30e89f8..a93c575bcf5 100644
--- a/lang/librep/Makefile
+++ b/lang/librep/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.45 2006/03/30 03:44:43 jlam Exp $
+# $NetBSD: Makefile,v 1.46 2007/05/07 12:42:19 tnn Exp $
#
DISTNAME= librep-0.17
-PKGREVISION= 2
+PKGREVISION= 3
CATEGORIES= lang devel
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=librep/}
diff --git a/lang/librep/distinfo b/lang/librep/distinfo
index 355ec85fa5a..cee8db01d61 100644
--- a/lang/librep/distinfo
+++ b/lang/librep/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.11 2005/12/11 23:12:11 joerg Exp $
+$NetBSD: distinfo,v 1.12 2007/05/07 12:42:19 tnn Exp $
SHA1 (librep-0.17.tar.gz) = 00ae330eca0fdfb117797036f499dec61f868431
RMD160 (librep-0.17.tar.gz) = 2239837386700ed4893fa91b684192cb8721a2d1
@@ -6,3 +6,9 @@ Size (librep-0.17.tar.gz) = 1195890 bytes
SHA1 (patch-aa) = 4914b74e5e2b8f413b7c0b759efd464fb7b921dc
SHA1 (patch-ab) = 5c9c56a05a5c1adc88ce29f199051e9c61b972f8
SHA1 (patch-ac) = 562f8a25b2da564fa4372101bfa1199b0c755ee3
+SHA1 (patch-ad) = ce6925b5efeb8f1c974cb459611ae1c1a426fc1d
+SHA1 (patch-ae) = 147430e222b20e20c3ca387d84d4112d58558196
+SHA1 (patch-af) = 1c5b4180c582c0ae35b35f35803c38da123476bf
+SHA1 (patch-ag) = dc5916c607a76bb44312a06e8ecc2655a1ec941d
+SHA1 (patch-ah) = 0e8b15339ba87936eda48a9ae827d8c8c91b31c7
+SHA1 (patch-ai) = e0882ee5457f3b7b8c12f78df13b65b342c8cd45
diff --git a/lang/librep/patches/patch-ad b/lang/librep/patches/patch-ad
new file mode 100644
index 00000000000..3bf51b51592
--- /dev/null
+++ b/lang/librep/patches/patch-ad
@@ -0,0 +1,12 @@
+$NetBSD: patch-ad,v 1.1 2007/05/07 12:42:19 tnn Exp $
+
+--- lisp/rep/xml/reader.jl.orig 2007-05-07 14:12:43.000000000 +0200
++++ lisp/rep/xml/reader.jl
+@@ -126,6 +126,7 @@
+ (let ((data (substitute-entities (read-string-item stream '(#\>)))))
+ (or (= (current stream) #\>)
+ (error "Expected '>' character: %s" stream))
++ (next stream)
+ (list '! data)))
+
+ (define (read-tag-body stream)
diff --git a/lang/librep/patches/patch-ae b/lang/librep/patches/patch-ae
new file mode 100644
index 00000000000..eb65c969a8a
--- /dev/null
+++ b/lang/librep/patches/patch-ae
@@ -0,0 +1,15 @@
+$NetBSD: patch-ae,v 1.1 2007/05/07 12:42:19 tnn Exp $
+
+--- src/continuations.c.orig 2007-05-07 14:15:20.000000000 +0200
++++ src/continuations.c
+@@ -458,7 +458,9 @@ save_stack (rep_continuation *c)
+
+ FLUSH_REGISTER_WINDOWS;
+
+-#if defined (__GNUC__) && !defined (BROKEN_ALPHA_GCC)
++ /* __builtin_frame_address doesn't give the right thing on athlon64 */
++
++#if defined (__GNUC__) && !defined (BROKEN_ALPHA_GCC) && !defined (__x86_64)
+ c->stack_top = __builtin_frame_address (0);
+ #else
+ c->stack_top = (char *) &size;
diff --git a/lang/librep/patches/patch-af b/lang/librep/patches/patch-af
new file mode 100644
index 00000000000..8bd0aee704c
--- /dev/null
+++ b/lang/librep/patches/patch-af
@@ -0,0 +1,28 @@
+$NetBSD: patch-af,v 1.1 2007/05/07 12:42:19 tnn Exp $
+
+--- src/ffi.c.orig 2007-05-07 14:17:55.000000000 +0200
++++ src/ffi.c
+@@ -307,9 +307,11 @@ rep_ffi_marshal (unsigned int type_id, r
+ *(double *)ptr = (double) rep_get_float (value);
+ return ptr + sizeof (double);
+
++#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
+ case FFI_TYPE_LONGDOUBLE:
+ *(long double *)ptr = (long double) rep_get_float (value);
+ return ptr + sizeof (long double);
++#endif
+
+ case FFI_TYPE_UINT8:
+ *(uint8_t *)ptr = (uint8_t) rep_get_long_int (value);
+@@ -435,9 +437,11 @@ rep_ffi_demarshal (unsigned int type_id,
+ *value = rep_make_float (*(double *)ptr, rep_TRUE);
+ return ptr + sizeof (double);
+
++#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
+ case FFI_TYPE_LONGDOUBLE:
+ *value = rep_make_float (*(long double *)ptr, rep_TRUE);
+ return ptr + sizeof (long double);
++#endif
+
+ case FFI_TYPE_UINT8:
+ *value = rep_MAKE_INT (*(uint8_t *)ptr);
diff --git a/lang/librep/patches/patch-ag b/lang/librep/patches/patch-ag
new file mode 100644
index 00000000000..8287744d743
--- /dev/null
+++ b/lang/librep/patches/patch-ag
@@ -0,0 +1,40 @@
+$NetBSD: patch-ag,v 1.1 2007/05/07 12:42:19 tnn Exp $
+
+--- src/lisp.c.orig 2007-05-07 14:20:07.000000000 +0200
++++ src/lisp.c
+@@ -2493,7 +2493,7 @@ handler.
+ rep_DECLARE1(error, rep_SYMBOLP);
+
+ on_error = Fsymbol_value (Qbacktrace_on_error, Qt);
+- if (on_error == Qt
++ if ((on_error == Qt && error != Qend_of_stream)
+ || (rep_CONSP(on_error)
+ && (tmp = Fmemq (error, on_error)) && tmp != Qnil))
+ {
+@@ -2504,7 +2504,7 @@ handler.
+
+ errlist = Fcons(error, data);
+ on_error = Fsymbol_value(Qdebug_on_error, Qt);
+- if(((on_error != rep_NULL && on_error == Qt)
++ if(((on_error != rep_NULL && on_error == Qt && error != Qend_of_stream)
+ || (rep_CONSP(on_error)
+ && (tmp = Fmemq(error, on_error)) && !rep_NILP(tmp))))
+ {
+@@ -2705,13 +2705,13 @@ ARGLIST had been evaluated or not before
+ {
+ char buf[256];
+ #ifdef HAVE_SNPRINTF
+- snprintf (buf, sizeof (buf), " at %s:%d",
++ snprintf (buf, sizeof (buf), " at %s:%ld",
+ rep_STR (rep_CAR (origin)),
+- rep_INT (rep_CDR (origin)));
++ (long) rep_INT (rep_CDR (origin)));
+ #else
+- sprintf (buf, " at %s:%d",
++ sprintf (buf, " at %s:%ld",
+ rep_STR (rep_CAR (origin)),
+- rep_INT (rep_CDR (origin)));
++ (long) rep_INT (rep_CDR (origin)));
+ #endif
+ rep_stream_puts (strm, buf, -1, rep_FALSE);
+ }
diff --git a/lang/librep/patches/patch-ah b/lang/librep/patches/patch-ah
new file mode 100644
index 00000000000..d74f813c6b4
--- /dev/null
+++ b/lang/librep/patches/patch-ah
@@ -0,0 +1,16 @@
+$NetBSD: patch-ah,v 1.1 2007/05/07 12:42:19 tnn Exp $
+
+--- src/main.c.orig 2007-05-07 14:21:20.000000000 +0200
++++ src/main.c
+@@ -157,6 +157,11 @@ get_main_options(char *prog_name, int *a
+ return rep_TRUE;
+ }
+
++/* GCC 4 helpfully inlines this function and breaks the stack check. */
++#if __GNUC__ >= 4
++static void check_configuration (int *stack_low) __attribute__ ((noinline));
++#endif
++
+ static void
+ check_configuration (int *stack_low)
+ {
diff --git a/lang/librep/patches/patch-ai b/lang/librep/patches/patch-ai
new file mode 100644
index 00000000000..0d07ab1cb36
--- /dev/null
+++ b/lang/librep/patches/patch-ai
@@ -0,0 +1,29 @@
+$NetBSD: patch-ai,v 1.1 2007/05/07 12:42:19 tnn Exp $
+
+--- src/timers.c.orig 2007-05-07 14:22:37.000000000 +0200
++++ src/timers.c
+@@ -128,7 +128,7 @@ fix_time (long *secs, long *msecs)
+ *msecs += 1000;
+ (*secs)--;
+ }
+- while (*msecs > 1000)
++ while (*msecs >= 1000)
+ {
+ *msecs -= 1000;
+ (*secs)++;
+@@ -252,6 +252,7 @@ to re-enable it.
+ t->function = fun;
+ t->secs = rep_get_long_int (secs);
+ t->msecs = rep_get_long_int (msecs);
++ fix_time (&t->secs, &t->msecs);
+ t->next_alloc = allocated_timers;
+ allocated_timers = t;
+ insert_timer (t);
+@@ -290,6 +291,7 @@ duration. Otherwise, the existing values
+ {
+ TIMER(timer)->secs = rep_get_long_int (secs);
+ TIMER(timer)->msecs = rep_get_long_int (msecs);
++ fix_time (&TIMER (timer)->secs, &TIMER (timer)->msecs);
+ }
+ insert_timer (TIMER(timer));
+ return timer;