3 %bcond_with oci # Oracle module (BR: proprietary libs)
4 %bcond_with tests # run test suite `make check' (uses network, won't pass on vserver)
6 Summary: Common Lisp (ANSI CL) implementation
7 Summary(pl.UTF-8): Implementacja Common Lisp (ANSI CL)
8 Summary(pt_BR.UTF-8): Implementação do Common Lisp (ANSI CL)
13 Group: Development/Languages
14 #Source0Download: https://gitlab.com/gnu-clisp/clisp/-/tags (2.50 is a not a tag, but branch with no release yet???)
15 Source0: https://gitlab.com/gnu-clisp/clisp/-/archive/clisp-%{version}/clisp-clisp-%{version}.tar.bz2
16 # Source0-md5: e1813423a98973c2a43b3690c563c024
17 Patch0: %{name}-shell.patch
19 URL: http://clisp.cons.org/
20 BuildRequires: db-devel
21 BuildRequires: dbus-devel
22 BuildRequires: fcgi-devel
23 BuildRequires: ffcall-devel
24 BuildRequires: gettext-tools
25 BuildRequires: gdbm-devel
27 BuildRequires: gtk+2-devel >= 2.0
28 BuildRequires: libglade2-devel >= 2.0
29 BuildRequires: libsigsegv-devel >= 2.4
30 BuildRequires: libsvm-devel >= 3.0
31 BuildRequires: libunistring-devel
32 BuildRequires: ncurses-devel
33 %{?with_oci:BuildRequires: oracle-instantclient-devel}
34 BuildRequires: pari-devel
35 # share/parigp/pari.desc
37 BuildRequires: pcre-devel
38 BuildRequires: pkgconfig
39 BuildRequires: postgresql-devel
40 BuildRequires: readline-devel
41 BuildRequires: xorg-lib-libICE-devel
42 BuildRequires: xorg-lib-libSM-devel
43 BuildRequires: xorg-lib-libX11-devel
44 BuildRequires: xorg-lib-libXau-devel
45 BuildRequires: xorg-lib-libXext-devel
46 BuildRequires: xorg-lib-libXpm-devel
47 BuildRequires: xorg-proto-xextproto-devel
48 BuildRequires: zlib-devel
49 Requires: ffcall-devel
50 Requires: libsigsegv-devel >= 2.4
51 Requires: libunistring-devel
52 Requires: ncurses-devel
53 Requires: readline-devel
54 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
56 %define specflags_ppc -DNO_GENERATIONAL_GC
57 %define specflags_ppc64 -DNO_GENERATIONAL_GC
60 Common Lisp is a high-level, all-purpose programming language. CLISP
61 is a Common Lisp implementation by Bruno Haible of Karlsruhe
62 University and Michael Stoll of Munich University, both in Germany. It
63 mostly supports Common Lisp as described in the ANSI CL standard. It
64 runs on microcomputers (DOS, OS/2, Windows NT, Windows 95, Amiga
65 500-4000, Acorn RISC PC) as well as on Unix workstations (Linux, SVR4,
66 Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI, AIX, Sun3 and others) and
67 needs only 2 MB of RAM.
69 It is free software and may be distributed under the terms of GNU GPL,
70 while it is possible to distribute commercial applications compiled
73 The user interface comes in German, English, French and Spanish. CLISP
74 includes an interpreter, a compiler, a large subset of CLOS, a foreign
75 language interface and a socket interface. An X11 interface is
76 available through CLX and Garnet.
78 %description -l pl.UTF-8
79 Common Lisp to wysokopoziomowy język programowania ogólnego
80 przeznaczenia. CLISP to implementacja Common Lisp, której autorami są
81 Bruno Haible z Karlsruhe University oraz Michael Stoll z Munich
82 University (oba w Niemczech). W większości wspiera Common Lisp opisany
83 w standardzie ANSI CL. Działa na mikrokomputerach (DOS, OS/2, Windows
84 NT, Windows 95, Amiga 500-4000, Acorn RICS PC), a także stacjach
85 uniksowych (Linux, SVR4, Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI,
86 AIX, Sun3 i inne) i wymaga tylko 2 MB RAM.
88 To jest oprogramowanie wolnodostępne, na licencji GNU GPL, możliwe
89 jest dystrybuowanie komercyjnych aplikacji skompilowanych CLISP-em.
91 Interfejs użytkownika dostępny jest po niemiecku, angielsku, francusku
92 i hiszpańsku. CLISP zawiera interpreter, kompilator, znaczny podzbiór
93 CLOS, interfejs do innych języków oraz interfejs do gniazdek.
94 Interfejs X11 jest dostępny poprzez CLX i Garnet.
96 %description -l pt_BR.UTF-8
97 Common Lisp é uma linguagem de programação de propósito geral de alto
98 nível. CLISP é uma implementação do Common Lisp feita por Bruno
99 Haible, da Universidade Karlsruhe, e Michael Stoll, da Universidade de
100 Munique, ambas na Alemanha. O CLISP é quase totalmente compatível com
101 o Common Lisp descrito pelo padrão ANSI CL. Além disso, CLISP é
102 software livre, distribuído sob os termos da GNU GPL.
104 %package module-berkeley-db
105 Summary: Berkeley DB module for CLISP
106 Summary(pl.UTF-8): Moduł Berkeley DB dla CLISP-a
107 Group: Development/Languages
108 Requires: %{name} = %{version}-%{release}
110 %description module-berkeley-db
111 Berkeley DB database module for CLISP.
113 %description module-berkeley-db -l pl.UTF-8
114 Moduł baz danych Berkeley DB dla CLISP-a.
117 Summary: CLX module for CLISP
118 Summary(pl.UTF-8): Moduł CLX dla CLISP-a
119 Group: Development/Languages
120 Requires: %{name} = %{version}-%{release}
122 %description module-clx
123 CLX (Common Lisp X interface) graphics module for CLISP.
125 %description module-clx -l pl.UTF-8
126 Moduł grafiki CTX (interfejs Common List do X) dla CLISP-a.
129 Summary: DBus module for CLISP
130 Summary(pl.UTF-8): Moduł DBus dla CLISP-a
131 Group: Development/Languages
132 Requires: %{name} = %{version}-%{release}
134 %description module-dbus
135 DBus communication module for CLISP.
137 %description module-dbus -l pl.UTF-8
138 Moduł komunikacji DBus dla CLISP-a.
140 %package module-fastcgi
141 Summary: FastCGI module for CLISP
142 Summary(pl.UTF-8): Moduł FastCGI dla CLISP-a
143 Group: Development/Languages
144 Requires: %{name} = %{version}-%{release}
146 %description module-fastcgi
147 FastCGI communication module for CLISP.
149 %description module-fastcgi -l pl.UTF-8
150 Moduł komunikacji FastCGI dla CLISP-a.
153 Summary: GDBM module for CLISP
154 Summary(pl.UTF-8): Moduł GDBM dla CLISP-a
155 Group: Development/Languages
156 Requires: %{name} = %{version}-%{release}
158 %description module-gdbm
159 GDBM database module for CLISP.
161 %description module-gdbm -l pl.UTF-8
162 Moduł baz danych GDBM dla CLISP-a.
165 Summary: GTK2 module for CLISP
166 Summary(pl.UTF-8): Moduł GTK2 dla CLISP-a
167 Group: Development/Languages
168 Requires: %{name} = %{version}-%{release}
170 %description module-gtk2
171 GTK2 graphics module for CLISP.
173 %description module-gtk2 -l pl.UTF-8
174 Moduł grafiki GTK2 dla CLISP-a.
176 %package module-libsvm
177 Summary: LibSVM module for CLISP
178 Summary(pl.UTF-8): Moduł LibSVM dla CLISP-a
179 Group: Development/Languages
180 Requires: %{name} = %{version}-%{release}
182 %description module-libsvm
183 LibSVM (Support Vector Machine) math module for CLISP.
185 %description module-libsvm -l pl.UTF-8
186 Moduł matematyczny LibSVM (Support Vector Machine) dla CLISP-a.
188 %package module-oracle
189 Summary: Oracle module for CLISP
190 Summary(pl.UTF-8): Moduł Oracle dla CLISP-a
191 Group: Development/Languages
192 Requires: %{name} = %{version}-%{release}
194 %description module-oracle
195 Oracle database module for CLISP.
197 %description module-oracle -l pl.UTF-8
198 Moduł baz danych Oracle dla CLISP-a.
201 Summary: PARI module for CLISP
202 Summary(pl.UTF-8): Moduł PARI dla CLISP-a
203 Group: Development/Languages
204 Requires: %{name} = %{version}-%{release}
206 %description module-pari
207 PARI math module for CLISP.
209 %description module-pari -l pl.UTF-8
210 Moduł matematyczny PARI dla CLISP-a.
213 Summary: PCRE module for CLISP
214 Summary(pl.UTF-8): Moduł PCRE dla CLISP-a
215 Group: Development/Languages
216 Requires: %{name} = %{version}-%{release}
218 %description module-pcre
219 PCRE matching module for CLISP.
221 %description module-pcre -l pl.UTF-8
222 Moduł dopasowań PCRE dla CLISP-a.
224 %package module-postgresql
225 Summary: PostgreSQL module for CLISP
226 Summary(pl.UTF-8): Moduł PostgreSQL dla CLISP-a
227 Group: Development/Languages
228 Requires: %{name} = %{version}-%{release}
230 %description module-postgresql
231 PostgreSQL database module for CLISP.
233 %description module-postgresql -l pl.UTF-8
234 Moduł baz danych PostgreSQL dla CLISP-a.
237 Summary: Zlib module for CLISP
238 Summary(pl.UTF-8): Moduł Zlib dla CLISP-a
239 Group: Development/Languages
240 Requires: %{name} = %{version}-%{release}
242 %description module-zlib
243 Zlib compression module for CLISP.
245 %description module-zlib -l pl.UTF-8
246 Moduł kompresji Zlib dla CLISP-a.
248 %package -n emacs-clisp-mode
249 Summary: CLISP mode for Emacs
250 Summary(pl.UTF-8): Tryb edycji CLISP dla Emacsa
251 Group: Applications/Editors
252 Requires: emacs-common
254 %description -n emacs-clisp-mode
255 CLISP mode for Emacs.
257 %description -n emacs-clisp-mode -l pl.UTF-8
258 Tryb edycji CLISP dla Emacsa.
260 %package -n vim-syntax-lisp
261 Summary: LISP syntax highlighting for Vim
262 Summary(pl.UTF-8): Podświetlanie składni LISP-a w Vimie
263 Group: Applications/Editors
266 %description -n vim-syntax-lisp
267 LISP syntax highlighting for Vim.
269 %description -n vim-syntax-lisp -l pl.UTF-8
270 Podświetlanie składni LISP-a w Vimie.
273 %setup -q -n clisp-clisp-%{version}
277 # changing default -O to optflags causes memory fault on amd64
278 # - so something is broken... code or compiler
279 # -fno-strict-aliasing seems to fix crashes on amd64 but doesn't fix
280 # random crashes on sparc (which occur with default CFLAGS)
281 #%{__perl} -pi -e "s@' -O2?([^0])@' %{rpmcflags} -fno-strict-aliasing\$1@" src/makemake.in
291 %ifarch sparc sparcv9 sparc64
292 CFLAGS="%{rpmcflags} -DSAFETY=3" \
295 CFLAGS="%{rpmcflags} -falign-functions=4" \
297 CFLAGS="%{rpmcflags}" \
300 CPPFLAGS="%{rpmcppflags} -I/usr/include/fastcgi" \
303 --host=%{_target_platform} \
305 --prefix=%{_prefix} \
306 --with-pari-datadir=%{_datadir}/parigp \
310 --prefix=%{_prefix} \
316 --with-module=berkeley-db \
317 --with-module=bindings/glibc \
318 --with-module=clx/new-clx \
320 --with-module=editor \
321 --with-module=fastcgi \
324 --with-module=libsvm \
325 %{?with_oci:--with-module=oracle} \
328 --with-module=postgresql \
329 --with-module=rawsock \
332 %{__make} -j1 config.lisp \
336 %{?with_oci:ORA_INCLUDES="-I/usr/include/oracle/client"} \
339 %{?with_tests:%{__make} -j1 check}
342 rm -rf $RPM_BUILD_ROOT
344 %{__make} -j1 -C src install \
345 DESTDIR=$RPM_BUILD_ROOT \
347 docdir=%{_docdir}/%{name}-%{version} \
351 # already packaged as man/html/pdf
352 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/doc/clisp*.{1,ps}
354 # clisp and clisplow domains
355 %find_lang %{name} --all-name
358 rm -rf $RPM_BUILD_ROOT
360 %files -f %{name}.lang
361 %defattr(644,root,root,755)
362 %attr(755,root,root) %{_bindir}/clisp
363 %attr(755,root,root) %{_bindir}/clisp-link
364 %doc %{_docdir}/%{name}-%{version}
365 %dir %{_libdir}/clisp
366 %dir %{_libdir}/clisp/base
367 %{_libdir}/clisp/base/*.[aho]
368 %{_libdir}/clisp/base/lispinit.mem
369 %attr(755,root,root) %{_libdir}/clisp/base/lisp.run
370 %{_libdir}/clisp/base/makevars
371 %{_libdir}/clisp/bindings
372 %{_libdir}/clisp/build-aux
373 %{_libdir}/clisp/data
374 %dir %{_libdir}/clisp/dynmod
375 %{_libdir}/clisp/dynmod/linux.lisp
376 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-linux.so
377 %{_libdir}/clisp/linkkit
378 %{_aclocaldir}/clisp.m4
379 %{_mandir}/man1/clisp.1*
380 %{_mandir}/man1/clisp-link.1*
382 # addtional modules with no external dependencies
384 %{_libdir}/clisp/asdf
385 %{_libdir}/clisp/dynmod/asdf.lisp
387 %{_libdir}/clisp/editor
388 %{_libdir}/clisp/dynmod/editor.lisp
390 %{_libdir}/clisp/rawsock
391 %{_libdir}/clisp/dynmod/rawsock.lisp
392 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-rawsock.so
394 %files module-berkeley-db
395 %defattr(644,root,root,755)
396 %{_libdir}/clisp/berkeley-db
397 %{_libdir}/clisp/dynmod/bdb.lisp
398 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-bdb.so
401 %defattr(644,root,root,755)
403 %{_libdir}/clisp/dynmod/clx.lisp
404 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-clx.so
407 %defattr(644,root,root,755)
408 %{_libdir}/clisp/dbus
409 %{_libdir}/clisp/dynmod/dbus.lisp
410 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-dbus.so
412 %files module-fastcgi
413 %defattr(644,root,root,755)
414 %{_libdir}/clisp/fastcgi
415 %{_libdir}/clisp/dynmod/fastcgi.lisp
416 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-fastcgi.so
419 %defattr(644,root,root,755)
420 %{_libdir}/clisp/gdbm
421 %{_libdir}/clisp/dynmod/gdbm.lisp
422 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-gdbm.so
425 %defattr(644,root,root,755)
426 %{_libdir}/clisp/gtk2
427 %{_libdir}/clisp/dynmod/gtk.lisp
428 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-gtk.so
431 %defattr(644,root,root,755)
432 %{_libdir}/clisp/libsvm
433 %{_libdir}/clisp/dynmod/libsvm.lisp
434 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-libsvm.so
438 %defattr(644,root,root,755)
439 %{_libdir}/clisp/oracle
440 %{_libdir}/clisp/dynmod/oracle.lisp
441 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-oracle.so
445 %defattr(644,root,root,755)
446 %{_libdir}/clisp/pari
447 %{_libdir}/clisp/dynmod/pari.lisp
448 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-pari.so
451 %defattr(644,root,root,755)
452 %{_libdir}/clisp/pcre
453 %{_libdir}/clisp/dynmod/pcre.lisp
454 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-pcre.so
456 %files module-postgresql
457 %defattr(644,root,root,755)
458 %{_libdir}/clisp/postgresql
459 %{_libdir}/clisp/dynmod/postgresql.lisp
460 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-postgresql.so
463 %defattr(644,root,root,755)
464 %{_libdir}/clisp/zlib
465 %{_libdir}/clisp/dynmod/zlib.lisp
466 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-zlib.so
468 %files -n emacs-clisp-mode
469 %defattr(644,root,root,755)
471 %{_lispdir}/clisp-coding.el
472 %{_lispdir}/clisp-ffi.el
473 %{_lispdir}/clisp-indent.el
474 %{_lispdir}/clisp-indent.lisp
476 %files -n vim-syntax-lisp
477 %defattr(644,root,root,755)
478 %{_datadir}/vim/vimfiles/after/syntax/lisp.vim