]> git.pld-linux.org Git - packages/clisp.git/blob - clisp.spec
300d3a97f72006ddfbc8bbe1e0fbaa8d3e9d6f42
[packages/clisp.git] / clisp.spec
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:        5
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}-glibc.patch
20 # https://sourceforge.net/p/clisp/bugs/688/attachment/patch-modules_readline_readline.lisp
21 Patch3:         %{name}-readline.patch
22 Patch4:         x32.patch
23 URL:            http://clisp.cons.org/
24 BuildRequires:  ffcall-devel
25 BuildRequires:  gettext-tools
26 BuildRequires:  libsigsegv >= 2.4
27 BuildRequires:  ncurses-devel
28 BuildRequires:  readline-devel
29 BuildRequires:  xorg-lib-libX11-devel
30 BuildRequires:  xorg-lib-libXpm-devel
31 BuildRequires:  xorg-proto-xextproto-devel
32 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33
34 %define specflags_ppc   -DNO_GENERATIONAL_GC
35 %define specflags_ppc64 -DNO_GENERATIONAL_GC
36
37 %description
38 Common Lisp is a high-level, all-purpose programming language. CLISP
39 is a Common Lisp implementation by Bruno Haible of Karlsruhe
40 University and Michael Stoll of Munich University, both in Germany. It
41 mostly supports Common Lisp as described in the ANSI CL standard. It
42 runs on microcomputers (DOS, OS/2, Windows NT, Windows 95, Amiga
43 500-4000, Acorn RISC PC) as well as on Unix workstations (Linux, SVR4,
44 Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI, AIX, Sun3 and others) and
45 needs only 2 MB of RAM.
46
47 It is free software and may be distributed under the terms of GNU GPL,
48 while it is possible to distribute commercial applications compiled
49 with CLISP.
50
51 The user interface comes in German, English, French and Spanish. CLISP
52 includes an interpreter, a compiler, a large subset of CLOS, a foreign
53 language interface and a socket interface. An X11 interface is
54 available through CLX and Garnet.
55
56 %description -l pl.UTF-8
57 Common Lisp to wysokopoziomowy język programowania ogólnego
58 przeznaczenia. CLISP to implementacja Common Lisp, której autorami są
59 Bruno Haible z Karlsruhe University oraz Michael Stoll z Munich
60 University (oba w Niemczech). W większości wspiera Common Lisp opisany
61 w standardzie ANSI CL. Działa na mikrokomputerach (DOS, OS/2, Windows
62 NT, Windows 95, Amiga 500-4000, Acorn RICS PC), a także stacjach
63 uniksowych (Linux, SVR4, Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI,
64 AIX, Sun3 i inne) i wymaga tylko 2 MB RAM.
65
66 To jest oprogramowanie wolnodostępne, na licencji GNU GPL, możliwe
67 jest dystrybuowanie komercyjnych aplikacji skompilowanych CLISP-em.
68
69 Interfejs użytkownika dostępny jest po niemiecku, angielsku, francusku
70 i hiszpańsku. CLISP zawiera interpreter, kompilator, znaczny podzbiór
71 CLOS, interfejs do innych języków oraz interfejs do gniazdek.
72 Interfejs X11 jest dostępny poprzez CLX i Garnet.
73
74 %description -l pt_BR.UTF-8
75 Common Lisp é uma linguagem de programação de propósito geral de alto
76 nível. CLISP é uma implementação do Common Lisp feita por Bruno
77 Haible, da Universidade Karlsruhe, e Michael Stoll, da Universidade de
78 Munique, ambas na Alemanha. O CLISP é quase totalmente compatível com
79 o Common Lisp descrito pelo padrão ANSI CL. Além disso, CLISP é
80 software livre, distribuído sob os termos da GNU GPL.
81
82 %prep
83 %setup -q
84 %patch0 -p1
85 %patch1 -p1
86 %patch2 -p1
87 %patch3 -p0
88 %patch4 -p1
89
90 # changing default -O to optflags causes memory fault on amd64
91 # - so something is broken... code or compiler
92 # -fno-strict-aliasing seems to fix crashes on amd64 but doesn't fix
93 # random crashes on sparc (which occur with default CFLAGS)
94 #%{__perl} -pi -e "s@' -O2?([^0])@' %{rpmcflags} -fno-strict-aliasing\$1@" src/makemake.in
95
96 %build
97
98 %ifarch ppc ppc64
99 ulimit -s unlimited
100 %else
101 ulimit -s 32768
102 %endif
103
104 CC="%{__cc}" \
105 %ifarch sparc sparcv9 sparc64
106 CFLAGS="%{rpmcflags} -DSAFETY=3" \
107 %else
108 %ifarch %{ix86} x32
109 CFLAGS="%{rpmcflags} -falign-functions=4" \
110 %else
111 CFLAGS="%{rpmcflags}" \
112 %endif
113 %endif
114 ./configure \
115         --host=%{_target_platform} \
116         --prefix=%{_prefix}
117
118 cd src
119 ./makemake \
120         --prefix=%{_prefix} \
121         --with-readline \
122         --with-gettext \
123         --with-dynamic-ffi \
124         --fsstnd=redhat \
125         --with-module=wildcard \
126         --with-module=bindings/glibc \
127         --with-module=clx/new-clx \
128         >Makefile
129 %{__make} -j1 config.lisp \
130         TOPDIR=clisp
131 %{__make} -j1 \
132         libdir=%{_libdir} \
133         TOPDIR=clisp
134
135 %{?with_tests:%{__make} -j1 check}
136
137 %install
138 rm -rf $RPM_BUILD_ROOT
139
140 %{__make} -j1 -C src install \
141         DESTDIR=$RPM_BUILD_ROOT \
142         libdir=%{_libdir} \
143         docdir=%{_docdir}/%{name}-%{version} \
144         mandir=%{_mandir} \
145         TOPDIR=clisp
146
147 # already packaged as man/html/pdf
148 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/doc/clisp*.{1,ps}
149
150 # clisp and clisplow domains
151 %find_lang %{name} --all-name
152
153 %clean
154 rm -rf $RPM_BUILD_ROOT
155
156 %files -f %{name}.lang
157 %defattr(644,root,root,755)
158 %attr(755,root,root) %{_bindir}/clisp
159 %attr(755,root,root) %{_bindir}/clisp-link
160 %doc %{_docdir}/%{name}-%{version} 
161 %dir %{_libdir}/clisp
162 %dir %{_libdir}/clisp/base
163 %{_libdir}/clisp/base/*.[aho]
164 %{_libdir}/clisp/base/lispinit.mem
165 %attr(755,root,root) %{_libdir}/clisp/base/lisp.run
166 %{_libdir}/clisp/base/makevars
167 %{_libdir}/clisp/bindings
168 %{_libdir}/clisp/build-aux
169 %{_libdir}/clisp/clx
170 %{_libdir}/clisp/data
171 %dir %{_libdir}/clisp/dynmod
172 %{_libdir}/clisp/dynmod/*.lisp
173 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-*.so
174 %{_libdir}/clisp/linkkit
175 %{_libdir}/clisp/wildcard
176 %{_aclocaldir}/clisp.m4
177 %{_mandir}/man1/clisp.1*
178 %{_mandir}/man1/clisp-link.1*
179
180 # TODO:
181 #%{_datadir}/emacs/site-lisp/clhs.el
182 #%{_datadir}/emacs/site-lisp/clisp-coding.el
183 #%{_datadir}/emacs/site-lisp/clisp-ffi.el
184 #%{_datadir}/emacs/site-lisp/clisp-indent.el
185 #%{_datadir}/emacs/site-lisp/clisp-indent.lisp
186 #%{_datadir}/vim/vimfiles/after/syntax/lisp.vim
This page took 0.061931 seconds and 2 git commands to generate.