1 # NOTE: tests >100 processes, so ensure proper ulimit
4 %bcond_without doc # build without documentation
5 %bcond_with clisp # build using clisp instead of sbcl
7 # To build with an unpackaged Common Lisp implementation,
8 # pass --define bootstrap_cl /path/to/lisp/binary to builder.
10 Summary: The Steel Bank Common Lisp development environment
11 Summary(pl.UTF-8): Środowisko programowania Steel Bank Common Lisp
16 Group: Development/Languages
17 Source0: http://download.sourceforge.net/sbcl/%{name}-%{version}-source.tar.bz2
18 # Source0-md5: c8bd43e149109127651a6917976dda4a
19 Source10: http://download.sourceforge.net/sbcl/sbcl-1.2.7-x86-linux-binary.tar.bz2
20 # Source10-md5: f6a1b2137fbc74b4a8aaf338643f4ae2
21 Source11: http://download.sourceforge.net/sbcl/sbcl-1.3.10-x86-64-linux-binary.tar.bz2
22 # Source11-md5: 56fe67f916ccdd84e7b739d0a731cf9f
23 # TODO (portability) - also available:
24 #SourceXX: http://download.sourceforge.net/sbcl/sbcl-1.3.10-arm64-linux-binary.tar.bz2
25 #SourceXX: http://download.sourceforge.net/sbcl/sbcl-1.3.9-armhf-linux-binary.tar.bz2
26 #SourceXX: http://download.sourceforge.net/sbcl/sbcl-1.2.7-armel-linux-binary.tar.bz2
27 #SourceXX: http://download.sourceforge.net/sbcl/sbcl-1.2.7-powerpc-linux-binary.tar.bz2
28 #SourceXX: http://download.sourceforge.net/sbcl/sbcl-1.0.23-mips-linux-binary.tar.bz2
29 #SourceXX: http://download.sourceforge.net/sbcl/sbcl-1.0.28-mipsel-linux-binary.tar.bz2
30 #SourceXX: http://download.sourceforge.net/sbcl/sbcl-1.0.28-alpha-linux-binary.tar.bz2
31 #SourceXX: http://download.sourceforge.net/sbcl/sbcl-1.0.28-sparc-linux-binary.tar.bz2
32 Patch0: %{name}-tests.patch
33 Patch1: %{name}-threads.patch
34 Patch2: %{name}-info.patch
35 URL: http://sbcl.sourceforge.net/
36 %{?with_clisp:BuildRequires: clisp}
38 BuildRequires: tetex-dvips
39 BuildRequires: texinfo-texi2dvi
42 %{!?bootstrap_cl:ExclusiveArch: %{ix86} %{x8664}}
43 # also: %{arm} aarch64 alpha mips mipsel ppc sparc
45 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48 Steel Bank Common Lisp (SBCL) is a Open Source development environment
49 for Common Lisp based on CMUCL. It includes an integrated native
50 compiler, interpreter, and debugger.
52 %description -l pl.UTF-8
53 Steel Bank Common Lisp (SBCL) to środowisko programistyczne Open
54 Source dla Common Lispa oparte na CMUCL. Zawiera zintegrowany natywny
55 kompilator, interpreter i debugger.
58 Summary: The Steel Bank Common Lisp documentation (info)
59 Summary(pl.UTF-8): Dokumentacja Steel Bank Common Lisp (info)
60 Group: Development/Languages
63 Documentation of Steel Bank Common Lisp (SBCL) in info format.
65 %description doc-info -l pl.UTF-8
66 Dokumentacja Steel Bank Common Lisp (SBCL) w formacie info.
69 Summary: The Steel Bank Common Lisp documentation (HTML)
70 Summary(pl.UTF-8): Dokumentacja Steel Bank Common Lisp (HTML)
71 Group: Development/Languages
74 Documentation of Steel Bank Common Lisp (SBCL) in HTML format.
76 %description doc-html -l pl.UTF-8
77 Dokumentacja Steel Bank Common Lisp (SBCL) w formacie HTML.
80 Summary: The Steel Bank Common Lisp documentation (PDF)
81 Summary(pl.UTF-8): Dokumentacja Steel Bank Common Lisp (PDF)
82 Group: Development/Languages
85 Documentation of Steel Bank Common Lisp (SBCL) in PDF format.
87 %description doc-pdf -l pl.UTF-8
88 Dokumentacja Steel Bank Common Lisp (SBCL) w formacie PDF.
98 %ifarch %{ix86} %{x8664}
102 cp -p doc/manual/sbcl.texinfo{,.patched}
103 cp -p contrib/asdf/asdf.texinfo{,.patched}
107 INSTALL_ROOT=`pwd`/../sbcl-bootstrap sh ./install.sh
110 # clean.sh is so stupid it removed sbcl-bootstrap contents
111 %{__mv} clean.sh clean.sh.orig
112 echo "#!/bin/sh" >clean.sh
116 %define bootstrap_cl "clisp"
120 export GNUMAKE="make"
122 export CFLAGS="%{rpmcflags}"
123 export SBCL_HOME=`pwd`/sbcl-bootstrap/lib/sbcl
124 export PATH=`pwd`/sbcl-bootstrap/bin:${PATH}
126 --prefix=%{_prefix} \
130 %{__make} -C doc/manual -j1
134 rm -rf $RPM_BUILD_ROOT
135 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_mandir},%{_infodir}} \
136 $RPM_BUILD_ROOT/etc/env.d
138 env -u SBCL_HOME INSTALL_ROOT=`pwd`/_install %{_buildshell} ./install.sh
140 %{__mv} _install/lib/sbcl $RPM_BUILD_ROOT%{_libdir}/%{name}
141 %{__mv} _install/bin/sbcl $RPM_BUILD_ROOT%{_bindir}/%{name}
142 %{__mv} _install/share/man/* $RPM_BUILD_ROOT%{_mandir}
144 %{__mv} _install/share/info/*.info* $RPM_BUILD_ROOT%{_infodir}
147 echo SBCL_HOME=%{_libdir}/%{name} > $RPM_BUILD_ROOT/etc/env.d/SBCL_HOME
150 rm -rf $RPM_BUILD_ROOT
159 %post doc-info -p /sbin/postshell
160 -/usr/sbin/fix-info-dir -c %{_infodir}
163 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
167 %defattr(644,root,root,755)
168 %doc _install/share/doc/sbcl/{BUGS,COPYING,CREDITS,NEWS}
169 %attr (755,root,root) %{_bindir}/sbcl
171 %{_mandir}/man1/sbcl.1*
172 %config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/SBCL_HOME
176 %defattr(644,root,root,755)
177 %{_infodir}/asdf.info*
178 %{_infodir}/sbcl.info*
181 %defattr(644,root,root,755)
182 %doc _install/share/doc/sbcl/*.html
185 %defattr(644,root,root,755)
186 %doc _install/share/doc/sbcl/*.pdf