]> git.pld-linux.org Git - packages/clisp.git/blame - clisp.spec
- one step closer to building this on x32
[packages/clisp.git] / clisp.spec
CommitLineData
3cd314f5
ŁK
1# TODO:
2# - review alpha patch
bfd7e11e 3#
79f0f74b 4# Conditional build:
cdd858ea 5%bcond_with tests # run test suite `make check' (uses network, won't pass on vserver)
bfd7e11e 6#
59f7b327 7Summary: Common Lisp (ANSI CL) implementation
2b164edd
ER
8Summary(pl.UTF-8): Implementacja Common Lisp (ANSI CL)
9Summary(pt_BR.UTF-8): Implementação do Common Lisp (ANSI CL)
59f7b327 10Name: clisp
258f532d 11Version: 2.49
01570cfa 12Release: 5
59f7b327 13License: GPL
14Group: Development/Languages
258f532d
JR
15Source0: http://download.sourceforge.net/clisp/%{name}-%{version}.tar.bz2
16# Source0-md5: 1962b99d5e530390ec3829236d168649
59f7b327 17Patch0: %{name}-shell.patch
5a8ba3e7 18Patch1: %{name}-alpha.patch
b8509756 19Patch2: %{name}-glibc.patch
138982f9
AM
20# https://sourceforge.net/p/clisp/bugs/688/attachment/patch-modules_readline_readline.lisp
21Patch3: %{name}-readline.patch
01570cfa 22Patch4: x32.patch
59f7b327 23URL: http://clisp.cons.org/
3cd314f5 24BuildRequires: ffcall-devel
770760d8 25BuildRequires: gettext-tools
afc85770 26BuildRequires: libsigsegv >= 2.4
10afc298 27BuildRequires: ncurses-devel
05dfe0ce 28BuildRequires: readline-devel
a84435bf
JB
29BuildRequires: xorg-lib-libX11-devel
30BuildRequires: xorg-lib-libXpm-devel
31BuildRequires: xorg-proto-xextproto-devel
59f7b327 32BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33
df1563da 34%define specflags_ppc -DNO_GENERATIONAL_GC
35%define specflags_ppc64 -DNO_GENERATIONAL_GC
36
59f7b327 37%description
38Common Lisp is a high-level, all-purpose programming language. CLISP
39is a Common Lisp implementation by Bruno Haible of Karlsruhe
40University and Michael Stoll of Munich University, both in Germany. It
41mostly supports Common Lisp as described in the ANSI CL standard. It
42runs on microcomputers (DOS, OS/2, Windows NT, Windows 95, Amiga
43500-4000, Acorn RISC PC) as well as on Unix workstations (Linux, SVR4,
44Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI, AIX, Sun3 and others) and
45needs only 2 MB of RAM.
46
47It is free software and may be distributed under the terms of GNU GPL,
48while it is possible to distribute commercial applications compiled
49with CLISP.
50
51The user interface comes in German, English, French and Spanish. CLISP
52includes an interpreter, a compiler, a large subset of CLOS, a foreign
53language interface and a socket interface. An X11 interface is
54available through CLX and Garnet.
55
9a5b73ba
JR
56%description -l pl.UTF-8
57Common Lisp to wysokopoziomowy język programowania ogólnego
58przeznaczenia. CLISP to implementacja Common Lisp, której autorami są
66d98f1f 59Bruno Haible z Karlsruhe University oraz Michael Stoll z Munich
9a5b73ba
JR
60University (oba w Niemczech). W większości wspiera Common Lisp opisany
61w standardzie ANSI CL. Działa na mikrokomputerach (DOS, OS/2, Windows
62NT, Windows 95, Amiga 500-4000, Acorn RICS PC), a także stacjach
66d98f1f
JB
63uniksowych (Linux, SVR4, Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI,
64AIX, Sun3 i inne) i wymaga tylko 2 MB RAM.
65
9a5b73ba 66To jest oprogramowanie wolnodostępne, na licencji GNU GPL, możliwe
66d98f1f
JB
67jest dystrybuowanie komercyjnych aplikacji skompilowanych CLISP-em.
68
9a5b73ba
JR
69Interfejs użytkownika dostępny jest po niemiecku, angielsku, francusku
70i hiszpańsku. CLISP zawiera interpreter, kompilator, znaczny podzbiór
71CLOS, interfejs do innych języków oraz interfejs do gniazdek.
72Interfejs X11 jest dostępny poprzez CLX i Garnet.
66d98f1f 73
9a5b73ba
JR
74%description -l pt_BR.UTF-8
75Common Lisp é uma linguagem de programação de propósito geral de alto
76nível. CLISP é uma implementação do Common Lisp feita por Bruno
3b8ff915 77Haible, da Universidade Karlsruhe, e Michael Stoll, da Universidade de
9a5b73ba
JR
78Munique, ambas na Alemanha. O CLISP é quase totalmente compatível com
79o Common Lisp descrito pelo padrão ANSI CL. Além disso, CLISP é
80software livre, distribuído sob os termos da GNU GPL.
3b8ff915 81
59f7b327 82%prep
83%setup -q
84%patch0 -p1
2eb6106d 85%patch1 -p1
3c8d6648 86%patch2 -p1
138982f9 87%patch3 -p0
01570cfa 88%patch4 -p1
05dfe0ce
JB
89
90# changing default -O to optflags causes memory fault on amd64
91# - so something is broken... code or compiler
0c5f0ead
JB
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
59f7b327 95
96%build
fdf4594b 97
5ce91178 98%ifarch ppc ppc64
99ulimit -s unlimited
100%else
df1563da 101ulimit -s 32768
5ce91178 102%endif
fdf4594b 103
79f0f74b 104CC="%{__cc}" \
72f0b7ac 105%ifarch sparc sparcv9 sparc64
106CFLAGS="%{rpmcflags} -DSAFETY=3" \
107%else
01570cfa
JR
108%ifarch %{ix86} x32
109CFLAGS="%{rpmcflags} -falign-functions=4" \
110%else
df1563da 111CFLAGS="%{rpmcflags}" \
72f0b7ac 112%endif
01570cfa 113%endif
79f0f74b 114./configure \
01570cfa 115 --host=%{_target_platform} \
00fbe0f1 116 --prefix=%{_prefix}
f404e321 117
59f7b327 118cd src
119./makemake \
120 --prefix=%{_prefix} \
121 --with-readline \
122 --with-gettext \
123 --with-dynamic-ffi \
e4912e71 124 --fsstnd=redhat \
59f7b327 125 --with-module=wildcard \
5d55e2b8 126 --with-module=bindings/glibc \
e4912e71 127 --with-module=clx/new-clx \
59f7b327 128 >Makefile
a6fd4b7b 129%{__make} -j1 config.lisp \
3cd314f5 130 TOPDIR=clisp
a6fd4b7b 131%{__make} -j1 \
3cd314f5
ŁK
132 libdir=%{_libdir} \
133 TOPDIR=clisp
bfd7e11e 134
a6fd4b7b 135%{?with_tests:%{__make} -j1 check}
59f7b327 136
137%install
138rm -rf $RPM_BUILD_ROOT
05dfe0ce 139
a6fd4b7b 140%{__make} -j1 -C src install \
59f7b327 141 DESTDIR=$RPM_BUILD_ROOT \
05dfe0ce 142 libdir=%{_libdir} \
2eb6106d 143 docdir=%{_docdir}/%{name}-%{version} \
3cd314f5
ŁK
144 mandir=%{_mandir} \
145 TOPDIR=clisp
05dfe0ce 146
2eb6106d
JB
147# already packaged as man/html/pdf
148%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/doc/clisp*.{1,ps}
59f7b327 149
2eb6106d 150# clisp and clisplow domains
085d3d70 151%find_lang %{name} --all-name
152
59f7b327 153%clean
154rm -rf $RPM_BUILD_ROOT
155
085d3d70 156%files -f %{name}.lang
59f7b327 157%defattr(644,root,root,755)
158%attr(755,root,root) %{_bindir}/clisp
2eb6106d 159%attr(755,root,root) %{_bindir}/clisp-link
bb3deaa0 160%doc %{_docdir}/%{name}-%{version}
59f7b327 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
2eb6106d
JB
167%{_libdir}/clisp/bindings
168%{_libdir}/clisp/build-aux
169%{_libdir}/clisp/clx
59f7b327 170%{_libdir}/clisp/data
2eb6106d
JB
171%dir %{_libdir}/clisp/dynmod
172%{_libdir}/clisp/dynmod/*.lisp
173%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-*.so
59f7b327 174%{_libdir}/clisp/linkkit
2eb6106d
JB
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.108516 seconds and 4 git commands to generate.