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