Update to mercurial snapshot to fix FTBFS.

Drop upstreamed -hostname patch.
Build against libdb instead of libdb4.
Include the CLX manual in the -devel documentation.
Compile the Emacs Lisp interface.
Build the asdf module.
This commit is contained in:
Jerry James 2013-02-18 15:59:00 -07:00
parent 39e5c844e5
commit db1236f2c0
8 changed files with 351 additions and 279 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
/clisp-2.49.tar.bz2
/clisp-2.49-20130208hg.tar.bz2

22
clisp-db.patch Normal file
View File

@ -0,0 +1,22 @@
--- ./modules/berkeley-db/configure.in.orig 2012-06-20 11:05:05.000000000 -0600
+++ ./modules/berkeley-db/configure.in 2012-09-25 14:45:22.950718201 -0600
@@ -48,7 +48,7 @@ dnl <http://www.sleepycat.com/docs/ref/u
AC_CACHE_CHECK([whether DB_ENV->set_errcall() accepts DBE],
ac_cv_dbe_set_errcall_accept_dbe,[
CFLAGS_save="$CFLAGS"
-CFLAGS="$CFLAGS -Werror"
+CFLAGS="$CFLAGS -Wno-uninitialized -Werror"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <db.h>
void my_callback (const DB_ENV* dbe, const char *errpfx, const char *msg) {}],
[[DB_ENV dbe; dbe.set_errcall(&dbe,&my_callback);]])],
--- ./modules/berkeley-db/configure.orig 2012-06-20 11:05:05.000000000 -0600
+++ ./modules/berkeley-db/configure 2012-09-25 14:45:22.961717778 -0600
@@ -5055,7 +5055,7 @@ if test "${ac_cv_dbe_set_errcall_accept_
else
CFLAGS_save="$CFLAGS"
-CFLAGS="$CFLAGS -Werror"
+CFLAGS="$CFLAGS -Wno-uninitialized -Werror"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <db.h>

145
clisp-format.patch Normal file
View File

@ -0,0 +1,145 @@
--- ./src/errunix.d.orig 2012-06-20 11:05:06.000000000 -0600
+++ ./src/errunix.d 2012-09-25 16:24:17.001096856 -0600
@@ -94,7 +94,7 @@ global _Noreturn void OS_error_arg (obje
> FILE: Filename (with quotation marks) as constant ASCIZ-String
> LINE: line number */
global void errno_out_low (int errorcode, const char* file, uintL line) {
- fprintf(stderr,"\n[%s:%d] errno = %d", file, line, errorcode);
+ fprintf(stderr,"\n[%s:%" PRIul "] errno = %d", file, line, errorcode);
var object code = ANSIC_error_code_converter(errorcode);
if (symbolp(code)) { /* known name? */
fputs(" (",stderr);
--- ./src/spvw_debug.d.orig 2012-06-20 11:05:06.000000000 -0600
+++ ./src/spvw_debug.d 2012-09-25 16:24:58.284080691 -0600
@@ -81,7 +81,7 @@ local void nobject_out1 (FILE* out, obje
fputc('"',out);
} else if (charp(obj)) {
object name = char_name(char_code(obj));
- fprintf(out,"[%c]",as_cint(char_code(obj)));
+ fprintf(out,"[%c]",(int)as_cint(char_code(obj)));
if (!nullp(name)) {
fputs("=#\\",out);
string_out(out,name);
@@ -120,8 +120,8 @@ local void nobject_out1 (FILE* out, obje
fputc(')',out);
} else if (arrayp(obj)) {
fprintf(out,"#<array %d",Array_type(obj));
- if (mdarrayp(obj)) fprintf(out," rank=%d",Iarray_rank(obj));
- else fprintf(out," len=%d",vector_length(obj));
+ if (mdarrayp(obj)) fprintf(out," rank=%" PRIul,Iarray_rank(obj));
+ else fprintf(out," len=%" PRIul,vector_length(obj));
fprintf(out," 0x%lx>",as_oint(obj));
} else if (functionp(obj)) {
fputs("#<",out);
@@ -182,7 +182,7 @@ local void nobject_out1 (FILE* out, obje
fputc(')',out);
} else if (hash_table_p(obj)) {
fputs("#(",out); XOUT(S(hash_table));
- fprintf(out," size=%u maxcount=%u mincount=%u\n",
+ fprintf(out," size=%" PRIul " maxcount=%" PRIul " mincount=%" PRIul "\n",
TheHashtable(obj)->ht_size,
(uintL)posfixnum_to_V(TheHashtable(obj)->ht_maxcount),
(uintL)posfixnum_to_V(TheHashtable(obj)->ht_mincount));
@@ -281,10 +281,10 @@ local void nobject_out1 (FILE* out, obje
case DRIVER_frame_info: fputs("DRIVER",out); break;
default: fputs("**UNKNOWN**",out);
}
- fprintf(out," %d>",STACK_item_count(uTheFramepointer(obj),
+ fprintf(out," %" PRIul ">",STACK_item_count(uTheFramepointer(obj),
(gcv_object_t*)STACK_start));
} else if (builtin_stream_p(obj)) {
- fprintf(out,"#<built-in-stream type=%d flags=%d len=%d xlen=%d slen=%ld",
+ fprintf(out,"#<built-in-stream type=%d flags=%d len=%" PRIul " xlen=%" PRIul " slen=%zd",
TheStream(obj)->strmtype,TheStream(obj)->strmflags,
Stream_length(obj),Stream_xlength(obj),strm_len);
switch (TheStream(obj)->strmtype) {
@@ -358,13 +358,13 @@ local int back_trace_depth (const struct
/* print a single struct backtrace_t object
the caller must do begin_system_call()/end_system_call() ! */
local void bt_out (FILE* out, const struct backtrace_t *bt, uintL bt_index) {
- fprintf(out,"[%d/0x%lx]%s ",bt_index,(uintP)bt,
+ fprintf(out,"[%" PRIul "/0x%lx]%s ",bt_index,(uintP)bt,
bt_beyond_stack_p(bt,STACK)?"<":">");
nobject_out(out,bt->bt_function);
if (bt->bt_num_arg >= 0)
fprintf(out," %d args",bt->bt_num_arg);
if (bt->bt_next)
- fprintf(out," delta: STACK=%ud; SP=%ld",
+ fprintf(out," delta: STACK=%" PRIul "; SP=%lu",
STACK_item_count(top_of_back_trace_frame(bt),
top_of_back_trace_frame(bt->bt_next)),
(((long)((char*)(bt->bt_next) - (char*)bt) ^ SPoffset) - SPoffset)
--- ./src/lispbibl.d.orig 2012-08-27 12:05:48.000000000 -0600
+++ ./src/lispbibl.d 2012-09-25 16:24:17.006096854 -0600
@@ -1079,7 +1079,7 @@
#endif
typedef unsigned char UBYTE;
#else
- #error No 8 bit integer type? -- Which Interger-type has 8 Bit?
+ #error No 8 bit integer type? -- Which Integer-type has 8 Bit?
#endif
#if (short_bitsize==16)
typedef short SWORD;
@@ -1090,26 +1090,36 @@
#if (long_bitsize==32)
typedef long SLONG;
typedef unsigned long ULONG;
+ #define PRIsl "ld"
+ #define PRIul "lu"
#elif (int_bitsize==32)
typedef int SLONG;
typedef unsigned int ULONG;
+ #define PRIsl "d"
+ #define PRIul "u"
#else
#error No 32 bit integer type? -- Which Integer-type has 32 Bit?
#endif
#if (long_bitsize==64)
typedef long SLONGLONG;
typedef unsigned long ULONGLONG;
+ #define PRIsll "ld"
+ #define PRIull "lu"
#ifndef HAVE_LONG_LONG_INT
#define HAVE_LONG_LONG_INT
#endif
#elif defined(MICROSOFT)
typedef __int64 SLONGLONG;
typedef unsigned __int64 ULONGLONG;
+ #define PRIsll "I64d"
+ #define PRIull "I64u"
#define HAVE_LONG_LONG_INT
#elif defined(HAVE_LONG_LONG_INT)
#if defined(long_long_bitsize) && (long_long_bitsize==64)
typedef long long SLONGLONG;
typedef unsigned long long ULONGLONG;
+ #define PRIsll "lld"
+ #define PRIull "llu"
#else /* useless type */
#undef HAVE_LONG_LONG_INT
#endif
@@ -1739,10 +1749,14 @@ typedef unsigned_int_with_n_bits(intBWLs
#if (intCsize==intWsize)
#define dotimesC dotimesW
#define dotimespC dotimespW
+ #define PRIuintC "hu"
+ #define PRIsintC "hd"
#endif
#if (intCsize==intLsize)
#define dotimesC dotimesL
#define dotimespC dotimespL
+ #define PRIuintC PRIul
+ #define PRIsintC PRIsl
#endif
/* Use 'uintC' for counters, which are small most of the time. */
%% export_def(uintC);
--- ./src/spvw_memfile.d.orig 2012-06-20 11:05:06.000000000 -0600
+++ ./src/spvw_memfile.d 2012-09-25 16:24:17.009096853 -0600
@@ -1817,7 +1817,7 @@ local void loadmem_from_handle (Handle h
(uintL)posfixnum_to_V(header._dumptime.seconds));
#endif
char memdumptime[10+1];
- sprintf(memdumptime,"%u",header._dumptime);
+ sprintf(memdumptime,"%" PRIul,header._dumptime);
O(memory_image_timestamp) = ascii_to_string(memdumptime);
O(memory_image_host) = asciz_to_string(header._dumphost,
Symbol_value(S(utf_8)));

View File

@ -1,74 +0,0 @@
--- src/socket.d.orig 2009-10-08 08:45:13.000000000 -0600
+++ src/socket.d 2012-01-12 11:22:24.701723636 -0700
@@ -57,8 +57,8 @@
/* ============ hostnames and IP addresses only (no sockets) ============
Fetches the machine's host name.
- get_hostname(host =);
- The name is allocated on the stack, with dynamic extent.
+ get_hostname(hostname);
+ where hostname is an array of MAXHOSTNAMELEN+1 characters.
< const char* host: The host name.
(Note: In some cases we could get away with less system calls by simply
setting
@@ -67,13 +67,12 @@
sds: never: you will always get localhost/127.0.0.1 - what's the point? */
#if defined(HAVE_GETHOSTNAME)
/* present on all supported unix systems and on woe32 */
- #define get_hostname(host_assignment) \
- do { var char hostname[MAXHOSTNAMELEN+1]; \
+ #define get_hostname(hostname) \
+ do { \
begin_system_call(); \
if ( gethostname(&hostname[0],MAXHOSTNAMELEN) <0) { SOCK_error(); } \
end_system_call(); \
hostname[MAXHOSTNAMELEN] = '\0'; \
- host_assignment &hostname[0]; \
} while(0)
#else
#error get_hostname is not defined
@@ -207,8 +206,8 @@ LISPFUNN(machine_instance,0)
(if (or (null address) (zerop (length address)))
hostname
(apply #'string-concat hostname " [" (inet-ntop address) "]"))) */
- var const char* host;
- get_hostname(host =);
+ var char host[MAXHOSTNAMELEN+1];
+ get_hostname(host);
result = asciz_to_string(host,O(misc_encoding)); /* hostname as result */
#ifdef HAVE_GETHOSTBYNAME
pushSTACK(result); /* hostname as 1st string */
@@ -389,8 +388,8 @@ local int resolve_host1 (const void* add
modexp struct hostent* resolve_host (object arg) {
var struct hostent* he;
if (eq(arg,S(Kdefault))) {
- var char* host;
- get_hostname(host =);
+ var char host[MAXHOSTNAMELEN+1];
+ get_hostname(host);
begin_system_call();
he = gethostbyname(host);
end_system_call();
@@ -724,8 +723,9 @@ global SOCKET connect_to_x_server (const
if (conntype == conn_tcp) {
var unsigned short port = X_TCP_PORT+display;
if (host[0] == '\0') {
- get_hostname(host =);
- fd = with_host_port(host,port,&connect_to_x_via_ip,NULL);
+ var char hostname[MAXHOSTNAMELEN+1];
+ get_hostname(hostname);
+ fd = with_host_port(hostname,port,&connect_to_x_via_ip,NULL);
} else {
fd = with_host_port(host,port,&connect_to_x_via_ip,NULL);
}
@@ -798,8 +798,8 @@ global host_data_t * socket_getlocalname
if (socket_getlocalname_aux(socket_handle,hd) == NULL)
return NULL;
if (resolve_p) { /* Fill in hd->truename. */
- var const char* host;
- get_hostname(host =); /* was: host = "localhost"; */
+ var char host[MAXHOSTNAMELEN+1];
+ get_hostname(host); /* was: host = "localhost"; */
ASSERT(strlen(host) <= MAXHOSTNAMELEN);
strcpy(hd->truename,host);
} else {

View File

@ -1,63 +1,11 @@
--- modules/libsvm/config.h.in.orig 2010-06-30 12:02:55.000000000 -0600
+++ modules/libsvm/config.h.in 2011-06-23 14:28:00.454999254 -0600
@@ -27,8 +27,8 @@
/* Define to 1 if you have the `svm_cross_validation' function. */
#undef HAVE_SVM_CROSS_VALIDATION
-/* Define to 1 if you have the `svm_destroy_model' function. */
-#undef HAVE_SVM_DESTROY_MODEL
+/* Define to 1 if you have the `svm_free_and_destroy_model' function. */
+#undef HAVE_SVM_FREE_AND_DESTROY_MODEL
/* Define to 1 if you have the `svm_destroy_param' function. */
#undef HAVE_SVM_DESTROY_PARAM
--- modules/libsvm/configure.in.orig 2010-06-30 12:02:55.000000000 -0600
+++ modules/libsvm/configure.in 2011-06-23 14:28:49.333999905 -0600
@@ -30,7 +30,7 @@
AC_CHECK_FUNCS(svm_check_parameter dnl
svm_check_probability_model dnl
svm_cross_validation dnl
-svm_destroy_model dnl
+svm_free_and_destroy_model dnl
svm_destroy_param dnl
svm_get_labels dnl
svm_get_nr_class dnl
--- modules/libsvm/configure.orig 2010-06-30 12:02:55.000000000 -0600
+++ modules/libsvm/configure 2011-06-23 14:28:27.827999766 -0600
@@ -4555,7 +4555,7 @@
if test "$ac_cv_search_svm_train" = "no"; then
as_fn_error "cannot find LibSVM library" "$LINENO" 5
fi
-for ac_func in svm_check_parameter svm_check_probability_model svm_cross_validation svm_destroy_model svm_destroy_param svm_get_labels svm_get_nr_class svm_get_svm_type svm_get_svr_probability svm_load_model svm_predict svm_predict_probability svm_predict_values svm_save_model svm_train svm_set_print_string_function
+for ac_func in svm_check_parameter svm_check_probability_model svm_cross_validation svm_free_and_destroy_model svm_destroy_param svm_get_labels svm_get_nr_class svm_get_svm_type svm_get_svr_probability svm_load_model svm_predict svm_predict_probability svm_predict_values svm_save_model svm_train svm_set_print_string_function
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
--- modules/libsvm/libsvm.lisp.orig 2010-06-30 11:56:36.000000000 -0600
+++ modules/libsvm/libsvm.lisp 2011-06-23 14:33:44.334999678 -0600
@@ -97,11 +97,11 @@
;;; foreign functions and small wrappers
;;;
-(ffi:def-call-out svm_destroy_model
- (:arguments (model model)) (:return-type nil))
+(ffi:def-call-out svm_free_and_destroy_model
+ (:arguments (model (c-pointer model))) (:return-type nil))
(defun destroy-model (model)
(when (validp model)
- (svm_destroy_model model)
+ (svm_free_and_destroy_model (ffi:with-c-var (modelp 'model model) (ffi:c-var-address modelp)))
(setf (validp model) nil)))
(cl:defun finalize-model (model)
(ext:finalize (set-foreign-pointer model :copy) #'destroy-model)
--- modules/libsvm/svm.xml.orig 2010-05-26 11:52:55.000000000 -0600
+++ modules/libsvm/svm.xml 2011-06-23 14:34:44.021999852 -0600
@@ -91,7 +91,7 @@
<varlistentry><term><code>(destroy-model &model-r;)</code></term>
<listitem><simpara>Release the memory taken by the <type>model</type>
object and invalidate the &foreign-variable-t; &model-r;.</simpara>
- <simpara>Calls <function>svm_destroy_model</function>.</simpara>
+ <simpara>Calls <function>svm_free_and_destroy_model</function>.</simpara>
<simpara>You do &not-e; have to call this function yourself, it is
attached to the &model-r; by <function>train</function>
and <function>load-model</function> via &finalize;.</simpara>
--- modules/libsvm/libsvm.lisp.orig 2013-02-16 15:26:27.998509298 -0700
+++ modules/libsvm/libsvm.lisp 2013-02-16 22:03:50.576190194 -0700
@@ -31,7 +31,7 @@
(c-lines "
#if !defined(HAVE_SVM_DESTROY_MODEL)
# if defined(HAVE_SVM_FREE_AND_DESTROY_MODEL)
-void svm_destroy_model (svm_model *model){ svm_free_and_destroy_model(&model); }
+void svm_destroy_model (struct svm_model *model){ svm_free_and_destroy_model(&model); }
# else
# error No svm_destroy_model and no svm_free_and_destroy_model!
# endif

View File

@ -1,6 +1,6 @@
--- ./modules/bindings/glibc/linux.lisp.orig 2008-10-08 10:36:19.000000000 -0600
+++ ./modules/bindings/glibc/linux.lisp 2012-07-25 19:05:07.014592097 -0600
@@ -86,7 +86,7 @@
--- ./modules/bindings/glibc/linux.lisp.orig 2013-02-16 15:26:27.868519829 -0700
+++ ./modules/bindings/glibc/linux.lisp 2013-02-16 16:54:18.702524668 -0700
@@ -87,7 +87,7 @@
(def-c-type __key_t) ; int
@ -9,7 +9,7 @@
(def-c-type __ipc_pid_t) ; ushort
; --------------------------- <sys/types.h> -----------------------------------
@@ -293,6 +293,8 @@
@@ -294,6 +294,8 @@
;; for robust mutexes
(def-c-const EOWNERDEAD (:documentation "Owner died")) ; 130
(def-c-const ENOTRECOVERABLE (:documentation "State not recoverable")) ; 131

View File

@ -1,23 +1,35 @@
# Mercurial snapshot
%global hgver 20130208hg
Name: clisp
Summary: ANSI Common Lisp implementation
Version: 2.49
Release: 9%{?dist}
Release: 9.%{hgver}%{?dist}
Group: Development/Languages
License: GPLv2
URL: http://www.clisp.org/
Source0: http://downloads.sourceforge.net/clisp/clisp-%{version}.tar.bz2
# Adapt to libsvm 3.1. Applied upstream.
Patch0: clisp-libsvm.patch
# Fix an illegal C construct that allows GCC 4.7 to produce bad code. Applied
# upstream.
Patch1: clisp-hostname.patch
# Fix old ARM assembly that is invalid for newer platforms. Sent upstream.
Patch2: clisp-arm.patch
# The source for this package was pulled from upstream's mercurial repository.
# Use the following commands to generate the tarball:
# hg clone -u 6c160a19948d \
# http://clisp.hg.sourceforge.net:8000/hgroot/clisp/clisp clisp-2.49
# rm -fr clisp-2.49/.hg*
# tar cvjf clisp-2.49-20130208hg.tar.bz2 clisp-2.49
Source0: %{name}-%{version}-%{hgver}.tar.bz2
#Source0: http://downloads.sourceforge.net/clisp/%{name}-%{version}.tar.bz2
# http://sourceforge.net/tracker/?func=detail&aid=3529607&group_id=1355&atid=301355
Patch0: %{name}-format.patch
# http://sourceforge.net/tracker/?func=detail&aid=3529615&group_id=1355&atid=301355
Patch1: %{name}-arm.patch
# http://sourceforge.net/tracker/?func=detail&aid=3572511&group_id=1355&atid=301355
Patch2: %{name}-libsvm.patch
# http://sourceforge.net/tracker/?func=detail&aid=3572516&group_id=1355&atid=301355
Patch3: %{name}-db.patch
# Linux-specific fixes. Sent upstream 25 Jul 2012.
Patch3: clisp-linux.patch
Patch4: %{name}-linux.patch
BuildRequires: compat-readline5-devel
BuildRequires: dbus-devel
BuildRequires: emacs
BuildRequires: fcgi-devel
BuildRequires: ffcall
BuildRequires: gdbm-devel
@ -25,16 +37,9 @@ BuildRequires: gettext-devel
BuildRequires: ghostscript
BuildRequires: groff
BuildRequires: gtk2-devel
BuildRequires: libICE-devel
BuildRequires: libSM-devel
BuildRequires: libX11-devel
BuildRequires: libXaw-devel
BuildRequires: libXext-devel
BuildRequires: libXft-devel
BuildRequires: libXmu-devel
BuildRequires: libXrender-devel
BuildRequires: libXt-devel
BuildRequires: libdb4-devel
BuildRequires: libdb-devel
BuildRequires: libglade2-devel
BuildRequires: libsigsegv-devel
BuildRequires: libsvm-devel
@ -46,6 +51,9 @@ BuildRequires: zlib-devel
# See Red Hat bug #238954
ExcludeArch: ppc64
Requires: emacs-filesystem
Requires: vim-filesystem
# clisp contains a copy of gnulib, which has been granted a bundling exception:
# https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions
Provides: bundled(gnulib)
@ -88,6 +96,7 @@ Files necessary for linking CLISP programs.
%patch1
%patch2
%patch3
%patch4
# Convince CLisp to build against compat-readline5 instead of readline.
# This is to avoid pulling the GPLv3 readline 6 into a GPLv2 CLisp binary.
@ -115,17 +124,26 @@ sed -i -e 's/${wl}-rpath ${wl}/-L/g' src/build-aux/config.rpath
# Enable firefox to be the default browser for displaying documentation
sed -i 's/;; \((setq \*browser\* .*)\)/\1/' src/cfgunix.lisp
# Unpack the CLX manual
tar -C modules/clx -xzf modules/clx/clx-manual.tar.gz
%build
ulimit -s unlimited
# Do not need to specify base modules: i18n, readline, regexp, syscalls
# The dirkey module currently can only be built on Windows/Cygwin/MinGW
# Do not need to specify base modules: i18n, readline, regexp, syscalls.
# The dirkey module currently can only be built on Windows/Cygwin/MinGW.
# The editor module is not in good enough shape to use.
# The matlab, netica, and oracle modules require proprietary code to build.
# The pari module only works with pari 2.3. Fedora currently has pari 2.5.
# The queens module is intended as an example only, not for actual use.
./configure --prefix=%{_prefix} \
--libdir=%{_libdir} \
--mandir=%{_mandir} \
--docdir=%{_docdir}/clisp-%{version} \
--infodir=%{_infodir} \
--docdir=%{_docdir}/clisp-%{version}+ \
--fsstnd=redhat \
--hyperspec=http://www.lispworks.com/documentation/HyperSpec/ \
--with-module=asdf \
--with-module=berkeley-db \
--with-module=bindings/glibc \
--with-module=clx/new-clx \
@ -137,159 +155,172 @@ ulimit -s unlimited
--with-module=pcre \
--with-module=postgresql \
--with-module=rawsock \
--with-module=wildcard \
--with-module=zlib \
--with-libreadline-prefix=`pwd`/readline \
--cbc \
build \
%ifarch ppc ppc64
CFLAGS="${RPM_OPT_FLAGS} -DNO_GENERATIONAL_GC -DNO_MULTIMAP_FILE -DNO_SINGLEMAP -I/usr/include/readline5 -I/usr/include/libsvm -I/usr/include/libdb4 -Wa,--noexecstack -L%{_libdir}/readline5 -L%{_libdir}/libdb4" \
CPPFLAGS="-DNO_GENERATIONAL_GC -DNO_MULTIMAP_FILE -DNO_SINGLEMAP -I/usr/include/readline5 -I/usr/include/libsvm" \
%else
CFLAGS="${RPM_OPT_FLAGS} -I/usr/include/readline5 -I/usr/include/libsvm -I/usr/include/libdb4 -Wa,--noexecstack -L%{_libdir}/readline5 -L%{_libdir}/libdb4" \
CPPFLAGS="-I/usr/include/readline5 -I/usr/include/libsvm" \
%endif
LDFLAGS="-L%{_libdir}/readline5 -L%{_libdir}/libdb4 -Wl,-z,noexecstack"
CFLAGS="${RPM_OPT_FLAGS} -Wa,--noexecstack -L%{_libdir}/readline5" \
LDFLAGS="${RPM_LD_FLAGS} -L%{_libdir}/readline5 -Wl,-z,noexecstack"
%install
make -C build DESTDIR=$RPM_BUILD_ROOT install
rm -f $RPM_BUILD_ROOT%{_docdir}/clisp-%{version}/doc/clisp.{dvi,1,ps}
cp -p doc/mop-spec.pdf $RPM_BUILD_ROOT%{_docdir}/clisp-%{version}/doc
cp -p doc/*.png $RPM_BUILD_ROOT%{_docdir}/clisp-%{version}/doc
cp -p doc/Why-CLISP* $RPM_BUILD_ROOT%{_docdir}/clisp-%{version}/doc
cp -p doc/regexp.html $RPM_BUILD_ROOT%{_docdir}/clisp-%{version}/doc
rm -f $RPM_BUILD_ROOT%{_docdir}/clisp-%{version}+/doc/clisp.{dvi,1,ps}
cp -p doc/mop-spec.pdf $RPM_BUILD_ROOT%{_docdir}/clisp-%{version}+/doc
cp -p doc/*.png $RPM_BUILD_ROOT%{_docdir}/clisp-%{version}+/doc
cp -p doc/Why-CLISP* $RPM_BUILD_ROOT%{_docdir}/clisp-%{version}+/doc
cp -p doc/regexp.html $RPM_BUILD_ROOT%{_docdir}/clisp-%{version}+/doc
find $RPM_BUILD_ROOT%{_libdir} -name '*.dvi' | xargs rm -f
%find_lang %{name}
%find_lang %{name}low
cat %{name}low.lang >> %{name}.lang
# Compile the Emacs interface
pushd $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
%{_emacs_bytecompile} *.el
popd
# Put back the original config.rpath, and fix executable bits
cp -p config.rpath.orig $RPM_BUILD_ROOT/%{_libdir}/clisp-%{version}/build-aux/config.rpath
cp -p config.rpath.orig $RPM_BUILD_ROOT/%{_libdir}/clisp-%{version}+/build-aux/config.rpath
chmod a+x \
$RPM_BUILD_ROOT/%{_libdir}/clisp-%{version}/build-aux/config.guess \
$RPM_BUILD_ROOT/%{_libdir}/clisp-%{version}/build-aux/config.sub \
$RPM_BUILD_ROOT/%{_libdir}/clisp-%{version}/build-aux/depcomp
$RPM_BUILD_ROOT/%{_libdir}/clisp-%{version}+/build-aux/config.guess \
$RPM_BUILD_ROOT/%{_libdir}/clisp-%{version}+/build-aux/config.sub \
$RPM_BUILD_ROOT/%{_libdir}/clisp-%{version}+/build-aux/depcomp \
$RPM_BUILD_ROOT/%{_libdir}/clisp-%{version}+/build-aux/install-sh \
%files -f %{name}.lang
%{_bindir}/clisp
%{_mandir}/man1/clisp.1*
%{_docdir}/clisp-%{version}
%dir %{_libdir}/clisp-%{version}/
%dir %{_libdir}/clisp-%{version}/base/
%{_libdir}/clisp-%{version}/base/lispinit.mem
%{_libdir}/clisp-%{version}/base/lisp.run
%dir %{_libdir}/clisp-%{version}/berkeley-db/
%{_libdir}/clisp-%{version}/berkeley-db/*.fas
%dir %{_libdir}/clisp-%{version}/bindings/
%dir %{_libdir}/clisp-%{version}/bindings/glibc/
%{_libdir}/clisp-%{version}/bindings/glibc/*.fas
%dir %{_libdir}/clisp-%{version}/clx/
%dir %{_libdir}/clisp-%{version}/clx/new-clx/
%{_libdir}/clisp-%{version}/clx/new-clx/*.fas
%{_libdir}/clisp-%{version}/data/
%dir %{_libdir}/clisp-%{version}/dbus/
%{_libdir}/clisp-%{version}/dbus/*.fas
%{_libdir}/clisp-%{version}/dynmod/
%dir %{_libdir}/clisp-%{version}/fastcgi/
%{_libdir}/clisp-%{version}/fastcgi/*.fas
%dir %{_libdir}/clisp-%{version}/gdbm/
%{_libdir}/clisp-%{version}/gdbm/*.fas
%dir %{_libdir}/clisp-%{version}/gtk2/
%{_libdir}/clisp-%{version}/gtk2/*.fas
%dir %{_libdir}/clisp-%{version}/libsvm/
%{_libdir}/clisp-%{version}/libsvm/*.fas
%{_docdir}/clisp-%{version}+
%dir %{_libdir}/clisp-%{version}+/
%dir %{_libdir}/clisp-%{version}+/asdf/
%{_libdir}/clisp-%{version}+/asdf/asdf.fas
%dir %{_libdir}/clisp-%{version}+/base/
%{_libdir}/clisp-%{version}+/base/lispinit.mem
%{_libdir}/clisp-%{version}+/base/lisp.run
%dir %{_libdir}/clisp-%{version}+/berkeley-db/
%{_libdir}/clisp-%{version}+/berkeley-db/*.fas
%dir %{_libdir}/clisp-%{version}+/bindings/
%dir %{_libdir}/clisp-%{version}+/bindings/glibc/
%{_libdir}/clisp-%{version}+/bindings/glibc/*.fas
%dir %{_libdir}/clisp-%{version}+/clx/
%dir %{_libdir}/clisp-%{version}+/clx/new-clx/
%{_libdir}/clisp-%{version}+/clx/new-clx/*.fas
%{_libdir}/clisp-%{version}+/data/
%dir %{_libdir}/clisp-%{version}+/dbus/
%{_libdir}/clisp-%{version}+/dbus/*.fas
%{_libdir}/clisp-%{version}+/dynmod/
%dir %{_libdir}/clisp-%{version}+/fastcgi/
%{_libdir}/clisp-%{version}+/fastcgi/*.fas
%dir %{_libdir}/clisp-%{version}+/gdbm/
%{_libdir}/clisp-%{version}+/gdbm/*.fas
%dir %{_libdir}/clisp-%{version}+/gtk2/
%{_libdir}/clisp-%{version}+/gtk2/*.fas
%dir %{_libdir}/clisp-%{version}+/libsvm/
%{_libdir}/clisp-%{version}+/libsvm/*.fas
#%%dir %%{_libdir}/clisp-%%{version}/pari/
#%%{_libdir}/clisp-%%{version}/pari/*.fas
%dir %{_libdir}/clisp-%{version}/pcre/
%{_libdir}/clisp-%{version}/pcre/*.fas
%dir %{_libdir}/clisp-%{version}/postgresql/
%{_libdir}/clisp-%{version}/postgresql/*.fas
%dir %{_libdir}/clisp-%{version}/rawsock/
%{_libdir}/clisp-%{version}/rawsock/*.fas
%dir %{_libdir}/clisp-%{version}/wildcard/
%{_libdir}/clisp-%{version}/wildcard/*.fas
%dir %{_libdir}/clisp-%{version}/zlib/
%{_libdir}/clisp-%{version}/zlib/*.fas
%dir %{_libdir}/clisp-%{version}+/pcre/
%{_libdir}/clisp-%{version}+/pcre/*.fas
%dir %{_libdir}/clisp-%{version}+/postgresql/
%{_libdir}/clisp-%{version}+/postgresql/*.fas
%dir %{_libdir}/clisp-%{version}+/rawsock/
%{_libdir}/clisp-%{version}+/rawsock/*.fas
%dir %{_libdir}/clisp-%{version}+/zlib/
%{_libdir}/clisp-%{version}+/zlib/*.fas
%{_datadir}/emacs/site-lisp/*
%{_datadir}/vim/vimfiles/after/syntax/*
%files devel
%doc modules/clx/clx-manual
%{_bindir}/clisp-link
%{_mandir}/man1/clisp-link.1*
%{_libdir}/clisp-%{version}/base/*.a
%{_libdir}/clisp-%{version}/base/*.o
%{_libdir}/clisp-%{version}/base/*.h
%{_libdir}/clisp-%{version}/base/makevars
%{_libdir}/clisp-%{version}/berkeley-db/Makefile
%{_libdir}/clisp-%{version}/berkeley-db/*.lisp
%{_libdir}/clisp-%{version}/berkeley-db/*.o
%{_libdir}/clisp-%{version}/berkeley-db/*.sh
%{_libdir}/clisp-%{version}/bindings/glibc/Makefile
%{_libdir}/clisp-%{version}/bindings/glibc/*.lisp
%{_libdir}/clisp-%{version}/bindings/glibc/*.o
%{_libdir}/clisp-%{version}/bindings/glibc/*.sh
%{_libdir}/clisp-%{version}/build-aux/
%{_libdir}/clisp-%{version}/clx/new-clx/demos/
%{_libdir}/clisp-%{version}/clx/new-clx/README
%{_libdir}/clisp-%{version}/clx/new-clx/Makefile
%{_libdir}/clisp-%{version}/clx/new-clx/*.lisp
%{_libdir}/clisp-%{version}/clx/new-clx/*.o
%{_libdir}/clisp-%{version}/clx/new-clx/*.sh
%{_libdir}/clisp-%{version}/dbus/Makefile
%{_libdir}/clisp-%{version}/dbus/*.lisp
%{_libdir}/clisp-%{version}/dbus/*.o
%{_libdir}/clisp-%{version}/dbus/*.sh
%{_libdir}/clisp-%{version}/fastcgi/README
%{_libdir}/clisp-%{version}/fastcgi/Makefile
%{_libdir}/clisp-%{version}/fastcgi/*.lisp
%{_libdir}/clisp-%{version}/fastcgi/*.o
%{_libdir}/clisp-%{version}/fastcgi/*.sh
%{_libdir}/clisp-%{version}/gdbm/Makefile
%{_libdir}/clisp-%{version}/gdbm/*.lisp
%{_libdir}/clisp-%{version}/gdbm/*.o
%{_libdir}/clisp-%{version}/gdbm/*.sh
%{_libdir}/clisp-%{version}/gtk2/Makefile
%{_libdir}/clisp-%{version}/gtk2/*.cfg
%{_libdir}/clisp-%{version}/gtk2/*.glade
%{_libdir}/clisp-%{version}/gtk2/*.lisp
%{_libdir}/clisp-%{version}/gtk2/*.o
%{_libdir}/clisp-%{version}/gtk2/*.sh
%{_libdir}/clisp-%{version}/libsvm/Makefile
%{_libdir}/clisp-%{version}/libsvm/*.lisp
%{_libdir}/clisp-%{version}/libsvm/*.o
%{_libdir}/clisp-%{version}/libsvm/*.sh
%{_libdir}/clisp-%{version}/linkkit/
%{_libdir}/clisp-%{version}+/asdf/Makefile
%{_libdir}/clisp-%{version}+/asdf/*.lisp
%{_libdir}/clisp-%{version}+/asdf/*.sh
%{_libdir}/clisp-%{version}+/base/*.a
%{_libdir}/clisp-%{version}+/base/*.o
%{_libdir}/clisp-%{version}+/base/*.h
%{_libdir}/clisp-%{version}+/base/makevars
%{_libdir}/clisp-%{version}+/berkeley-db/Makefile
%{_libdir}/clisp-%{version}+/berkeley-db/*.lisp
%{_libdir}/clisp-%{version}+/berkeley-db/*.o
%{_libdir}/clisp-%{version}+/berkeley-db/*.sh
%{_libdir}/clisp-%{version}+/bindings/glibc/Makefile
%{_libdir}/clisp-%{version}+/bindings/glibc/*.lisp
%{_libdir}/clisp-%{version}+/bindings/glibc/*.o
%{_libdir}/clisp-%{version}+/bindings/glibc/*.sh
%{_libdir}/clisp-%{version}+/build-aux/
%{_libdir}/clisp-%{version}+/clx/new-clx/demos/
%{_libdir}/clisp-%{version}+/clx/new-clx/README
%{_libdir}/clisp-%{version}+/clx/new-clx/Makefile
%{_libdir}/clisp-%{version}+/clx/new-clx/*.lisp
%{_libdir}/clisp-%{version}+/clx/new-clx/*.o
%{_libdir}/clisp-%{version}+/clx/new-clx/*.sh
%{_libdir}/clisp-%{version}+/dbus/Makefile
%{_libdir}/clisp-%{version}+/dbus/*.lisp
%{_libdir}/clisp-%{version}+/dbus/*.o
%{_libdir}/clisp-%{version}+/dbus/*.sh
%{_libdir}/clisp-%{version}+/fastcgi/README
%{_libdir}/clisp-%{version}+/fastcgi/Makefile
%{_libdir}/clisp-%{version}+/fastcgi/*.lisp
%{_libdir}/clisp-%{version}+/fastcgi/*.o
%{_libdir}/clisp-%{version}+/fastcgi/*.sh
%{_libdir}/clisp-%{version}+/gdbm/Makefile
%{_libdir}/clisp-%{version}+/gdbm/*.lisp
%{_libdir}/clisp-%{version}+/gdbm/*.o
%{_libdir}/clisp-%{version}+/gdbm/*.sh
%{_libdir}/clisp-%{version}+/gtk2/Makefile
%{_libdir}/clisp-%{version}+/gtk2/*.cfg
%{_libdir}/clisp-%{version}+/gtk2/*.glade
%{_libdir}/clisp-%{version}+/gtk2/*.lisp
%{_libdir}/clisp-%{version}+/gtk2/*.o
%{_libdir}/clisp-%{version}+/gtk2/*.sh
%{_libdir}/clisp-%{version}+/libsvm/README
%{_libdir}/clisp-%{version}+/libsvm/Makefile
%{_libdir}/clisp-%{version}+/libsvm/*.lisp
%{_libdir}/clisp-%{version}+/libsvm/*.o
%{_libdir}/clisp-%{version}+/libsvm/*.sh
%{_libdir}/clisp-%{version}+/linkkit/
#%%{_libdir}/clisp-%%{version}/pari/README
#%%{_libdir}/clisp-%%{version}/pari/Makefile
#%%{_libdir}/clisp-%%{version}/pari/*.lisp
#%%{_libdir}/clisp-%%{version}/pari/*.o
#%%{_libdir}/clisp-%%{version}/pari/*.sh
%{_libdir}/clisp-%{version}/pcre/Makefile
%{_libdir}/clisp-%{version}/pcre/*.lisp
%{_libdir}/clisp-%{version}/pcre/*.o
%{_libdir}/clisp-%{version}/pcre/*.sh
%{_libdir}/clisp-%{version}/postgresql/README
%{_libdir}/clisp-%{version}/postgresql/Makefile
%{_libdir}/clisp-%{version}/postgresql/*.lisp
%{_libdir}/clisp-%{version}/postgresql/*.o
%{_libdir}/clisp-%{version}/postgresql/*.sh
%{_libdir}/clisp-%{version}/rawsock/demos/
%{_libdir}/clisp-%{version}/rawsock/Makefile
%{_libdir}/clisp-%{version}/rawsock/*.lisp
%{_libdir}/clisp-%{version}/rawsock/*.o
%{_libdir}/clisp-%{version}/rawsock/*.sh
%{_libdir}/clisp-%{version}/wildcard/README
%{_libdir}/clisp-%{version}/wildcard/Makefile
%{_libdir}/clisp-%{version}/wildcard/*.a
%{_libdir}/clisp-%{version}/wildcard/*.lisp
%{_libdir}/clisp-%{version}/wildcard/*.o
%{_libdir}/clisp-%{version}/wildcard/*.sh
%{_libdir}/clisp-%{version}/zlib/Makefile
%{_libdir}/clisp-%{version}/zlib/*.lisp
%{_libdir}/clisp-%{version}/zlib/*.o
%{_libdir}/clisp-%{version}/zlib/*.sh
%{_libdir}/clisp-%{version}+/pcre/Makefile
%{_libdir}/clisp-%{version}+/pcre/*.lisp
%{_libdir}/clisp-%{version}+/pcre/*.o
%{_libdir}/clisp-%{version}+/pcre/*.sh
%{_libdir}/clisp-%{version}+/postgresql/README
%{_libdir}/clisp-%{version}+/postgresql/Makefile
%{_libdir}/clisp-%{version}+/postgresql/*.lisp
%{_libdir}/clisp-%{version}+/postgresql/*.o
%{_libdir}/clisp-%{version}+/postgresql/*.sh
%{_libdir}/clisp-%{version}+/rawsock/demos/
%{_libdir}/clisp-%{version}+/rawsock/Makefile
%{_libdir}/clisp-%{version}+/rawsock/*.lisp
%{_libdir}/clisp-%{version}+/rawsock/*.o
%{_libdir}/clisp-%{version}+/rawsock/*.sh
%{_libdir}/clisp-%{version}+/zlib/Makefile
%{_libdir}/clisp-%{version}+/zlib/*.lisp
%{_libdir}/clisp-%{version}+/zlib/*.o
%{_libdir}/clisp-%{version}+/zlib/*.sh
%{_datadir}/aclocal/clisp.m4
%changelog
* Mon Feb 18 2013 Jerry James <loganjerry@gmail.com> - 2.49-9.20130208hg
- Update to mercurial snapshot to fix FTBFS
- Drop upstreamed -hostname patch
- Build against libdb instead of libdb4
- Include the CLX manual in the -devel documentation
- Compile the Emacs Lisp interface
- Build the asdf module
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.49-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

View File

@ -1 +1 @@
1962b99d5e530390ec3829236d168649 clisp-2.49.tar.bz2
53a91af1baeb3e4211c635a07efdf3fd clisp-2.49-20130208hg.tar.bz2