Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Updatate to latest version of sbcl. The update

includes switch to version 2 of ASDF, necessitating
many changes to load and macros.
  • Loading branch information...
commit a1a292e0e08e7e5fb2ba996dc54e354a0dc3f560 1 parent 1856c7b
@bvds authored
View
3  INSTALL
@@ -77,7 +77,6 @@ make install-solver
# a binary release and then use that to compile the sbcl source code.
# The default sbcl install directory is /usr/local/;
-# see https://bugs.launchpad.net/sbcl/+bug/550889.
# If you wish to install in a location other than /usr/local
# set the environment variable INSTALL_ROOT to this location,
# for example, "export INSTALL_ROOT=$HOME", before using the make
@@ -88,9 +87,9 @@ cd lisp-site-install
make get-source # download and compile source code
make source-install # install in /usr/local (do as superuser)
# or in INSTALL_ROOT
+ make sbclrc # Install the sbcl initialization file ~/.sbclrc
cd ../ # return to Andes root directory
-make sbclrc # Install the sbcl initialization file ~/.sbclrc
================================== MySql ======================================
View
4 Makefile
@@ -1,9 +1,6 @@
#
# Install and update Andes Help server
#
-sbclrc:
- test -f ~/.sbclrc || cp lisp-site-install/sbclrc-sample ~/.sbclrc
- echo "(pushnew #P\"`pwd`/\" asdf:*central-registry*)" >> ~/.sbclrc
install-site-libraries:
cd lisp-site-install; $(MAKE) install-site-libraries
@@ -49,6 +46,7 @@ install-server:
update:
git pull
+ cd lisp-site-install; $(MAKE) update
cd LogProcessing/database; $(MAKE) update
cd help-server; $(MAKE) update
cd problems; git pull
View
100 lisp-site-install/Makefile
@@ -14,34 +14,34 @@
#
ifeq ($(shell uname),Darwin)
ifeq ($(shell uname -p),powerpc)
- binary-release = sbcl-1.0.22-powerpc-darwin-binary.tar.bz2
+ binary-release = sbcl-1.0.47-powerpc-darwin-binary.tar.bz2
endif
ifeq ($(shell uname -p),i386)
- binary-release = sbcl-1.0.29-x86-darwin-binary-r2.tar.bz2
+ binary-release = sbcl-1.0.55-x86-darwin-binary-r2.tar.bz2
# work-around for bug in make-config.sh which guesses the wrong platform
# on OSX 10.4.11, MacBook Pro.
platform = SBCL_ARCH=x86; export SBCL_ARCH;
endif
ifeq ($(shell uname -p),x86_64)
- binary-release = sbcl-1.0.29-x86_64-darwin-binary-r2.tar.bz2
+ binary-release = sbcl-1.0.55-x86_64-darwin-binary-r2.tar.bz2
endif
endif
ifeq ($(shell uname),Linux)
ifeq ($(shell uname -p),i686)
- binary-release = sbcl-1.0.35-x86-linux-binary.tar.bz2
+ binary-release = sbcl-1.0.55-x86-linux-binary.tar.bz2
endif
ifeq ($(shell uname -m),i686)
- binary-release = sbcl-1.0.35-x86-linux-binary.tar.bz2
+ binary-release = sbcl-1.0.55-x86-linux-binary.tar.bz2
endif
ifeq ($(shell uname -p),pentium4) # Andrew linux at CMU
- binary-release = sbcl-1.0.35-x86-linux-binary.tar.bz2
+ binary-release = sbcl-1.0.55-x86-linux-binary.tar.bz2
endif
ifeq ($(shell uname -p),x86_64)
- binary-release = sbcl-1.0.29-x86_64-linux-binary-r2.tar.bz2
+ binary-release = sbcl-1.0.55-x86_64-linux-binary-r2.tar.bz2
endif
ifeq ($(shell uname -m),x86_64)
- binary-release = sbcl-1.0.29-x86_64-linux-binary-r2.tar.bz2
+ binary-release = sbcl-1.0.55-x86_64-linux-binary-r2.tar.bz2
endif
endif
ifndef binary-release
@@ -55,83 +55,63 @@ get-binary:
tar jxvf $(binary-release) > lisp-binary-dir-files
@echo "changing to directory `$(binary-dir)`:"
cd `$(binary-dir)`; chmod u+x run-sbcl.sh
+
+# The binary version of sbcl should not be used
+# to run the Andes help server. Use the custom version below.
binary-install:
@echo "Needs superuser privileges for install into /usr/local"
cd `$(binary-dir)`; sh install.sh
thread-test:
cd `$(binary-dir)`; echo '(format t "Threading is~:[ not~;~] supported on binary release.~%" (find :sb-thread *features*)) (quit)' | ./run-sbcl.sh --noinform --noprint
-source-dir = sbcl-1.0.37
+source-dir = sbcl-1.0.55
source-release = $(source-dir)-source.tar.bz2
get-source:
-wget -nc http://prdownloads.sourceforge.net/sbcl/$(source-release)
tar jxf $(source-release)
# enable thread support (for OS X) and :sb-hash-table-debug
cp customize-target-features.lisp $(source-dir)
- patch -p 1 -d $(source-dir) < backend-parms.lisp-x86-1.0.36-patch
- patch -p 1 -d $(source-dir) < backend-parms.lisp-x86_64-1.0.36-patch
- patch -p 1 -d $(source-dir) < parms.lisp-1.0.36-patch
+ patch -p 1 -d $(source-dir) < backend-parms.lisp-x86-1.0.55-patch
+ patch -p 1 -d $(source-dir) < backend-parms.lisp-x86_64-1.0.55-patch
+ patch -p 1 -d $(source-dir) < parms.lisp-1.0.55-patch
# See https://bugs.launchpad.net/sbcl/+bug/720940
- patch -p 1 -d $(source-dir) < sb-introspect-1.0.37-patch
-ifdef INSTALL_ROOT
- perl -i -p -e "s%#define SBCL_HOME .*%#define SBCL_HOME \"${INSTALL_ROOT}/lib/sbcl/\"%" $(source-dir)/src/runtime/runtime.c
-endif
- $(platform) cd $(source-dir); sh make.sh $(shell echo "../`$(binary-dir)`/run-sbcl.sh")
+ patch -p 1 -d $(source-dir) < sb-introspect-1.0.55-patch
ifdef INSTALL_ROOT
+ $(platform) cd $(source-dir); sh make.sh --prefix ${INSTALL_ROOT} $(shell echo "../`$(binary-dir)`/run-sbcl.sh")
@echo "Install directory ${INSTALL_ROOT}"
+else
+ $(platform) cd $(source-dir); sh make.sh $(shell echo "../`$(binary-dir)`/run-sbcl.sh")
endif
-
ifdef SUDO_USER
username=$(SUDO_USER)
else
username=$(USER)
endif
+ifndef INSTALL_ROOT
+INSTALL_ROOT=/usr/local
+endif
+
source-install:
-ifdef INSTALL_ROOT
- @echo "Install into ${INSTALL_ROOT}/bin and ${INSTALL_ROOT}/lib/"
- test -d ${INSTALL_ROOT}/bin || mkdir ${INSTALL_ROOT}/bin
- test -d ${INSTALL_ROOT}/lib || mkdir ${INSTALL_ROOT}/lib
- cd $(source-dir); sh install.sh
- @echo "Installing additional libraries in ${INSTALL_ROOT}/lib/sbcl."
- tar xf sbcl-site-libraries.tar -C ${INSTALL_ROOT}/lib/sbcl
-else
- @echo "Needs superuser privileges for install into /usr/local"
+ @echo "Install into ${INSTALL_ROOT}/bin and ${INSTALL_ROOT}/lib"
cd $(source-dir); sh install.sh
- @echo "Installing additional libraries in /usr/local/lib/sbcl."
- tar xf sbcl-site-libraries.tar -C /usr/local/lib/sbcl
- chown -R $(username) /usr/local/lib/sbcl
- @echo "The user $(username) will be able to compile the libraries."
-endif
+ $(MAKE) quicklisp-install
-# The following are instructions for creating the various libraries
-# by hand and packaging them up into sbcl-site-libraries.tgz
+quicklisp-install: quicklisp.lisp
+ sbcl --load quicklisp.lisp --eval "(quicklisp-quickstart:install :path \"${INSTALL_ROOT}/quicklisp/\")" --load install-libraries.lisp
+ chown -R $(username) ${INSTALL_ROOT}/quicklisp
+ @echo "User $(username) can modify quicklisp"
-# ;; Install the hunchentoot web server http://www.weitz.de/hunchentoot/
-# ;; using asdf-install. asdf-install broken in that it will try to load
-# ;; packages we said we didn't need, like cl+ssl and its dependent cffi.
-# ;; Start sbcl by typing "sbcl" and run:
-# (require 'asdf-install)
-# (push :hunchentoot-no-ssl *features*) ;we have apache to do this
-# (asdf-install:install 'hunchentoot) ;here it will say package not trusted multiple times
-# (asdf-install:install 'cl-json)
-# (quit) ; exit the lisp server
-#
-# Also, need to fix error handling in usocket (See Bug #1614).
-# Broken in release 0.4.1 but fixed in development version.
-# Download svn (the actual fix is in r497) and install.
-install-usocket:
- svn co svn://common-lisp.net/project/usocket/svn/usocket/trunk usocket-svn
- rm -r -f /usr/local/lib/sbcl/site/usocket-*
- rm -r -f /usr/local/lib/sbcl/site-systems/usocket*
- mv usocket-svn /usr/local/lib/sbcl/site
- (cd /usr/local/lib/sbcl/site-systems; ln -s ../site/usocket*/*.asd .)
+sbclrc: quicklisp.lisp
+ cat sbclrc-sample >> ~/.sbclrc
+ echo "(pushnew #P\"`pwd`/\" asdf:*central-registry*)" >> ~/.sbclrc
+ sbcl --load quicklisp.lisp --eval "(ql:update-client)" --quit
+ cat sbclrc-sample-end >> ~/.sbclrc
+
+quicklisp.lisp:
+ wget -nc http://beta.quicklisp.org/quicklisp.lisp
-create-site-libraries:
- chmod go+xr /usr/local/lib/sbcl/site/md5*
- chmod -R go+r /usr/local/lib/sbcl/site/md5*
- -cd /usr/local/lib/sbcl/site; rm */*.fasl; rm */*/*.fasl
- -cd /usr/local/lib/sbcl/site; rm */*/*.so
- -cd /usr/local/lib/sbcl/site; rm */*/*.dylib
- tar cf sbcl-site-libraries.tar --directory=/usr/local/lib/sbcl/ site site-systems
+# A good version test is to see if sbcl is using ASDF version 2.
+update:
+ @sbcl --noinform --eval "(pprint #+asdf2 'asdf2 #-asdf2 0)" --quit | grep -i -o "asdf2" || (echo "Wrong version of sbcl: see INSTALL for installing new version." && test 0 -eq 1)
View
8 lisp-site-install/backend-parms.lisp-x86-1.0.36-patch
@@ -1,8 +0,0 @@
---- sbcl-1.0.36/src/compiler/x86/backend-parms.lisp-original 2010-03-03 16:28:44.000000000 -0700
-+++ sbcl-1.0.36/src/compiler/x86/backend-parms.lisp 2010-03-03 16:29:39.000000000 -0700
-@@ -47,4 +47,4 @@
-
- ;;; The size in bytes of the GENCGC pages. Should be a multiple of the
- ;;; architecture code size.
--(def!constant gencgc-page-bytes *backend-page-bytes*)
-+(def!constant gencgc-page-bytes (* 4 *backend-page-bytes*))
View
8 lisp-site-install/backend-parms.lisp-x86-1.0.55-patch
@@ -0,0 +1,8 @@
+--- sbcl-1.0.55/src/compiler/x86/backend-parms.lisp-original 2012-03-07 12:31:26.000000000 -0700
++++ sbcl-1.0.55/src/compiler/x86/backend-parms.lisp 2012-03-07 12:31:42.000000000 -0700
+@@ -56,4 +56,4 @@
+ (def!constant gencgc-alloc-granularity 0)
+ ;;; The minimum size at which we release address ranges to the OS.
+ ;;; This must be a multiple of the OS page size.
+-(def!constant gencgc-release-granularity *backend-page-bytes*)
++(def!constant gencgc-release-granularity (* 4 *backend-page-bytes*))
View
8 lisp-site-install/backend-parms.lisp-x86_64-1.0.36-patch
@@ -1,8 +0,0 @@
---- sbcl-1.0.36/src/compiler/x86-64/backend-parms.lisp-original 2010-03-10 14:09:29.000000000 -0700
-+++ sbcl-1.0.36/src/compiler/x86-64/backend-parms.lisp 2010-03-10 14:10:04.000000000 -0700
-@@ -37,4 +37,4 @@
-
- ;;; The size in bytes of the GENCGC pages. Should be a multiple of the
- ;;; architecture code size.
--(def!constant gencgc-page-bytes *backend-page-bytes*)
-+(def!constant gencgc-page-bytes (* 8 *backend-page-bytes*))
View
8 lisp-site-install/backend-parms.lisp-x86_64-1.0.55-patch
@@ -0,0 +1,8 @@
+--- sbcl-1.0.55/src/compiler/x86-64/backend-parms.lisp-original 2012-03-07 12:33:10.000000000 -0700
++++ sbcl-1.0.55/src/compiler/x86-64/backend-parms.lisp 2012-03-07 12:32:48.000000000 -0700
+@@ -46,4 +46,4 @@
+ (def!constant gencgc-alloc-granularity 0)
+ ;;; The minimum size at which we release address ranges to the OS.
+ ;;; This must be a multiple of the OS page size.
+-(def!constant gencgc-release-granularity *backend-page-bytes*)
++(def!constant gencgc-release-granularity (* 8 *backend-page-bytes*))
View
6 lisp-site-install/parms.lisp-1.0.36-patch → lisp-site-install/parms.lisp-1.0.55-patch
@@ -1,6 +1,6 @@
---- sbcl-1.0.36/src/compiler/generic/parms.lisp-original 2010-03-08 17:04:00.000000000 -0700
-+++ sbcl-1.0.36/src/compiler/generic/parms.lisp 2010-03-08 17:44:32.000000000 -0700
-@@ -83,8 +83,8 @@
+--- sbcl-1.0.55/src/compiler/generic/parms.lisp-original 2012-03-07 12:34:35.000000000 -0700
++++ sbcl-1.0.55/src/compiler/generic/parms.lisp 2012-03-07 12:35:04.000000000 -0700
+@@ -113,8 +113,8 @@
#!+gencgc
(progn
View
8 lisp-site-install/sb-introspect-1.0.37-patch → lisp-site-install/sb-introspect-1.0.55-patch
@@ -1,11 +1,11 @@
---- sbcl-1.0.37/contrib/sb-introspect/test-driver.lisp-original 2011-02-17 13:25:18.211876377 -0700
-+++ sbcl-1.0.37/contrib/sb-introspect/test-driver.lisp 2011-02-17 13:36:10.807215411 -0700
-@@ -289,7 +289,7 @@
+--- sbcl-1.0.55/contrib/sb-introspect/test-driver.lisp-original 2012-03-07 12:37:03.000000000 -0700
++++ sbcl-1.0.55/contrib/sb-introspect/test-driver.lisp 2012-03-07 12:37:26.000000000 -0700
+@@ -300,7 +300,7 @@
(tai #'cons :heap
;; FIXME: This is the canonical GENCGC result. On PPC we sometimes get
;; :LARGE T, which doesn't seem right -- but ignore that for now.
- '(:space :dynamic :generation 6 :write-protected t :boxed t :pinned nil :large nil)
+ `(:space :dynamic :generation ,sb-vm:+pseudo-static-generation+ :write-protected t :boxed t :pinned nil :large nil)
- :ignore #+ppc '(:large) #-ppc nil)
+ :ignore (list :page #+ppc :large))
#-gencgc
(tai :cons :heap
View
BIN  lisp-site-install/sbcl-site-libraries.tar
Binary file not shown
View
24 lisp-site-install/sbclrc-sample
@@ -1,29 +1,7 @@
;;;; -*- Lisp -*-
;;;; above sets emacs major mode to Lisp
;;;;
-;;;; initialization file for sbcl
+;;;; initialization file for Andes
;;;;
-;;; Muffle compiler-notes globally
-(declaim (sb-ext:muffle-conditions sb-ext:compiler-note))
(require :asdf) ; asdf is built-in
-
-;;;;
-;;;; load andes system
-;;;;
-
-(defun rkb ()
- "Reset the lists in KB and reload all files using asdf"
- (asdf:operate 'asdf:load-op 'problems))
-
-(defun rhelp ()
- "Load or reload help system using asdf"
- (asdf:operate 'asdf:load-op 'andes-help))
-
-;;;;
-;;;; Add andes path to the asdf search path
-;;;;
-
-;;;;
-;;;; load dashboard service code
-;;;;
View
14 lisp-site-install/sbclrc-sample-end
@@ -0,0 +1,14 @@
+
+;; This is later re-defined to reset ontology
+;; and reload everything.
+(defun rkb ()
+ "Reset the lists in KB and reload all files using asdf"
+ (ql:quickload 'problems))
+
+(defun rhelp ()
+ "Load or reload help system using asdf"
+ (ql:quickload 'andes-help))
+
+(defun r-lon-capa ()
+ "Load stuff for lon-capa"
+ (ql:quickload 'lon-capa))
Please sign in to comment.
Something went wrong with that request. Please try again.