X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=clisp.spec;h=e30e68913889e74a4027fbfb2ee1f5f76acdbf3b;hb=72f0b7acc1f81ec64cc00bb3d0b5dbc0026bf78e;hp=418c3934a10f7b4f1004e610295ccce16df1be53;hpb=3b3c8aed9c2071a2ed8f36bbc79e46c485147adf;p=packages%2Fclisp.git diff --git a/clisp.spec b/clisp.spec index 418c393..e30e689 100644 --- a/clisp.spec +++ b/clisp.spec @@ -1,20 +1,36 @@ +# TODO: +# - review alpha patch +# +# Conditional build: +%bcond_with tests # run test suite `make check' (uses network, won't pass on vserver) +# Summary: Common Lisp (ANSI CL) implementation -Summary(pl): Implementacja Common Lisp (ANSI CL) -Summary(pt_BR): Implementação do Common Lisp (ANSI CL) +Summary(pl.UTF-8): Implementacja Common Lisp (ANSI CL) +Summary(pt_BR.UTF-8): Implementação do Common Lisp (ANSI CL) Name: clisp -Version: 2.30 -Release: 1 +Version: 2.47 +Release: 6 License: GPL Group: Development/Languages -Source0: ftp://cvs2.cons.org/pub/lisp/clisp/source/latest/%{name}-%{version}.tar.bz2 +Source0: http://dl.sourceforge.net/clisp/%{name}-%{version}.tar.bz2 +# Source0-md5: 8fa89bb13e865fc7c7150b82682f35af Patch0: %{name}-shell.patch -Icon: clisp.gif +Patch1: %{name}-alpha.patch +Patch2: %{name}-gcc4.patch URL: http://clisp.cons.org/ -BuildRequires: readline-devel +BuildRequires: ffcall-devel BuildRequires: gettext-devel +BuildRequires: libsigsegv >= 2.4 BuildRequires: ncurses-devel +BuildRequires: readline-devel +BuildRequires: xorg-lib-libX11-devel +BuildRequires: xorg-lib-libXpm-devel +BuildRequires: xorg-proto-xextproto-devel BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%define specflags_ppc -DNO_GENERATIONAL_GC +%define specflags_ppc64 -DNO_GENERATIONAL_GC + %description Common Lisp is a high-level, all-purpose programming language. CLISP is a Common Lisp implementation by Bruno Haible of Karlsruhe @@ -34,62 +50,91 @@ includes an interpreter, a compiler, a large subset of CLOS, a foreign language interface and a socket interface. An X11 interface is available through CLX and Garnet. -%description -l pl -Common Lisp to wysokopoziomowy jêzyk programowania ogólnego -przeznaczenia. CLISP to implementacja Common Lisp, której autorami s± +%description -l pl.UTF-8 +Common Lisp to wysokopoziomowy język programowania ogólnego +przeznaczenia. CLISP to implementacja Common Lisp, której autorami są Bruno Haible z Karlsruhe University oraz Michael Stoll z Munich -University (oba w Niemczech). W wiêkszo¶ci wspiera Common Lisp opisany -w standardzie ANSI CL. Dzia³a na mikrokomputerach (DOS, OS/2, Windows -NT, Windows 95, Amiga 500-4000, Acorn RICS PC), a tak¿e stacjach +University (oba w Niemczech). W większości wspiera Common Lisp opisany +w standardzie ANSI CL. Działa na mikrokomputerach (DOS, OS/2, Windows +NT, Windows 95, Amiga 500-4000, Acorn RICS PC), a także stacjach uniksowych (Linux, SVR4, Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI, AIX, Sun3 i inne) i wymaga tylko 2 MB RAM. -To jest oprogramowanie wolnodostêpne, na licencji GNU GPL, mo¿liwe +To jest oprogramowanie wolnodostępne, na licencji GNU GPL, możliwe jest dystrybuowanie komercyjnych aplikacji skompilowanych CLISP-em. -Interfejs u¿ytkownika dostêpny jest po niemiecku, angielsku, francusku -i hiszpañsku. CLISP zawiera interpreter, kompilator, znaczny podzbiór -CLOS, interfejs do innych jêzyków oraz interfejs do gniazdek. -Interfejs X11 jest dostêpny poprzez CLX i Garnet. +Interfejs użytkownika dostępny jest po niemiecku, angielsku, francusku +i hiszpańsku. CLISP zawiera interpreter, kompilator, znaczny podzbiór +CLOS, interfejs do innych języków oraz interfejs do gniazdek. +Interfejs X11 jest dostępny poprzez CLX i Garnet. -%description -l pt_BR -Common Lisp é uma linguagem de programação de propósito geral de alto -nível. CLISP é uma implementação do Common Lisp feita por Bruno +%description -l pt_BR.UTF-8 +Common Lisp é uma linguagem de programação de propósito geral de alto +nível. CLISP é uma implementação do Common Lisp feita por Bruno Haible, da Universidade Karlsruhe, e Michael Stoll, da Universidade de -Munique, ambas na Alemanha. O CLISP é quase totalmente compatível com -o Common Lisp descrito pelo padrão ANSI CL. Além disso, CLISP é -software livre, distribuído sob os termos da GNU GPL. +Munique, ambas na Alemanha. O CLISP é quase totalmente compatível com +o Common Lisp descrito pelo padrão ANSI CL. Além disso, CLISP é +software livre, distribuído sob os termos da GNU GPL. %prep %setup -q %patch0 -p1 +#%patch1 -p1 +%patch2 -p1 + +# changing default -O to optflags causes memory fault on amd64 +# - so something is broken... code or compiler +# -fno-strict-aliasing seems to fix crashes on amd64 but doesn't fix +# random crashes on sparc (which occur with default CFLAGS) +#%{__perl} -pi -e "s@' -O2?([^0])@' %{rpmcflags} -fno-strict-aliasing\$1@" src/makemake.in %build -./configure --prefix=%{_prefix} + +%ifarch ppc ppc64 +ulimit -s unlimited +%else +ulimit -s 32768 +%endif + +CC="%{__cc}" \ +%ifarch sparc sparcv9 sparc64 +CFLAGS="%{rpmcflags} -DSAFETY=3" \ +%else +CFLAGS="%{rpmcflags}" \ +%endif +./configure \ + --prefix=%{_prefix} + cd src ./makemake \ --prefix=%{_prefix} \ --with-readline \ --with-gettext \ --with-dynamic-ffi \ + --fsstnd=redhat \ --with-module=wildcard \ - --with-module=regexp \ - --with-module=bindings/linuxlibc6 \ + --with-module=bindings/glibc \ + --with-module=clx/new-clx \ >Makefile -%{__make} config.lisp -%{__make} -#make check +%{__make} -j1 config.lisp \ + TOPDIR=clisp +%{__make} -j1 \ + libdir=%{_libdir} \ + TOPDIR=clisp + +%{?with_tests:%{__make} -j1 check} %install rm -rf $RPM_BUILD_ROOT -cd src -install -d $RPM_BUILD_ROOT{%{_bindir},%{_docdir},%{_libdir},%{_mandir}} -%{__make} install \ + +%{__make} -j1 -C src install \ DESTDIR=$RPM_BUILD_ROOT \ + libdir=%{_libdir} \ lispdocdir=%{_docdir}/%{name}-%{version} \ - mandir=%{_mandir} -cd .. -mkdir $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/modules + mandir=%{_mandir} \ + TOPDIR=clisp + +install -d $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/modules install modules/*/*.dvi $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/modules %find_lang %{name} --all-name @@ -100,16 +145,17 @@ rm -rf $RPM_BUILD_ROOT %files -f %{name}.lang %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/clisp -%doc %{_docdir}/%{name}-%{version} +%doc %{_docdir}/%{name}-%{version} %dir %{_libdir}/clisp %dir %{_libdir}/clisp/base %{_libdir}/clisp/base/*.[aho] %{_libdir}/clisp/base/lispinit.mem %attr(755,root,root) %{_libdir}/clisp/base/lisp.run -%attr(755,root,root) %{_libdir}/clisp/full/lisp.run %{_libdir}/clisp/base/makevars %{_libdir}/clisp/clisp-link %{_libdir}/clisp/data +%dir %{_libdir}/clisp/full +%attr(755,root,root) %{_libdir}/clisp/full/lisp.run %{_libdir}/clisp/full/*.[aho] %{_libdir}/clisp/full/lispinit.mem %{_libdir}/clisp/full/makevars