]> git.pld-linux.org Git - packages/clisp.git/blob - clisp.spec
- rename glibc patch
[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:        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}-glibc.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         docdir=%{_docdir}/%{name}-%{version} \
134         mandir=%{_mandir} \
135         TOPDIR=clisp
136
137 # already packaged as man/html/pdf
138 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/doc/clisp*.{1,ps}
139
140 # clisp and clisplow domains
141 %find_lang %{name} --all-name
142
143 %clean
144 rm -rf $RPM_BUILD_ROOT
145
146 %files -f %{name}.lang
147 %defattr(644,root,root,755)
148 %attr(755,root,root) %{_bindir}/clisp
149 %attr(755,root,root) %{_bindir}/clisp-link
150 %doc %{_docdir}/%{name}-%{version} 
151 %dir %{_libdir}/clisp
152 %dir %{_libdir}/clisp/base
153 %{_libdir}/clisp/base/*.[aho]
154 %{_libdir}/clisp/base/lispinit.mem
155 %attr(755,root,root) %{_libdir}/clisp/base/lisp.run
156 %{_libdir}/clisp/base/makevars
157 %{_libdir}/clisp/bindings
158 %{_libdir}/clisp/build-aux
159 %{_libdir}/clisp/clx
160 %{_libdir}/clisp/data
161 %dir %{_libdir}/clisp/dynmod
162 %{_libdir}/clisp/dynmod/*.lisp
163 %attr(755,root,root) %{_libdir}/clisp/dynmod/lib-*.so
164 %{_libdir}/clisp/linkkit
165 %{_libdir}/clisp/wildcard
166 %{_aclocaldir}/clisp.m4
167 %{_mandir}/man1/clisp.1*
168 %{_mandir}/man1/clisp-link.1*
169
170 # TODO:
171 #%{_datadir}/emacs/site-lisp/clhs.el
172 #%{_datadir}/emacs/site-lisp/clisp-coding.el
173 #%{_datadir}/emacs/site-lisp/clisp-ffi.el
174 #%{_datadir}/emacs/site-lisp/clisp-indent.el
175 #%{_datadir}/emacs/site-lisp/clisp-indent.lisp
176 #%{_datadir}/vim/vimfiles/after/syntax/lisp.vim
This page took 3.317522 seconds and 3 git commands to generate.