rpms/sbcl/devel customize-target-features.lisp, NONE, 1.1 ppc-linux-mcontext.h, NONE, 1.1 sbcl-0.9.5-make-config-fix.patch, NONE, 1.1 sbcl-0.9.5-stdlib_h.patch, NONE, 1.1 sbcl-0.9.5-verbose-build.patch, NONE, 1.1 .cvsignore, 1.4, 1.5 sbcl-0.9.4-LIB_DIR.patch, 1.2, 1.3 sbcl.spec, 1.23, 1.24 sources, 1.4, 1.5
Rex Dieter (rdieter)
fedora-extras-commits at redhat.com
Wed Oct 5 12:15:12 UTC 2005
Author: rdieter
Update of /cvs/extras/rpms/sbcl/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv26792
Modified Files:
.cvsignore sbcl-0.9.4-LIB_DIR.patch sbcl.spec sources
Added Files:
customize-target-features.lisp ppc-linux-mcontext.h
sbcl-0.9.5-make-config-fix.patch sbcl-0.9.5-stdlib_h.patch
sbcl-0.9.5-verbose-build.patch
Log Message:
* Thu Sep 29 2005 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.5-15
- enable sb-thread
- set EXTRA_CFLAGS to so optflags are used for building contrib/ too
- hope that a rebuild will include missing sb-posix (bz #169506)
--- NEW FILE customize-target-features.lisp ---
(lambda (features)
(flet ((enable (x)
(pushnew x features))
(disable (x)
(setf features (remove x features))))
;; Threading support, available on x86/x86-64 Linux only.
(enable :sb-thread)))
--- NEW FILE ppc-linux-mcontext.h ---
/* This is an automatically-generated file; please do not edit it.
See the program tools-for-build/where-is-mcontext.c.
*/
#ifndef PPC_LINUX_MCONTEXT_H
#define PPC_LINUX_MCONTEXT_H
#define GLIBC232_STYLE_UCONTEXT
#endif /* PPC_LINUX_MCONTEXT_H */
sbcl-0.9.5-make-config-fix.patch:
--- NEW FILE sbcl-0.9.5-make-config-fix.patch ---
--- sbcl-0.9.5/make-config.sh.make-config-fix 2005-09-21 10:00:33.000000000 -0500
+++ sbcl-0.9.5/make-config.sh 2005-09-29 14:58:25.266788248 -0500
@@ -208,7 +208,7 @@
# cross-compilers!
#
# FIXME: integrate to grovel-features, mayhaps
- $GNUMAKE -C tools-for-build determine-endianness -I src/runtime
+ $GNUMAKE -C tools-for-build determine-endianness -I ../src/runtime
tools-for-build/determine-endianness >> $ltf
elif [ "$sbcl_arch" = "ppc" -a "$sbcl_os" = "linux" ]; then
# Use a C program to detect which kind of glibc we're building on,
@@ -217,8 +217,8 @@
#
# FIXME: integrate to grovel-features., maypahps
printf ' :stack-allocatable-closures' >> $ltf
- $GNUMAKE -C tools-for-build where-is-mcontext -I src/runtime
- tools-for-build/where-is-mcontext > src/runtime/ppc-linux-mcontext.h
+ $GNUMAKE -C tools-for-build where-is-mcontext -I ../src/runtime
+ tools-for-build/where-is-mcontext > src/runtime/ppc-linux-mcontext.h || echo "error running where-is-mcontext, using backup copy"; cat src/runtime/ppc-linux-mcontext.h; cat /usr/include/sys/ucontext.h ; cp src/runtime/ppc-linux-mcontext.h.BAK src/runtime/ppc-linux-mcontext.h ||:
elif [ "$sbcl_arch" = "ppc" -a "$sbcl_os" = "darwin" ]; then
printf ' :stack-allocatable-closures' >> $ltf
# We provide a dlopen shim, so a little lie won't hurt
sbcl-0.9.5-stdlib_h.patch:
--- NEW FILE sbcl-0.9.5-stdlib_h.patch ---
--- sbcl-0.9.5/tools-for-build/where-is-mcontext.c.stdlib_h 2005-07-14 15:24:19.000000000 -0500
+++ sbcl-0.9.5/tools-for-build/where-is-mcontext.c 2005-09-29 14:27:25.840464016 -0500
@@ -20,6 +20,7 @@
#include <stdio.h>
#include <stddef.h>
+#include <stdlib.h>
#include <sys/ucontext.h>
int main (int argc, char *argv[]) {
@@ -45,5 +46,7 @@
}
printf("\
#endif /* PPC_LINUX_MCONTEXT_H */\n");
+
+ exit(0);
}
sbcl-0.9.5-verbose-build.patch:
--- NEW FILE sbcl-0.9.5-verbose-build.patch ---
--- sbcl-0.9.5/make.sh.verbose-build 2005-09-21 10:00:33.000000000 -0500
+++ sbcl-0.9.5/make.sh 2005-09-28 11:42:06.353251776 -0500
@@ -70,7 +70,7 @@
# If you're cross-compiling, you should probably just walk through the
# make-config.sh script by hand doing the right thing on both the host
# and target machines.
-sh make-config.sh
+sh -x make-config.sh
# Enforce the source policy for no bogus whitespace
tools-for-build/canonicalize-whitespace
@@ -102,11 +102,11 @@
# Or, if you can set up the files somewhere shared (with NFS, AFS, or
# whatever) between the host machine and the target machine, the basic
# procedure above should still work, but you can skip the "copy" steps.
-time sh make-host-1.sh
-time sh make-target-1.sh
-time sh make-host-2.sh
-time sh make-target-2.sh
-time sh make-target-contrib.sh
+time sh -x make-host-1.sh
+time sh -x make-target-1.sh
+time sh -x make-host-2.sh
+time sh -x make-target-2.sh
+time sh -x make-target-contrib.sh
NCONTRIBS=`find contrib -name Makefile -print | wc -l`
NPASSED=`find contrib -name test-passed -print | wc -l`
Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/sbcl/devel/.cvsignore,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- .cvsignore 27 Sep 2005 18:02:25 -0000 1.4
+++ .cvsignore 5 Oct 2005 12:15:10 -0000 1.5
@@ -1,4 +1,4 @@
sbcl-0.9.5-source.tar.bz2
sbcl-0.8.15-powerpc-linux-binary.tar.bz2
sbcl-0.9.4-x86-64-linux-binary.tar.bz2
-sbcl-0.9.4-x86-linux-binary.tar.bz2
+sbcl-0.9.5-x86-linux-binary.tar.bz2
sbcl-0.9.4-LIB_DIR.patch:
Index: sbcl-0.9.4-LIB_DIR.patch
===================================================================
RCS file: /cvs/extras/rpms/sbcl/devel/sbcl-0.9.4-LIB_DIR.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- sbcl-0.9.4-LIB_DIR.patch 13 Sep 2005 16:50:44 -0000 1.2
+++ sbcl-0.9.4-LIB_DIR.patch 5 Oct 2005 12:15:10 -0000 1.3
@@ -31,7 +31,7 @@
echo "SBCL has been installed:"
echo " binary $BUILD_ROOT$INSTALL_ROOT/bin/sbcl"
-echo " core and contribs in $BUILD_ROOT$INSTALL_ROOT/lib/sbcl/"
-+echo " core and contribs in $BUILD_ROOT$LIB_DIR"
++echo " core and contribs in $BUILD_ROOT$LIB_DIR/sbcl"
# Installing manual & misc bits of documentation
#
Index: sbcl.spec
===================================================================
RCS file: /cvs/extras/rpms/sbcl/devel/sbcl.spec,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- sbcl.spec 28 Sep 2005 01:23:45 -0000 1.23
+++ sbcl.spec 5 Oct 2005 12:15:10 -0000 1.24
@@ -1,19 +1,28 @@
# $Id$
+# build only a minimal sbcl whose sole-purpose is to be bootstrap
+# for a future sbcl build
+#define min_bootstrap 1
+
Name: sbcl
Summary: Steel Bank Common Lisp
Version: 0.9.5
-Release: 8%{?dist}
+Release: 15%{?dist}
License: BSD/MIT
Group: Development/Languages
URL: http://sbcl.sourceforge.net/
Source0: http://dl.sourceforge.net/sourceforge/sbcl/sbcl-%{version}-source.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+#ExclusiveArch: ppc
ExclusiveArch: %{ix86} x86_64
+# Pre-generated html docs (not used)
+#Source1: http://dl.sourceforge.net/sourceforge/sbcl/sbcl-%{version}-html.tar.bz2
+Source2: customize-target-features.lisp
+
## x86 section
-#Source10: http://dl.sourceforge.net/sourceforge/sbcl/sbcl-0.9.4-x86-linux-binary.tar.bz2
+#Source10: http://dl.sourceforge.net/sourceforge/sbcl/sbcl-0.9.5-x86-linux-binary.tar.bz2
%ifarch %{ix86}
%define sbcl_arch x86
BuildRequires: sbcl
@@ -31,14 +40,16 @@
## ppc section
# Latest powerpc-linux bootstrap, busted:
# buildsys.fedoraproject.org/logs/development/1131-sbcl-0.9.4-14.fc5/ppc/build.log
-#Source30: http://dl.sourceforge.net/sourceforge/sbcl/sbcl-0.8.15-powerpc-linux-binary.tar.bz2
+Source30: http://dl.sourceforge.net/sourceforge/sbcl/sbcl-0.8.15-powerpc-linux-binary.tar.bz2
# another possible ppc bootstrap to try
#Source31: http://clozure.com/openmcl/ftp/openmcl-linuxppc-all-0.14.3.tar.gz
+Source35: ppc-linux-mcontext.h
%ifarch ppc
%define sbcl_arch ppc
%define sbcl_bootstrap_src -a 30
BuildRequires: setarch
%define setarch setarch %{_target_cpu}
+%define min_bootstrap 1
%endif
Source100: my_setarch.c
@@ -47,12 +58,16 @@
Patch2: sbcl-0.9.5-personality.patch
Patch3: sbcl-0.9.5-optflags.patch
Patch4: sbcl-0.9.4-LIB_DIR.patch
+Patch5: sbcl-0.9.5-make-config-fix.patch
+Patch6: sbcl-0.9.5-verbose-build.patch
+Patch7: sbcl-0.9.5-stdlib_h.patch
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
# doc generation
BuildRequires: ghostscript
BuildRequires: texinfo
+BuildRequires: time
%description
Steel Bank Common Lisp (SBCL) is a Open Source development environment
@@ -63,24 +78,32 @@
%prep
%setup -q %{?sbcl_bootstrap_src}
+# Handle pre-generated docs
+if [ -d %{name}-%{version}/doc/manual ]; then
+ mv %{name}-%{version}/doc/manual/* doc/manual/
+fi
+
#sed -i -e "s|/usr/local/lib/sbcl/|%{_libdir}/sbcl/|" src/runtime/runtime.c
#or patch to use SBCL_HOME env var
%patch1 -p0 -b .default-sbcl-home
%patch2 -p1 -b .personality
%patch3 -p1 -b .optflags
%patch4 -p1 -b .LIB_DIR
+%patch5 -p1 -b .make-config-fix
+%patch6 -p1 -b .verbose-build
+%patch7 -p1 -b .stdlib_h
-# http://article.gmane.org/gmane.lisp.steel-bank.general/340
-# enable threads (was only for >= 2.6, but code has checks to disable for <= 2.4)
-## FIXME(?): per section 2.2 of INSTALL, should create/use customize-target-features.lisp
-## to customize features -- Rex
-#define kernel_ver %(uname -r | cut -d- -f1 | cut -d. -f-2 )
-#if "%{?kernel_ver}" >= "2.6"
+# Enable sb-thread
%ifarch %{ix86} x86_64
#sed -i -e "s|; :sb-thread|:sb-thread|" base-target-features.lisp-expr
+cp %{SOURCE2} ./customize-target-features.lisp
%endif
-#endif
+%ifarch ppc
+cp %{SOURCE35} src/runtime/ppc-linux-mcontext.h.BAK
+%endif
+
+# "install" local bootstrap
%if "%{?sbcl_bootstrap_src}" != "%{nil}"
mkdir sbcl-bootstrap
pushd sbcl-*-linux
@@ -89,34 +112,43 @@
popd
%endif
-# CVS crud
-find . -name CVS -type d | xargs rm -rf
-find . -name '.cvsignore' | xargs rm -f
# fix permissions (some have eXecute bit set)
find . -name '*.c' | xargs chmod 644
%build
-export DEFAULT_SBCL_HOME=%{_libdir}/sbcl
+# setup local bootstrap
%if "%{?sbcl_bootstrap_src}" != "%{nil}"
export SBCL_HOME=`pwd`/sbcl-bootstrap/lib/sbcl
export PATH=`pwd`/sbcl-bootstrap/bin:${PATH}
+%endif
+# my_setarch, to set personality, (about) the same as setarch -R,
+# but usable on fc3 too
%{__cc} -o my_setarch %{optflags} %{SOURCE100}
%define my_setarch ./my_setarch
-%endif
+# trick contrib/ modules to use optflags too
+export EXTRA_CFLAGS="$RPM_OPT_FLAGS"
+export DEFAULT_SBCL_HOME=%{_libdir}/sbcl
%{?sbcl_arch:export SBCL_ARCH=%{sbcl_arch}}
-%{?setarch} %{?my_setarch} ./make.sh %{?bootstrap}
+%{?setarch} %{?my_setarch} sh -x ./make.sh %{?bootstrap}
# docs
+%if "%{?min_bootstrap}" == "%{nil}"
make -C doc/manual html info
+%endif
%check || :
pushd tests
-%{?setarch} sh ./run-tests.sh
+# Only x86 builds are expected to pass all
+%ifarch %{ix86} x86_64
+%{?setarch} sh ./run-tests.sh ||:
+%else
+%{?setarch} sh ./run-tests.sh ||:
+%endif
popd
@@ -124,40 +156,52 @@
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_mandir}}
-unset SBCL_HOME ||:
-export INSTALL_ROOT=$RPM_BUILD_ROOT%{_prefix}
-export LIB_DIR=$RPM_BUILD_ROOT%{_libdir}
-sh ./install.sh
+
+unset SBCL_HOME
+export INSTALL_ROOT=$RPM_BUILD_ROOT%{_prefix}
+export LIB_DIR=$RPM_BUILD_ROOT%{_libdir}
+sh -x ./install.sh
## Unpackaged files
rm -rf $RPM_BUILD_ROOT%{_docdir}/sbcl
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
-# from make check
-find $RPM_BUILD_ROOT -name 'test-passed' | xargs rm -f
+# CVS crud
+find $RPM_BUILD_ROOT -name CVS -type d | xargs rm -rf
+find $RPM_BUILD_ROOT -name .cvsignore | xargs rm -f
+# 'test-passed' files from make check (leave these in, for now -- Rex)
+# find $RPM_BUILD_ROOT -name 'test-passed' | xargs rm -f
+%if "%{?min_bootstrap}" == "%{nil}"
%post
/sbin/install-info %{_infodir}/sbcl.info %{_infodir}/dir ||:
/sbin/install-info %{_infodir}/asdf.info %{_infodir}/dir ||:
-
%postun
if [ $1 -eq 0 ]; then
/sbin/install-info --delete %{_infodir}/sbcl.info %{_infodir}/dir ||:
/sbin/install-info --delete %{_infodir}/asdf.info %{_infodir}/dir ||:
fi
+%else
+%pre
+# We *could* check for only-on-upgrade, but why bother? (-:
+/sbin/install-info --delete %{_infodir}/sbcl.info %{_infodir}/dir >& /dev/null ||:
+/sbin/install-info --delete %{_infodir}/asdf.info %{_infodir}/dir >& /dev/null ||:
+%endif
%files
%defattr(-,root,root)
%doc BUGS COPYING README CREDITS NEWS TLA TODO
%doc SUPPORT STYLE PRINCIPLES
-%doc doc/manual/sbcl
-%doc doc/manual/asdf
%{_bindir}/*
%{_libdir}/sbcl/
%{_mandir}/man?/*
+%if "%{?min_bootstrap}" == "%{nil}"
+%doc doc/manual/sbcl
+%doc doc/manual/asdf
%{_infodir}/*
+%endif
%clean
@@ -165,6 +209,14 @@
%changelog
+* Thu Sep 29 2005 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.5-15
+- enable sb-thread
+- set EXTRA_CFLAGS to so optflags are used for building contrib/ too
+- hope that a rebuild will include missing sb-posix (bz #169506)
+
+* Wed Sep 28 2005 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.5-14
+- more ppc work
+
* Tue Sep 27 2005 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.5-8
- respin (fc3/fc4)
Index: sources
===================================================================
RCS file: /cvs/extras/rpms/sbcl/devel/sources,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- sources 27 Sep 2005 18:02:25 -0000 1.4
+++ sources 5 Oct 2005 12:15:10 -0000 1.5
@@ -1,4 +1,4 @@
f594f18813c08f262a6df9a36288adcb sbcl-0.9.5-source.tar.bz2
3a72d0785ce0a8e02f9af632c2a4f217 sbcl-0.8.15-powerpc-linux-binary.tar.bz2
67ec41e624a3f2ad7f6f3cde1bd001d3 sbcl-0.9.4-x86-64-linux-binary.tar.bz2
-947d1cde2c1c80416b5f9fb4e4c81383 sbcl-0.9.4-x86-linux-binary.tar.bz2
+cb01b462b517889723eeaf63b5474c70 sbcl-0.9.5-x86-linux-binary.tar.bz2
More information about the fedora-extras-commits
mailing list