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