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: automake
21 BuildRequires: db-devel
22 BuildRequires: dbus-devel
23 BuildRequires: fcgi-devel
24 BuildRequires: ffcall-devel
25 BuildRequires: gettext-tools
26 BuildRequires: gdbm-devel
28 BuildRequires: gtk+2-devel >= 2.0
29 BuildRequires: libglade2-devel >= 2.0
30 BuildRequires: libsigsegv-devel >= 2.4
31 BuildRequires: libsvm-devel >= 3.0
32 BuildRequires: libunistring-devel
33 BuildRequires: ncurses-devel
34 %{?with_oci:BuildRequires: oracle-instantclient-devel}
35 BuildRequires: pari-devel
36 # share/parigp/pari.desc
38 BuildRequires: pcre-devel
39 BuildRequires: pkgconfig
40 BuildRequires: postgresql-devel
41 BuildRequires: readline-devel
42 BuildRequires: xorg-lib-libICE-devel
43 BuildRequires: xorg-lib-libSM-devel
44 BuildRequires: xorg-lib-libX11-devel
45 BuildRequires: xorg-lib-libXau-devel
46 BuildRequires: xorg-lib-libXext-devel
47 BuildRequires: xorg-lib-libXpm-devel
48 BuildRequires: xorg-proto-xextproto-devel
49 BuildRequires: zlib-devel
50 Requires: ffcall-devel
51 Requires: libsigsegv-devel >= 2.4
52 Requires: libunistring-devel
53 Requires: ncurses-devel
54 Requires: readline-devel
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57 %define specflags_ppc -DNO_GENERATIONAL_GC
58 %define specflags_ppc64 -DNO_GENERATIONAL_GC
61 Common Lisp is a high-level, all-purpose programming language. CLISP
62 is a Common Lisp implementation by Bruno Haible of Karlsruhe
63 University and Michael Stoll of Munich University, both in Germany. It
64 mostly supports Common Lisp as described in the ANSI CL standard. It
65 runs on microcomputers (DOS, OS/2, Windows NT, Windows 95, Amiga
66 500-4000, Acorn RISC PC) as well as on Unix workstations (Linux, SVR4,
67 Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI, AIX, Sun3 and others) and
68 needs only 2 MB of RAM.
70 It is free software and may be distributed under the terms of GNU GPL,
71 while it is possible to distribute commercial applications compiled
74 The user interface comes in German, English, French and Spanish. CLISP
75 includes an interpreter, a compiler, a large subset of CLOS, a foreign
76 language interface and a socket interface. An X11 interface is
77 available through CLX and Garnet.
79 %description -l pl.UTF-8
80 Common Lisp to wysokopoziomowy język programowania ogólnego
81 przeznaczenia. CLISP to implementacja Common Lisp, której autorami są
82 Bruno Haible z Karlsruhe University oraz Michael Stoll z Munich
83 University (oba w Niemczech). W większości wspiera Common Lisp opisany
84 w standardzie ANSI CL. Działa na mikrokomputerach (DOS, OS/2, Windows
85 NT, Windows 95, Amiga 500-4000, Acorn RICS PC), a także stacjach
86 uniksowych (Linux, SVR4, Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI,
87 AIX, Sun3 i inne) i wymaga tylko 2 MB RAM.
89 To jest oprogramowanie wolnodostępne, na licencji GNU GPL, możliwe
90 jest dystrybuowanie komercyjnych aplikacji skompilowanych CLISP-em.
92 Interfejs użytkownika dostępny jest po niemiecku, angielsku, francusku
93 i hiszpańsku. CLISP zawiera interpreter, kompilator, znaczny podzbiór
94 CLOS, interfejs do innych języków oraz interfejs do gniazdek.
95 Interfejs X11 jest dostępny poprzez CLX i Garnet.
97 %description -l pt_BR.UTF-8
98 Common Lisp é uma linguagem de programação de propósito geral de alto
99 nível. CLISP é uma implementação do Common Lisp feita por Bruno
100 Haible, da Universidade Karlsruhe, e Michael Stoll, da Universidade de
101 Munique, ambas na Alemanha. O CLISP é quase totalmente compatível com
102 o Common Lisp descrito pelo padrão ANSI CL. Além disso, CLISP é
103 software livre, distribuído sob os termos da GNU GPL.
105 %package module-berkeley-db
106 Summary: Berkeley DB module for CLISP
107 Summary(pl.UTF-8): Moduł Berkeley DB dla CLISP-a
108 Group: Development/Languages
109 Requires: %{name} = %{version}-%{release}
111 %description module-berkeley-db
112 Berkeley DB database module for CLISP.
114 %description module-berkeley-db -l pl.UTF-8
115 Moduł baz danych Berkeley DB dla CLISP-a.
118 Summary: CLX module for CLISP
119 Summary(pl.UTF-8): Moduł CLX dla CLISP-a
120 Group: Development/Languages
121 Requires: %{name} = %{version}-%{release}
123 %description module-clx
124 CLX (Common Lisp X interface) graphics module for CLISP.
126 %description module-clx -l pl.UTF-8
127 Moduł grafiki CTX (interfejs Common List do X) dla CLISP-a.
130 Summary: DBus module for CLISP
131 Summary(pl.UTF-8): Moduł DBus dla CLISP-a
132 Group: Development/Languages
133 Requires: %{name} = %{version}-%{release}
135 %description module-dbus
136 DBus communication module for CLISP.
138 %description module-dbus -l pl.UTF-8
139 Moduł komunikacji DBus dla CLISP-a.
141 %package module-fastcgi
142 Summary: FastCGI module for CLISP
143 Summary(pl.UTF-8): Moduł FastCGI dla CLISP-a
144 Group: Development/Languages
145 Requires: %{name} = %{version}-%{release}
147 %description module-fastcgi
148 FastCGI communication module for CLISP.
150 %description module-fastcgi -l pl.UTF-8
151 Moduł komunikacji FastCGI dla CLISP-a.
154 Summary: GDBM module for CLISP
155 Summary(pl.UTF-8): Moduł GDBM dla CLISP-a
156 Group: Development/Languages
157 Requires: %{name} = %{version}-%{release}
159 %description module-gdbm
160 GDBM database module for CLISP.
162 %description module-gdbm -l pl.UTF-8
163 Moduł baz danych GDBM dla CLISP-a.
166 Summary: GTK2 module for CLISP
167 Summary(pl.UTF-8): Moduł GTK2 dla CLISP-a
168 Group: Development/Languages
169 Requires: %{name} = %{version}-%{release}
171 %description module-gtk2
172 GTK2 graphics module for CLISP.
174 %description module-gtk2 -l pl.UTF-8
175 Moduł grafiki GTK2 dla CLISP-a.
177 %package module-libsvm
178 Summary: LibSVM module for CLISP
179 Summary(pl.UTF-8): Moduł LibSVM dla CLISP-a
180 Group: Development/Languages
181 Requires: %{name} = %{version}-%{release}
183 %description module-libsvm
184 LibSVM (Support Vector Machine) math module for CLISP.
186 %description module-libsvm -l pl.UTF-8
187 Moduł matematyczny LibSVM (Support Vector Machine) dla CLISP-a.
189 %package module-oracle
190 Summary: Oracle module for CLISP
191 Summary(pl.UTF-8): Moduł Oracle dla CLISP-a
192 Group: Development/Languages
193 Requires: %{name} = %{version}-%{release}
195 %description module-oracle
196 Oracle database module for CLISP.
198 %description module-oracle -l pl.UTF-8
199 Moduł baz danych Oracle dla CLISP-a.
202 Summary: PARI module for CLISP
203 Summary(pl.UTF-8): Moduł PARI dla CLISP-a
204 Group: Development/Languages
205 Requires: %{name} = %{version}-%{release}
207 %description module-pari
208 PARI math module for CLISP.
210 %description module-pari -l pl.UTF-8
211 Moduł matematyczny PARI dla CLISP-a.
214 Summary: PCRE module for CLISP
215 Summary(pl.UTF-8): Moduł PCRE dla CLISP-a
216 Group: Development/Languages
217 Requires: %{name} = %{version}-%{release}
219 %description module-pcre
220 PCRE matching module for CLISP.
222 %description module-pcre -l pl.UTF-8
223 Moduł dopasowań PCRE dla CLISP-a.
225 %package module-postgresql
226 Summary: PostgreSQL module for CLISP
227 Summary(pl.UTF-8): Moduł PostgreSQL dla CLISP-a
228 Group: Development/Languages
229 Requires: %{name} = %{version}-%{release}
231 %description module-postgresql
232 PostgreSQL database module for CLISP.
234 %description module-postgresql -l pl.UTF-8
235 Moduł baz danych PostgreSQL dla CLISP-a.
238 Summary: Zlib module for CLISP
239 Summary(pl.UTF-8): Moduł Zlib dla CLISP-a
240 Group: Development/Languages
241 Requires: %{name} = %{version}-%{release}
243 %description module-zlib
244 Zlib compression module for CLISP.
246 %description module-zlib -l pl.UTF-8
247 Moduł kompresji Zlib dla CLISP-a.
249 %package -n emacs-clisp-mode
250 Summary: CLISP mode for Emacs
251 Summary(pl.UTF-8): Tryb edycji CLISP dla Emacsa
252 Group: Applications/Editors
253 Requires: emacs-common
255 %description -n emacs-clisp-mode
256 CLISP mode for Emacs.
258 %description -n emacs-clisp-mode -l pl.UTF-8
259 Tryb edycji CLISP dla Emacsa.
261 %package -n vim-syntax-lisp
262 Summary: LISP syntax highlighting for Vim
263 Summary(pl.UTF-8): Podświetlanie składni LISP-a w Vimie
264 Group: Applications/Editors
267 %description -n vim-syntax-lisp
268 LISP syntax highlighting for Vim.
270 %description -n vim-syntax-lisp -l pl.UTF-8
271 Podświetlanie składni LISP-a w Vimie.
274 %setup -q -n clisp-clisp-%{version}
278 # changing default -O to optflags causes memory fault on amd64
279 # - so something is broken... code or compiler
280 # -fno-strict-aliasing seems to fix crashes on amd64 but doesn't fix
281 # random crashes on sparc (which occur with default CFLAGS)
282 #%{__perl} -pi -e "s@' -O2?([^0])@' %{rpmcflags} -fno-strict-aliasing\$1@" src/makemake.in
292 %ifarch sparc sparcv9 sparc64
293 CFLAGS="%{rpmcflags} -DSAFETY=3" \
296 CFLAGS="%{rpmcflags} -falign-functions=4" \
298 CFLAGS="%{rpmcflags}" \
301 CPPFLAGS="%{rpmcppflags} -I/usr/include/fastcgi" \
304 --host=%{_target_platform} \
306 --prefix=%{_prefix} \
307 --with-pari-datadir=%{_datadir}/parigp \
311 --prefix=%{_prefix} \
317 --with-module=berkeley-db \
318 --with-module=bindings/glibc \
319 --with-module=clx/new-clx \
321 --with-module=editor \
322 --with-module=fastcgi \
325 --with-module=libsvm \
326 %{?with_oci:--with-module=oracle} \
329 --with-module=postgresql \
330 --with-module=rawsock \
333 %{__make} -j1 config.lisp \
337 %{?with_oci:ORA_INCLUDES="-I/usr/include/oracle/client"} \
340 %{?with_tests:%{__make} -j1 check}
343 rm -rf $RPM_BUILD_ROOT
345 %{__make} -j1 -C src install \
346 DESTDIR=$RPM_BUILD_ROOT \
348 docdir=%{_docdir}/%{name}-%{version} \
352 # already packaged as man/html/pdf
353 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/doc/clisp*.{1,ps}
355 # clisp and clisplow domains
356 %find_lang %{name} --all-name
359 rm -rf $RPM_BUILD_ROOT
361 %files -f %{name}.lang
362 %defattr(644,root,root,755)
363 %attr(755,root,root) %{_bindir}/clisp
364 %attr(755,root,root) %{_bindir}/clisp-link
365 %doc %{_docdir}/%{name}-%{version}
366 %dir %{_libdir}/clisp
367 %dir %{_libdir}/clisp/base
368 %{_libdir}/clisp/base/*.[aho]
369 %{_libdir}/clisp/base/lispinit.mem
370 %attr(755,root,root) %{_libdir}/clisp/base/lisp.run
371 %{_libdir}/clisp/base/makevars
372 %{_libdir}/clisp/bindings
373 %{_libdir}/clisp/build-aux
374 %{_libdir}/clisp/data
375 %dir %{_libdir}/clisp/dynmod
376 %{_libdir}/clisp/dynmod/linux.lisp
377 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-linux.so
378 %{_libdir}/clisp/linkkit
379 %{_aclocaldir}/clisp.m4
380 %{_mandir}/man1/clisp.1*
381 %{_mandir}/man1/clisp-link.1*
383 # addtional modules with no external dependencies
385 %{_libdir}/clisp/asdf
386 %{_libdir}/clisp/dynmod/asdf.lisp
388 %{_libdir}/clisp/editor
389 %{_libdir}/clisp/dynmod/editor.lisp
391 %{_libdir}/clisp/rawsock
392 %{_libdir}/clisp/dynmod/rawsock.lisp
393 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-rawsock.so
395 %files module-berkeley-db
396 %defattr(644,root,root,755)
397 %{_libdir}/clisp/berkeley-db
398 %{_libdir}/clisp/dynmod/bdb.lisp
399 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-bdb.so
402 %defattr(644,root,root,755)
404 %{_libdir}/clisp/dynmod/clx.lisp
405 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-clx.so
408 %defattr(644,root,root,755)
409 %{_libdir}/clisp/dbus
410 %{_libdir}/clisp/dynmod/dbus.lisp
411 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-dbus.so
413 %files module-fastcgi
414 %defattr(644,root,root,755)
415 %{_libdir}/clisp/fastcgi
416 %{_libdir}/clisp/dynmod/fastcgi.lisp
417 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-fastcgi.so
420 %defattr(644,root,root,755)
421 %{_libdir}/clisp/gdbm
422 %{_libdir}/clisp/dynmod/gdbm.lisp
423 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-gdbm.so
426 %defattr(644,root,root,755)
427 %{_libdir}/clisp/gtk2
428 %{_libdir}/clisp/dynmod/gtk.lisp
429 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-gtk.so
432 %defattr(644,root,root,755)
433 %{_libdir}/clisp/libsvm
434 %{_libdir}/clisp/dynmod/libsvm.lisp
435 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-libsvm.so
439 %defattr(644,root,root,755)
440 %{_libdir}/clisp/oracle
441 %{_libdir}/clisp/dynmod/oracle.lisp
442 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-oracle.so
446 %defattr(644,root,root,755)
447 %{_libdir}/clisp/pari
448 %{_libdir}/clisp/dynmod/pari.lisp
449 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-pari.so
452 %defattr(644,root,root,755)
453 %{_libdir}/clisp/pcre
454 %{_libdir}/clisp/dynmod/pcre.lisp
455 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-pcre.so
457 %files module-postgresql
458 %defattr(644,root,root,755)
459 %{_libdir}/clisp/postgresql
460 %{_libdir}/clisp/dynmod/postgresql.lisp
461 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-postgresql.so
464 %defattr(644,root,root,755)
465 %{_libdir}/clisp/zlib
466 %{_libdir}/clisp/dynmod/zlib.lisp
467 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-zlib.so
469 %files -n emacs-clisp-mode
470 %defattr(644,root,root,755)
472 %{_lispdir}/clisp-coding.el
473 %{_lispdir}/clisp-ffi.el
474 %{_lispdir}/clisp-indent.el
475 %{_lispdir}/clisp-indent.lisp
477 %files -n vim-syntax-lisp
478 %defattr(644,root,root,755)
479 %{_datadir}/vim/vimfiles/after/syntax/lisp.vim