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