Accepting request 38539 from devel:languages:misc

Copy from devel:languages:misc/clisp based on submit request 38539 from user coolo

OBS-URL: https://build.opensuse.org/request/show/38539
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/clisp?expand=0&rev=16
This commit is contained in:
OBS User autobuild 2010-04-22 23:34:05 +00:00 committed by Git OBS Bridge
parent 1767fbfa7d
commit acd75af601
3 changed files with 123 additions and 12 deletions

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Wed Apr 21 14:35:56 UTC 2010 - coolo@novell.com
- found patch to avoid endless configure
-------------------------------------------------------------------
Tue Nov 3 19:09:10 UTC 2009 - coolo@novell.com

View File

@ -1,7 +1,7 @@
#
# spec file for package clisp (Version 2.44.1)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -27,12 +27,12 @@ BuildRequires: db-devel openssl-devel pcre-devel postgresql-devel readline-deve
# to BuildRequires
#
%define debug no
License: GPL v2 or later
License: GPLv2+
Group: Development/Languages/Other
PreReq: vim
AutoReqProv: on
Version: 2.44.1
Release: 64
Release: 65
Summary: A Common Lisp Interpreter
Url: http://clisp.cons.org
Source0: ftp://ftp.gnu.org/pub/gnu/clisp/latest/clisp-%{version}.tar.bz2
@ -49,6 +49,7 @@ Patch7: clisp-2.39-ia64-wooh.dif
Patch8: clisp-2.39-clx.dif
Patch9: clisp-2.39-berkeley-db.dif
Patch10: ffcall-1.10+2.43.dif
Patch11: sigseg-configure.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%global vimdir %{_datadir}/vim/site/after/syntax
%global xarch ppc64 s390x armv4l
@ -80,15 +81,6 @@ with the file README. The subdirectory
contains two nice applications.
Authors:
--------
Bruno Haible <haible@ma2s2.mathematik.uni-karlsruhe.de>
Michael Stoll <michael@rhein.iam.uni-bonn.de>
Marcus Daniels <marcus@sysc.pdx.edu>
Gilbert Baumann <gilbert@ma2s2.mathematik.uni-karlsruhe.de>
%prep
%setup -qT -b0 -a1 -a2
%patch1 -p0 -b .mappriv
@ -100,6 +92,7 @@ Authors:
%patch8 -p0 -b .clx
%patch9 -p0 -b .bdb
%patch10 -p0 -b .ffcall
%patch11 -p0 -b .sigseg
%patch0
%build
@ -188,6 +181,7 @@ unset CFLAGS
#
SEGV=${PWD}/libsigsegv
pushd libsigsegv-*/
autoreconf
./configure --build ${SYSTEM} ${DEBUG}\
--prefix=%{_prefix} \
--libdir=%{_libdir}

112
sigseg-configure.diff Normal file
View File

@ -0,0 +1,112 @@
From 4f14ef87b2fba9718c1a88b9ed9ca7ba111d60da Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <pbonzini@redhat.com>
Date: Tue, 22 Sep 2009 08:10:43 +0000
Subject: Fix crash of stackoverflow2 on x86_64-linux.
---
diff --git libsigsegv-2.5/src/sigsegv.h.in libsigsegv-2.6/src/sigsegv.h.in
index 85f337d..6b8e4c7 100644
--- libsigsegv-2.5/src/sigsegv.h.in
+++ libsigsegv-2.5/src/sigsegv.h.in
@@ -121,9 +121,11 @@ typedef void (*stackoverflow_handler_t) (int emergency, stackoverflow_context_t
/*
* Installs a stack overflow handler.
* The extra_stack argument is a pointer to a pre-allocated area used as a
- * stack for executing the handler. It is typically allocated by use of
- * `alloca' during `main'. Its size should be sufficiently large.
- * The following code determines an appropriate size:
+ * stack for executing the handler. It typically comes from a static variable
+ * or from heap-allocated memoty; placing it on the main stack may fail on
+ * some operating systems.
+ * Its size, passed in extra_stack_size, should be sufficiently large. The
+ * following code determines an appropriate size:
* #include <signal.h>
* #ifndef SIGSTKSZ / * glibc defines SIGSTKSZ for this purpose * /
* # define SIGSTKSZ 16384 / * on most platforms, 16 KB are sufficient * /
diff --git libsigsegv-2.5/tests/stackoverflow1.c libsigsegv-2.6/tests/stackoverflow1.c
index 0970e79..23eff58 100644
--- libsigsegv-2.5/tests/stackoverflow1.c
+++ libsigsegv-2.5/tests/stackoverflow1.c
@@ -88,12 +88,13 @@ recurse (volatile int n)
return *recurse_1 (n, &n);
}
+/* glibc says: Users should use SIGSTKSZ as the size of user-supplied
+ buffers. */
+char mystack[2 * SIGSTKSZ];
+
int
main ()
{
- /* glibc says: Users should use SIGSTKSZ as the size of user-supplied
- buffers. */
- char mystack[SIGSTKSZ];
sigset_t emptyset;
#if HAVE_SETRLIMIT && defined RLIMIT_STACK
diff --git libsigsegv-2.5/tests/stackoverflow2.c libsigsegv-2.6/tests/stackoverflow2.c
index 2475bf2..4a07c66 100644
--- libsigsegv-2.5/tests/stackoverflow2.c
+++ libsigsegv-2.5/tests/stackoverflow2.c
@@ -109,12 +109,13 @@ recurse (volatile int n)
return *recurse_1 (n, &n);
}
+/* glibc says: Users should use SIGSTKSZ as the size of user-supplied
+ buffers. */
+char mystack[2 * SIGSTKSZ];
+
int
main ()
{
- /* glibc says: Users should use SIGSTKSZ as the size of user-supplied
- buffers. */
- char mystack[SIGSTKSZ];
sigset_t emptyset;
void *p;
--
cgit v0.8.2.1
diff -up libsigsegv-2.5/m4/sigaltstack-longjmp.m4.stack2 libsigsegv-2.6/m4/sigaltstack-longjmp.m4
--- libsigsegv-2.5/m4/sigaltstack-longjmp.m4.stack2 2008-08-24 15:40:16.000000000 -0500
+++ libsigsegv-2.5/m4/sigaltstack-longjmp.m4 2009-09-22 13:26:07.552664938 -0500
@@ -51,9 +51,9 @@ int recurse (volatile int n)
int sum = 0;
return *recurse_1 (n, &sum);
}
+char mystack[2 * SIGSTKSZ];
int main ()
{
- char mystack[SIGSTKSZ];
stack_t altstack;
struct sigaction action;
sigset_t emptyset;
diff -up libsigsegv-2.5/m4/sigaltstack.m4.stack2 libsigsegv-2.6/m4/sigaltstack.m4
--- libsigsegv-2.5/m4/sigaltstack.m4.stack2 2008-08-24 15:41:10.000000000 -0500
+++ libsigsegv-2.5/m4/sigaltstack.m4 2009-09-22 13:25:47.462666140 -0500
@@ -71,9 +71,10 @@ int recurse (volatile int n)
int sum = 0;
return *recurse_1 (n, &sum);
}
+char mystack[2 * SIGSTKSZ];
+
int main ()
{
- char mystack[SIGSTKSZ];
stack_t altstack;
struct sigaction action;
#if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
diff -up libsigsegv-2.5/m4/sigaltstack-siglongjmp.m4.stack2 libsigsegv-2.6/m4/sigaltstack-siglongjmp.m4
--- libsigsegv-2.5/m4/sigaltstack-siglongjmp.m4.stack2 2008-08-24 15:40:49.000000000 -0500
+++ libsigsegv-2.5/m4/sigaltstack-siglongjmp.m4 2009-09-22 13:26:43.994665249 -0500
@@ -49,9 +49,9 @@ int recurse (volatile int n)
int sum = 0;
return *recurse_1 (n, &sum);
}
+char mystack[2 * SIGSTKSZ];
int main ()
{
- char mystack[SIGSTKSZ];
stack_t altstack;
struct sigaction action;
#ifdef __BEOS__