]>
Commit | Line | Data |
---|---|---|
1 | # TODO: | |
2 | # - review alpha patch | |
3 | # | |
4 | # Conditional build: | |
5 | %bcond_with tests # run test suite `make check' (uses network, won't pass on vserver) | |
6 | # | |
7 | Summary: Common Lisp (ANSI CL) implementation | |
8 | Summary(pl.UTF-8): Implementacja Common Lisp (ANSI CL) | |
9 | Summary(pt_BR.UTF-8): Implementação do Common Lisp (ANSI CL) | |
10 | Name: clisp | |
11 | Version: 2.49 | |
12 | Release: 1 | |
13 | License: GPL | |
14 | Group: Development/Languages | |
15 | Source0: http://download.sourceforge.net/clisp/%{name}-%{version}.tar.bz2 | |
16 | # Source0-md5: 1962b99d5e530390ec3829236d168649 | |
17 | Patch0: %{name}-shell.patch | |
18 | Patch1: %{name}-alpha.patch | |
19 | Patch2: %{name}-glibc2.16.patch | |
20 | URL: http://clisp.cons.org/ | |
21 | BuildRequires: ffcall-devel | |
22 | BuildRequires: gettext-devel | |
23 | BuildRequires: libsigsegv >= 2.4 | |
24 | BuildRequires: ncurses-devel | |
25 | BuildRequires: readline-devel | |
26 | BuildRequires: xorg-lib-libX11-devel | |
27 | BuildRequires: xorg-lib-libXpm-devel | |
28 | BuildRequires: xorg-proto-xextproto-devel | |
29 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
30 | ||
31 | %define specflags_ppc -DNO_GENERATIONAL_GC | |
32 | %define specflags_ppc64 -DNO_GENERATIONAL_GC | |
33 | ||
34 | %description | |
35 | Common Lisp is a high-level, all-purpose programming language. CLISP | |
36 | is a Common Lisp implementation by Bruno Haible of Karlsruhe | |
37 | University and Michael Stoll of Munich University, both in Germany. It | |
38 | mostly supports Common Lisp as described in the ANSI CL standard. It | |
39 | runs on microcomputers (DOS, OS/2, Windows NT, Windows 95, Amiga | |
40 | 500-4000, Acorn RISC PC) as well as on Unix workstations (Linux, SVR4, | |
41 | Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI, AIX, Sun3 and others) and | |
42 | needs only 2 MB of RAM. | |
43 | ||
44 | It is free software and may be distributed under the terms of GNU GPL, | |
45 | while it is possible to distribute commercial applications compiled | |
46 | with CLISP. | |
47 | ||
48 | The user interface comes in German, English, French and Spanish. CLISP | |
49 | includes an interpreter, a compiler, a large subset of CLOS, a foreign | |
50 | language interface and a socket interface. An X11 interface is | |
51 | available through CLX and Garnet. | |
52 | ||
53 | %description -l pl.UTF-8 | |
54 | Common Lisp to wysokopoziomowy język programowania ogólnego | |
55 | przeznaczenia. CLISP to implementacja Common Lisp, której autorami są | |
56 | Bruno Haible z Karlsruhe University oraz Michael Stoll z Munich | |
57 | University (oba w Niemczech). W większości wspiera Common Lisp opisany | |
58 | w standardzie ANSI CL. Działa na mikrokomputerach (DOS, OS/2, Windows | |
59 | NT, Windows 95, Amiga 500-4000, Acorn RICS PC), a także stacjach | |
60 | uniksowych (Linux, SVR4, Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI, | |
61 | AIX, Sun3 i inne) i wymaga tylko 2 MB RAM. | |
62 | ||
63 | To jest oprogramowanie wolnodostępne, na licencji GNU GPL, możliwe | |
64 | jest dystrybuowanie komercyjnych aplikacji skompilowanych CLISP-em. | |
65 | ||
66 | Interfejs użytkownika dostępny jest po niemiecku, angielsku, francusku | |
67 | i hiszpańsku. CLISP zawiera interpreter, kompilator, znaczny podzbiór | |
68 | CLOS, interfejs do innych języków oraz interfejs do gniazdek. | |
69 | Interfejs X11 jest dostępny poprzez CLX i Garnet. | |
70 | ||
71 | %description -l pt_BR.UTF-8 | |
72 | Common Lisp é uma linguagem de programação de propósito geral de alto | |
73 | nível. CLISP é uma implementação do Common Lisp feita por Bruno | |
74 | Haible, da Universidade Karlsruhe, e Michael Stoll, da Universidade de | |
75 | Munique, ambas na Alemanha. O CLISP é quase totalmente compatível com | |
76 | o Common Lisp descrito pelo padrão ANSI CL. Além disso, CLISP é | |
77 | software livre, distribuído sob os termos da GNU GPL. | |
78 | ||
79 | %prep | |
80 | %setup -q | |
81 | %patch0 -p1 | |
82 | #%patch1 -p1 | |
83 | %patch2 -p1 | |
84 | ||
85 | # changing default -O to optflags causes memory fault on amd64 | |
86 | # - so something is broken... code or compiler | |
87 | # -fno-strict-aliasing seems to fix crashes on amd64 but doesn't fix | |
88 | # random crashes on sparc (which occur with default CFLAGS) | |
89 | #%{__perl} -pi -e "s@' -O2?([^0])@' %{rpmcflags} -fno-strict-aliasing\$1@" src/makemake.in | |
90 | ||
91 | %build | |
92 | ||
93 | %ifarch ppc ppc64 | |
94 | ulimit -s unlimited | |
95 | %else | |
96 | ulimit -s 32768 | |
97 | %endif | |
98 | ||
99 | CC="%{__cc}" \ | |
100 | %ifarch sparc sparcv9 sparc64 | |
101 | CFLAGS="%{rpmcflags} -DSAFETY=3" \ | |
102 | %else | |
103 | CFLAGS="%{rpmcflags}" \ | |
104 | %endif | |
105 | ./configure \ | |
106 | --prefix=%{_prefix} | |
107 | ||
108 | cd src | |
109 | ./makemake \ | |
110 | --prefix=%{_prefix} \ | |
111 | --with-readline \ | |
112 | --with-gettext \ | |
113 | --with-dynamic-ffi \ | |
114 | --fsstnd=redhat \ | |
115 | --with-module=wildcard \ | |
116 | --with-module=bindings/glibc \ | |
117 | --with-module=clx/new-clx \ | |
118 | >Makefile | |
119 | %{__make} -j1 config.lisp \ | |
120 | TOPDIR=clisp | |
121 | %{__make} -j1 \ | |
122 | libdir=%{_libdir} \ | |
123 | TOPDIR=clisp | |
124 | ||
125 | %{?with_tests:%{__make} -j1 check} | |
126 | ||
127 | %install | |
128 | rm -rf $RPM_BUILD_ROOT | |
129 | ||
130 | %{__make} -j1 -C src install \ | |
131 | DESTDIR=$RPM_BUILD_ROOT \ | |
132 | libdir=%{_libdir} \ | |
133 | lispdocdir=%{_docdir}/%{name}-%{version} \ | |
134 | mandir=%{_mandir} \ | |
135 | TOPDIR=clisp | |
136 | ||
137 | install -d $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/modules | |
138 | install modules/*/*.dvi $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/modules | |
139 | ||
140 | %find_lang %{name} --all-name | |
141 | ||
142 | %clean | |
143 | rm -rf $RPM_BUILD_ROOT | |
144 | ||
145 | %files -f %{name}.lang | |
146 | %defattr(644,root,root,755) | |
147 | %attr(755,root,root) %{_bindir}/clisp | |
148 | %doc %{_docdir}/%{name}-%{version} | |
149 | %dir %{_libdir}/clisp | |
150 | %dir %{_libdir}/clisp/base | |
151 | %{_libdir}/clisp/base/*.[aho] | |
152 | %{_libdir}/clisp/base/lispinit.mem | |
153 | %attr(755,root,root) %{_libdir}/clisp/base/lisp.run | |
154 | %{_libdir}/clisp/base/makevars | |
155 | %{_libdir}/clisp/clisp-link | |
156 | %{_libdir}/clisp/data | |
157 | %dir %{_libdir}/clisp/full | |
158 | %attr(755,root,root) %{_libdir}/clisp/full/lisp.run | |
159 | %{_libdir}/clisp/full/*.[aho] | |
160 | %{_libdir}/clisp/full/lispinit.mem | |
161 | %{_libdir}/clisp/full/makevars | |
162 | %{_libdir}/clisp/linkkit | |
163 | %{_mandir}/man[13]/* |