1 |
%define bootstrap 0 |
2 |
%define threads 1 |
3 |
|
4 |
Name: sbcl |
5 |
Version: 1.0.57 |
6 |
Release: %mkrel 1 |
7 |
Summary: Steel Bank Common Lisp compiler and runtime system |
8 |
License: Public Domain and MIT and BSD with advertising |
9 |
Group: Development/Other |
10 |
URL: http://sbcl.sourceforge.net/ |
11 |
Source0: http://downloads.sourceforge.net/project/%{name}/%{name}/%{version}/%{name}-%{version}-source.tar.bz2 |
12 |
Source10: customize-target-features.lisp |
13 |
Patch1: %{name}-1.0.45-default-%{name}-home.patch |
14 |
Patch2: %{name}-0.9.5-personality.patch |
15 |
Patch3: %{name}-1.0.28-optflags.patch |
16 |
Patch4: %{name}-0.9.17-LIB_DIR.patch |
17 |
Patch5: %{name}-1.0.16-GNU_SOURCE.patch |
18 |
# Allow override of contrib test failure(s) |
19 |
Patch7: %{name}-1.0.2-permissive.patch |
20 |
|
21 |
Requires(post): /sbin/install-info |
22 |
Requires(preun):/sbin/install-info |
23 |
# doc generation |
24 |
BuildRequires: ghostscript |
25 |
BuildRequires: texinfo |
26 |
BuildRequires: texlive |
27 |
BuildRequires: time |
28 |
BuildRequires: texinfo-tex |
29 |
%if %{bootstrap} |
30 |
BuildRequires: clisp |
31 |
%else |
32 |
BuildRequires: %{name} |
33 |
%endif |
34 |
|
35 |
%description |
36 |
Steel Bank Common Lisp (SBCL) is a Open Source development environment for |
37 |
Common Lisp. It includes an integrated native compiler, interpreter, and |
38 |
debugger. |
39 |
|
40 |
|
41 |
%prep |
42 |
%setup -q |
43 |
%patch1 -p0 |
44 |
%patch2 -p0 |
45 |
%patch3 -p0 |
46 |
%patch4 -p0 |
47 |
%patch5 -p0 |
48 |
%patch7 -p0 |
49 |
|
50 |
%if %{threads} |
51 |
install -m644 -p %{_sourcedir}/customize-target-features.lisp ./customize-target-features.lisp |
52 |
%endif |
53 |
|
54 |
%build |
55 |
#setup SBCL_HOME, DEFAULT_SBCL_HOME and RPM_OPT_FLAGS |
56 |
#these variables are available thanks to patching |
57 |
export SBCL_HOME=%{_libdir}/%{name} |
58 |
export DEFAULT_SBCL_HOME=%{_libdir}/%{name} |
59 |
export RPM_OPT_FLAGS=$(echo %optflags | sed -e "s/-fomit-frame-pointer//") |
60 |
|
61 |
%if %{bootstrap} |
62 |
sh make.sh "clisp" |
63 |
%else |
64 |
sh make.sh "%{name}" |
65 |
%endif |
66 |
|
67 |
make -C doc/manual |
68 |
|
69 |
%install |
70 |
unset SBCL_HOME |
71 |
export INSTALL_ROOT=%{buildroot}%{_prefix} |
72 |
export LIB_DIR=%{buildroot}%{_libdir} |
73 |
sh install.sh |
74 |
|
75 |
if test %{_docdir} != %{_prefix}/share/doc ;then |
76 |
mkdir -p %{buildroot}%{_docdir} |
77 |
mv %{buildroot}%{_prefix}/share/doc/%{name} %{buildroot}%{_docdir}/ |
78 |
fi |
79 |
|
80 |
## Unpackaged files |
81 |
rm -f %{buildroot}%{_infodir}/dir |
82 |
# CVS crud |
83 |
find %{buildroot} -name CVS -type d | xargs rm -rf |
84 |
find %{buildroot} -name .cvsignore | xargs rm -f |
85 |
# 'test-passed' files from %%check |
86 |
find %{buildroot} -name 'test-passed' | xargs rm -vf |
87 |
|
88 |
%post |
89 |
for info in %{name}.info.* %{name}.info-1.* %{name}.info-2.* asdf.info.* |
90 |
do |
91 |
%_install_info $info |
92 |
done |
93 |
|
94 |
%postun |
95 |
for info in %{name}.info.* %{name}.info-1.* %{name}.info-2.* asdf.info.* |
96 |
do |
97 |
%_remove_install_info $info |
98 |
done |
99 |
|
100 |
%files |
101 |
%doc %{_docdir}/%{name} |
102 |
%{_bindir}/* |
103 |
%{_libdir}/%{name}/asdf-install/* |
104 |
%{_libdir}/%{name}/asdf/* |
105 |
%{_libdir}/%{name}/sb-aclrepl/* |
106 |
%{_libdir}/%{name}/sb-bsd-sockets/* |
107 |
%{_libdir}/%{name}/sb-cltl2/* |
108 |
%{_libdir}/%{name}/sb-concurrency/*.fasl |
109 |
%{_libdir}/%{name}/sb-concurrency/*.lisp |
110 |
%{_libdir}/%{name}/sb-concurrency/*.texinfo |
111 |
%{_libdir}/%{name}/sb-concurrency/*.asd |
112 |
%{_libdir}/%{name}/sb-concurrency/tests/* |
113 |
%{_libdir}/%{name}/sb-concurrency/Makefile |
114 |
%{_libdir}/%{name}/sb-cover/* |
115 |
%{_libdir}/%{name}/sb-executable/* |
116 |
%{_libdir}/%{name}/sb-grovel/* |
117 |
%{_libdir}/%{name}/sb-introspect/* |
118 |
%{_libdir}/%{name}/sb-md5/* |
119 |
%{_libdir}/%{name}/sb-posix/* |
120 |
%{_libdir}/%{name}/sb-queue/* |
121 |
%{_libdir}/%{name}/sb-rotate-byte/* |
122 |
%{_libdir}/%{name}/sb-rt/* |
123 |
%{_libdir}/%{name}/sb-simple-streams/* |
124 |
%{_libdir}/%{name}/sb-sprof/* |
125 |
%{_libdir}/%{name}/%{name}.* |
126 |
%{_infodir}/* |
127 |
%{_mandir}/man?/* |