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.47
+Version: 2.49
Release: 2
License: GPL
Group: Development/Languages
-Source0: http://dl.sourceforge.net/clisp/%{name}-%{version}.tar.bz2
-# Source0-md5: 8fa89bb13e865fc7c7150b82682f35af
+Source0: http://download.sourceforge.net/clisp/%{name}-%{version}.tar.bz2
+# Source0-md5: 1962b99d5e530390ec3829236d168649
Patch0: %{name}-shell.patch
Patch1: %{name}-alpha.patch
+Patch2: %{name}-glibc.patch
URL: http://clisp.cons.org/
BuildRequires: ffcall-devel
BuildRequires: gettext-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
%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
#%{__perl} -pi -e "s@' -O2?([^0])@' %{rpmcflags} -fno-strict-aliasing\$1@" src/makemake.in
%build
+
+%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}
--with-module=bindings/glibc \
--with-module=clx/new-clx \
>Makefile
-%{__make} config.lisp \
+%{__make} -j1 config.lisp \
TOPDIR=clisp
-%{__make} \
+%{__make} -j1 \
libdir=%{_libdir} \
TOPDIR=clisp
-%{?with_tests:%{__make} check}
+%{?with_tests:%{__make} -j1 check}
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} -C src install \
+%{__make} -j1 -C src install \
DESTDIR=$RPM_BUILD_ROOT \
libdir=%{_libdir} \
- lispdocdir=%{_docdir}/%{name}-%{version} \
+ docdir=%{_docdir}/%{name}-%{version} \
mandir=%{_mandir} \
TOPDIR=clisp
-install -d $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/modules
-install modules/*/*.dvi $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/modules
+# already packaged as man/html/pdf
+%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/doc/clisp*.{1,ps}
+# clisp and clisplow domains
%find_lang %{name} --all-name
%clean
%files -f %{name}.lang
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/clisp
+%attr(755,root,root) %{_bindir}/clisp-link
%doc %{_docdir}/%{name}-%{version}
%dir %{_libdir}/clisp
%dir %{_libdir}/clisp/base
%{_libdir}/clisp/base/lispinit.mem
%attr(755,root,root) %{_libdir}/clisp/base/lisp.run
%{_libdir}/clisp/base/makevars
-%{_libdir}/clisp/clisp-link
+%{_libdir}/clisp/bindings
+%{_libdir}/clisp/build-aux
+%{_libdir}/clisp/clx
%{_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
+%dir %{_libdir}/clisp/dynmod
+%{_libdir}/clisp/dynmod/*.lisp
+%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-*.so
%{_libdir}/clisp/linkkit
-%{_mandir}/man[13]/*
+%{_libdir}/clisp/wildcard
+%{_aclocaldir}/clisp.m4
+%{_mandir}/man1/clisp.1*
+%{_mandir}/man1/clisp-link.1*
+
+# TODO:
+#%{_datadir}/emacs/site-lisp/clhs.el
+#%{_datadir}/emacs/site-lisp/clisp-coding.el
+#%{_datadir}/emacs/site-lisp/clisp-ffi.el
+#%{_datadir}/emacs/site-lisp/clisp-indent.el
+#%{_datadir}/emacs/site-lisp/clisp-indent.lisp
+#%{_datadir}/vim/vimfiles/after/syntax/lisp.vim