]> git.pld-linux.org Git - packages/clisp.git/blobdiff - clisp.spec
- try to build on sparcs
[packages/clisp.git] / clisp.spec
index b28ed4bca3aab77709e257281a7a0a932be061a7..e30e68913889e74a4027fbfb2ee1f5f76acdbf3b 100644 (file)
@@ -1,22 +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-md5: 29e80e430c6098c78dbd2e56334aaa90
+Source0:       http://dl.sourceforge.net/clisp/%{name}-%{version}.tar.bz2
+# Source0-md5: 8fa89bb13e865fc7c7150b82682f35af
 Patch0:                %{name}-shell.patch
-Patch1:                %{name}-no_LIBC.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
@@ -36,63 +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
+#%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
@@ -103,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
This page took 0.065897 seconds and 4 git commands to generate.