Loading Makefile +18 −7 Original line number Diff line number Diff line system := "asdf" #user := $(shell basename `echo "$home"`) user := "frideau" webhome_private := $(user)@common-lisp.net:/project/asdf/public_html/ ifeq (${user},) userat := else userat := ${user}@ endif webhome_private := ${userat}common-lisp.net:/project/asdf/public_html/ webhome_public := "http://common-lisp.net/project/asdf/" clnet_home := "/project/asdf/public_html/" gpg := /home/fare/bin/dpkg-gpg sourceDirectory := $(shell pwd) lisps ?= ccl clisp sbcl ecl allegro abcl scl lisps ?= ccl clisp sbcl ecl abcl allegro scl ## not tested by me: allegromodern cmucl lispworks ## will pass tests but not return proper exit value: xcl 0.0.0.291 ## FAIL: gclcvs (condition handling) ## maybe supported by asdf, not supported yet by our tests: cormancl mcl genera Loading @@ -26,7 +31,7 @@ archive: archive-copy: archive git checkout release bin/rsync-cp tmp/asdf*.tar.gz $(webhome_private)/archives bin/link-tarball $(clnet_home) $(user) bin/link-tarball $(clnet_home) ${user} bin/rsync-cp tmp/asdf.lisp $(webhome_private) ${MAKE} push Loading Loading @@ -79,11 +84,13 @@ do-test: test: do-test test-forward-references test-all: test-forward-references test-upgrade do-test-all: @for lisp in ${lisps} ; do \ make do-test lisp=$$lisp || exit 1 ; \ done test-all: test-forward-references test-upgrade do-test-all debian-package: mrproper RELEASE="$$(git tag -l '2.0[0-9][0-9]' | tail -n 1)" ; \ git-buildpackage --git-debian-branch=release --git-upstream-branch=$$RELEASE --git-tag --git-retag --git-ignore-branch -sgpg -p${gpg} Loading @@ -107,9 +114,13 @@ fix-local-git-tags: fix-remote-git-tags: for i in ${WRONGFUL_TAGS} ; do git push $${REMOTE:-cl.net} :refs/tags/$$i ; done TODO: exit 2 release: TODO test-all test-on-other-machines-too debian-changelog debian-package send-mail-to-mailing-lists .PHONY: install archive archive-copy push website clean mrproper \ upgrade-test test-forward-references test do-test test-all \ debian-package \ upgrade-test test-forward-references test do-test test-all do-test-all \ debian-package release \ replace-sbcl-asdf replace-ccl-asdf \ fix-local-git-tags fix-remote-git-tags asdf-ecl.lisp +1 −1 Original line number Diff line number Diff line Loading @@ -320,7 +320,7 @@ (defclass compiled-file (component) ()) (defmethod component-relative-pathname ((component compiled-file)) (compile-file-pathname (merge-component-name-type (coerce-pathname (or (slot-value component 'relative-pathname) (component-name component)) :type "fas"))) Loading asdf.asd +2 −2 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ ;;; ;;; ;;; Free Software available under an MIT-style license. ;;; ;;; ;;; ;;; Copyright (c) 2001-2010 Daniel Barlow and contributors ;;; ;;; Copyright (c) 2001-2011 Daniel Barlow and contributors ;;; ;;; ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Loading @@ -12,7 +12,7 @@ :licence "MIT" :description "Another System Definition Facility" :long-description "ASDF builds Common Lisp software organized into defined systems." :version "2.014.1" ;; to be automatically updated by bin/bump-revision :version "2.014.2" ;; to be automatically updated by bin/bump-revision :depends-on () :components ((:file "asdf") Loading asdf.lisp +38 −30 Original line number Diff line number Diff line ;;; -*- mode: common-lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*- ;;; This is ASDF 2.014.1: Another System Definition Facility. ;;; This is ASDF 2.014.2: Another System Definition Facility. ;;; ;;; Feedback, bug reports, and patches are all welcome: ;;; please mail to <asdf-devel@common-lisp.net>. Loading @@ -19,7 +19,7 @@ ;;; http://www.opensource.org/licenses/mit-license.html on or about ;;; Monday; July 13, 2009) ;;; ;;; Copyright (c) 2001-2010 Daniel Barlow and contributors ;;; Copyright (c) 2001-2011 Daniel Barlow and contributors ;;; ;;; Permission is hereby granted, free of charge, to any person obtaining ;;; a copy of this software and associated documentation files (the Loading Loading @@ -99,7 +99,7 @@ ;; "2.345.6" would be a development version in the official upstream ;; "2.345.0.7" would be your seventh local modification of official release 2.345 ;; "2.345.6.7" would be your seventh local modification of development version 2.345.6 (asdf-version "2.014.1") (asdf-version "2.014.2") (existing-asdf (fboundp 'find-system)) (existing-version *asdf-version*) (already-there (equal asdf-version existing-version))) Loading Loading @@ -361,7 +361,7 @@ (defun asdf-version () "Exported interface to the version of ASDF currently installed. A string. You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSION) \"2.013\")." (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSION) \"2.345\")." *asdf-version*) (defvar *resolve-symlinks* t Loading Loading @@ -403,8 +403,9 @@ Note that ASDF ALWAYS raises an error if it fails to create an output file when `(defmacro ,def* (name formals &rest rest) `(progn #+(or ecl gcl) (fmakunbound ',name) ,(when (and #+ecl (symbolp name)) `(declaim (notinline ,name))) ; fails for setf functions on ecl #-gcl ; gcl 2.7.0 notinline functions lose secondary return values :-( ,(when (and #+ecl (symbolp name)) ; fails for setf functions on ecl `(declaim (notinline ,name))) (,',def ,name ,formals ,@rest))))) (defdef defgeneric* defgeneric) (defdef defun* defun)) Loading Loading @@ -622,7 +623,7 @@ pathnames." (defun* getenv (x) (declare (ignorable x)) #+(or abcl clisp) (ext:getenv x) #+(or abcl clisp xcl) (ext:getenv x) #+allegro (sys:getenv x) #+clozure (ccl:getenv x) #+(or cmu scl) (cdr (assoc x ext:*environment-list* :test #'string=)) Loading @@ -635,7 +636,7 @@ pathnames." (unless (ccl:%null-ptr-p value) (ccl:%get-cstring value)))) #+sbcl (sb-ext:posix-getenv x) #-(or abcl allegro clisp clozure cmu ecl gcl genera lispworks mcl sbcl scl) #-(or abcl allegro clisp clozure cmu ecl gcl genera lispworks mcl sbcl scl xcl) (error "getenv not available on your implementation")) (defun* directory-pathname-p (pathname) Loading Loading @@ -967,12 +968,12 @@ processed in order by OPERATE.")) (when *upgraded-p* (when (find-class 'module nil) (eval `(defmethod update-instance-for-redefined-class :after '(defmethod update-instance-for-redefined-class :after ((m module) added deleted plist &key) (declare (ignorable deleted plist)) (when (or *asdf-verbose* *load-verbose*) (asdf-message (compatfmt "~&~@<; ~@;Updating ~A for ASDF ~A~@:>~%") m ,(asdf-version))) m (asdf-version))) (when (member 'components-by-name added) (compute-module-components-by-name m)) (when (typep m 'system) Loading Loading @@ -1572,12 +1573,14 @@ Host, device and version components are taken from DEFAULTS." (values filename type)) (t (split-name-type filename))) (make-pathname :directory `(,relative ,@path) :name name :type type (make-pathname :directory (cons relative path) :name name :type type #-xcl #-xcl ;; 0.0.0.291 has a bug, behaves like merge-pathnames. :defaults (or defaults *default-pathname-defaults*))))))) (defun* merge-component-name-type (name &key type defaults) ;; For backwards compatibility only, for people using internals. ;; Will be removed in a future release, e.g. 2.014. ;; Will be removed in a future release, e.g. 2.016. (warn "Please don't use ASDF::MERGE-COMPONENT-NAME-TYPE. Use ASDF:COERCE-PATHNAME.") (coerce-pathname name :type type :defaults defaults)) (defmethod component-relative-pathname ((component component)) Loading Loading @@ -2591,7 +2594,10 @@ output to *VERBOSE-OUT*. Returns the shell's exit code." (list "-c" command) :input nil :output *verbose-out*)) #-(or abcl allegro clisp clozure cmu ecl gcl lispworks sbcl scl) #+xcl (ext:run-shell-command command) #-(or abcl allegro clisp clozure cmu ecl gcl lispworks sbcl scl xcl) (error "RUN-SHELL-COMMAND not implemented for this Lisp"))) ;;;; --------------------------------------------------------------------------- Loading Loading @@ -2644,7 +2650,7 @@ located." (:ccl :clozure) (:corman :cormanlisp) (:lw :lispworks) :clisp :cmu :ecl :gcl :sbcl :scl :symbolics)) :clisp :cmu :ecl :gcl :sbcl :scl :symbolics :xcl)) (defparameter *os-features* '((:win :windows :mswindows :win32 :mingw32) ;; shorten things on windows Loading Loading @@ -3519,28 +3525,30 @@ with a different configuration, so the configuration would be re-read then." (defun subdirectories (directory) (let* ((directory (ensure-directory-pathname directory)) #-(or cormanlisp genera) #-(or cormanlisp genera xcl) (wild (merge-pathnames* #-(or abcl allegro cmu lispworks scl) #-(or abcl allegro cmu lispworks scl xcl) *wild-directory* #+(or abcl allegro cmu lispworks scl) "*.*" #+(or abcl allegro cmu lispworks scl xcl) "*.*" directory)) (dirs #-(or cormanlisp genera) #-(or cormanlisp genera xcl) (ignore-errors (directory* wild . #.(or #+clozure '(:directories t :files nil) #+mcl '(:directories t)))) #+cormanlisp (cl::directory-subdirs directory) #+genera (fs:directory-list directory)) #+(or abcl allegro cmu genera lispworks scl) (dirs (remove-if-not #+abcl #'extensions:probe-directory #+allegro #'excl:probe-directory #+lispworks #'lw:file-directory-p #+genera #'(lambda (x) (getf (cdr x) :directory)) #-(or abcl allegro genera lispworks) #'directory-pathname-p dirs)) #+genera (dirs (mapcar #'(lambda (x) (ensure-directory-pathname (first x))) dirs))) #+genera (fs:directory-list directory) #+xcl (system:list-directory directory)) #+(or abcl allegro cmu genera lispworks scl xcl) (dirs (loop :for x :in dirs :for d = #+(or abcl xcl) (extensions:probe-directory x) #+allegro (excl:probe-directory x) #+(or cmu scl) (directory-pathname-p x) #+genera (getf (cdr x) :directory) #+lispworks (lw:file-directory-p x) :when d :collect #+(or abcl allegro xcl) d #+genera (ensure-directory-pathname (first x)) #+(or cmu lispworks scl) x))) dirs)) (defun collect-sub*directories (directory collectp recursep collector) Loading bin/link-tarball +13 −8 Original line number Diff line number Diff line #!/bin/sh if [ -z $1 ]; then if [ -n $1 ]; then clnet_home="$1" else echo "Remote directory must be specified." exit 1 exit 2 fi if [ -z $2 ]; then echo "Remote username must be specified." exit 1 if [ -n "$2" ]; then user="${2}@" else echo "Remote username not specified" echo "Assuming remote user is same as local" echo "and/or you configured your .ssh/config with:" echo "Host common-lisp.net" echo " User = foo" fi clnet_home="$1" user=$2 tarball=`ls tmp/asdf*.tar.gz` tarball=`basename $tarball` latest="asdf.tar.gz" echo "Link $tarball to $latest" ssh $user@common-lisp.net "rm -f $clnet_home$latest; \ ssh ${user}common-lisp.net "rm -f $clnet_home$latest; \ ln -s $clnet_home/archives/$tarball $clnet_home$latest" Loading
Makefile +18 −7 Original line number Diff line number Diff line system := "asdf" #user := $(shell basename `echo "$home"`) user := "frideau" webhome_private := $(user)@common-lisp.net:/project/asdf/public_html/ ifeq (${user},) userat := else userat := ${user}@ endif webhome_private := ${userat}common-lisp.net:/project/asdf/public_html/ webhome_public := "http://common-lisp.net/project/asdf/" clnet_home := "/project/asdf/public_html/" gpg := /home/fare/bin/dpkg-gpg sourceDirectory := $(shell pwd) lisps ?= ccl clisp sbcl ecl allegro abcl scl lisps ?= ccl clisp sbcl ecl abcl allegro scl ## not tested by me: allegromodern cmucl lispworks ## will pass tests but not return proper exit value: xcl 0.0.0.291 ## FAIL: gclcvs (condition handling) ## maybe supported by asdf, not supported yet by our tests: cormancl mcl genera Loading @@ -26,7 +31,7 @@ archive: archive-copy: archive git checkout release bin/rsync-cp tmp/asdf*.tar.gz $(webhome_private)/archives bin/link-tarball $(clnet_home) $(user) bin/link-tarball $(clnet_home) ${user} bin/rsync-cp tmp/asdf.lisp $(webhome_private) ${MAKE} push Loading Loading @@ -79,11 +84,13 @@ do-test: test: do-test test-forward-references test-all: test-forward-references test-upgrade do-test-all: @for lisp in ${lisps} ; do \ make do-test lisp=$$lisp || exit 1 ; \ done test-all: test-forward-references test-upgrade do-test-all debian-package: mrproper RELEASE="$$(git tag -l '2.0[0-9][0-9]' | tail -n 1)" ; \ git-buildpackage --git-debian-branch=release --git-upstream-branch=$$RELEASE --git-tag --git-retag --git-ignore-branch -sgpg -p${gpg} Loading @@ -107,9 +114,13 @@ fix-local-git-tags: fix-remote-git-tags: for i in ${WRONGFUL_TAGS} ; do git push $${REMOTE:-cl.net} :refs/tags/$$i ; done TODO: exit 2 release: TODO test-all test-on-other-machines-too debian-changelog debian-package send-mail-to-mailing-lists .PHONY: install archive archive-copy push website clean mrproper \ upgrade-test test-forward-references test do-test test-all \ debian-package \ upgrade-test test-forward-references test do-test test-all do-test-all \ debian-package release \ replace-sbcl-asdf replace-ccl-asdf \ fix-local-git-tags fix-remote-git-tags
asdf-ecl.lisp +1 −1 Original line number Diff line number Diff line Loading @@ -320,7 +320,7 @@ (defclass compiled-file (component) ()) (defmethod component-relative-pathname ((component compiled-file)) (compile-file-pathname (merge-component-name-type (coerce-pathname (or (slot-value component 'relative-pathname) (component-name component)) :type "fas"))) Loading
asdf.asd +2 −2 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ ;;; ;;; ;;; Free Software available under an MIT-style license. ;;; ;;; ;;; ;;; Copyright (c) 2001-2010 Daniel Barlow and contributors ;;; ;;; Copyright (c) 2001-2011 Daniel Barlow and contributors ;;; ;;; ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Loading @@ -12,7 +12,7 @@ :licence "MIT" :description "Another System Definition Facility" :long-description "ASDF builds Common Lisp software organized into defined systems." :version "2.014.1" ;; to be automatically updated by bin/bump-revision :version "2.014.2" ;; to be automatically updated by bin/bump-revision :depends-on () :components ((:file "asdf") Loading
asdf.lisp +38 −30 Original line number Diff line number Diff line ;;; -*- mode: common-lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*- ;;; This is ASDF 2.014.1: Another System Definition Facility. ;;; This is ASDF 2.014.2: Another System Definition Facility. ;;; ;;; Feedback, bug reports, and patches are all welcome: ;;; please mail to <asdf-devel@common-lisp.net>. Loading @@ -19,7 +19,7 @@ ;;; http://www.opensource.org/licenses/mit-license.html on or about ;;; Monday; July 13, 2009) ;;; ;;; Copyright (c) 2001-2010 Daniel Barlow and contributors ;;; Copyright (c) 2001-2011 Daniel Barlow and contributors ;;; ;;; Permission is hereby granted, free of charge, to any person obtaining ;;; a copy of this software and associated documentation files (the Loading Loading @@ -99,7 +99,7 @@ ;; "2.345.6" would be a development version in the official upstream ;; "2.345.0.7" would be your seventh local modification of official release 2.345 ;; "2.345.6.7" would be your seventh local modification of development version 2.345.6 (asdf-version "2.014.1") (asdf-version "2.014.2") (existing-asdf (fboundp 'find-system)) (existing-version *asdf-version*) (already-there (equal asdf-version existing-version))) Loading Loading @@ -361,7 +361,7 @@ (defun asdf-version () "Exported interface to the version of ASDF currently installed. A string. You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSION) \"2.013\")." (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSION) \"2.345\")." *asdf-version*) (defvar *resolve-symlinks* t Loading Loading @@ -403,8 +403,9 @@ Note that ASDF ALWAYS raises an error if it fails to create an output file when `(defmacro ,def* (name formals &rest rest) `(progn #+(or ecl gcl) (fmakunbound ',name) ,(when (and #+ecl (symbolp name)) `(declaim (notinline ,name))) ; fails for setf functions on ecl #-gcl ; gcl 2.7.0 notinline functions lose secondary return values :-( ,(when (and #+ecl (symbolp name)) ; fails for setf functions on ecl `(declaim (notinline ,name))) (,',def ,name ,formals ,@rest))))) (defdef defgeneric* defgeneric) (defdef defun* defun)) Loading Loading @@ -622,7 +623,7 @@ pathnames." (defun* getenv (x) (declare (ignorable x)) #+(or abcl clisp) (ext:getenv x) #+(or abcl clisp xcl) (ext:getenv x) #+allegro (sys:getenv x) #+clozure (ccl:getenv x) #+(or cmu scl) (cdr (assoc x ext:*environment-list* :test #'string=)) Loading @@ -635,7 +636,7 @@ pathnames." (unless (ccl:%null-ptr-p value) (ccl:%get-cstring value)))) #+sbcl (sb-ext:posix-getenv x) #-(or abcl allegro clisp clozure cmu ecl gcl genera lispworks mcl sbcl scl) #-(or abcl allegro clisp clozure cmu ecl gcl genera lispworks mcl sbcl scl xcl) (error "getenv not available on your implementation")) (defun* directory-pathname-p (pathname) Loading Loading @@ -967,12 +968,12 @@ processed in order by OPERATE.")) (when *upgraded-p* (when (find-class 'module nil) (eval `(defmethod update-instance-for-redefined-class :after '(defmethod update-instance-for-redefined-class :after ((m module) added deleted plist &key) (declare (ignorable deleted plist)) (when (or *asdf-verbose* *load-verbose*) (asdf-message (compatfmt "~&~@<; ~@;Updating ~A for ASDF ~A~@:>~%") m ,(asdf-version))) m (asdf-version))) (when (member 'components-by-name added) (compute-module-components-by-name m)) (when (typep m 'system) Loading Loading @@ -1572,12 +1573,14 @@ Host, device and version components are taken from DEFAULTS." (values filename type)) (t (split-name-type filename))) (make-pathname :directory `(,relative ,@path) :name name :type type (make-pathname :directory (cons relative path) :name name :type type #-xcl #-xcl ;; 0.0.0.291 has a bug, behaves like merge-pathnames. :defaults (or defaults *default-pathname-defaults*))))))) (defun* merge-component-name-type (name &key type defaults) ;; For backwards compatibility only, for people using internals. ;; Will be removed in a future release, e.g. 2.014. ;; Will be removed in a future release, e.g. 2.016. (warn "Please don't use ASDF::MERGE-COMPONENT-NAME-TYPE. Use ASDF:COERCE-PATHNAME.") (coerce-pathname name :type type :defaults defaults)) (defmethod component-relative-pathname ((component component)) Loading Loading @@ -2591,7 +2594,10 @@ output to *VERBOSE-OUT*. Returns the shell's exit code." (list "-c" command) :input nil :output *verbose-out*)) #-(or abcl allegro clisp clozure cmu ecl gcl lispworks sbcl scl) #+xcl (ext:run-shell-command command) #-(or abcl allegro clisp clozure cmu ecl gcl lispworks sbcl scl xcl) (error "RUN-SHELL-COMMAND not implemented for this Lisp"))) ;;;; --------------------------------------------------------------------------- Loading Loading @@ -2644,7 +2650,7 @@ located." (:ccl :clozure) (:corman :cormanlisp) (:lw :lispworks) :clisp :cmu :ecl :gcl :sbcl :scl :symbolics)) :clisp :cmu :ecl :gcl :sbcl :scl :symbolics :xcl)) (defparameter *os-features* '((:win :windows :mswindows :win32 :mingw32) ;; shorten things on windows Loading Loading @@ -3519,28 +3525,30 @@ with a different configuration, so the configuration would be re-read then." (defun subdirectories (directory) (let* ((directory (ensure-directory-pathname directory)) #-(or cormanlisp genera) #-(or cormanlisp genera xcl) (wild (merge-pathnames* #-(or abcl allegro cmu lispworks scl) #-(or abcl allegro cmu lispworks scl xcl) *wild-directory* #+(or abcl allegro cmu lispworks scl) "*.*" #+(or abcl allegro cmu lispworks scl xcl) "*.*" directory)) (dirs #-(or cormanlisp genera) #-(or cormanlisp genera xcl) (ignore-errors (directory* wild . #.(or #+clozure '(:directories t :files nil) #+mcl '(:directories t)))) #+cormanlisp (cl::directory-subdirs directory) #+genera (fs:directory-list directory)) #+(or abcl allegro cmu genera lispworks scl) (dirs (remove-if-not #+abcl #'extensions:probe-directory #+allegro #'excl:probe-directory #+lispworks #'lw:file-directory-p #+genera #'(lambda (x) (getf (cdr x) :directory)) #-(or abcl allegro genera lispworks) #'directory-pathname-p dirs)) #+genera (dirs (mapcar #'(lambda (x) (ensure-directory-pathname (first x))) dirs))) #+genera (fs:directory-list directory) #+xcl (system:list-directory directory)) #+(or abcl allegro cmu genera lispworks scl xcl) (dirs (loop :for x :in dirs :for d = #+(or abcl xcl) (extensions:probe-directory x) #+allegro (excl:probe-directory x) #+(or cmu scl) (directory-pathname-p x) #+genera (getf (cdr x) :directory) #+lispworks (lw:file-directory-p x) :when d :collect #+(or abcl allegro xcl) d #+genera (ensure-directory-pathname (first x)) #+(or cmu lispworks scl) x))) dirs)) (defun collect-sub*directories (directory collectp recursep collector) Loading
bin/link-tarball +13 −8 Original line number Diff line number Diff line #!/bin/sh if [ -z $1 ]; then if [ -n $1 ]; then clnet_home="$1" else echo "Remote directory must be specified." exit 1 exit 2 fi if [ -z $2 ]; then echo "Remote username must be specified." exit 1 if [ -n "$2" ]; then user="${2}@" else echo "Remote username not specified" echo "Assuming remote user is same as local" echo "and/or you configured your .ssh/config with:" echo "Host common-lisp.net" echo " User = foo" fi clnet_home="$1" user=$2 tarball=`ls tmp/asdf*.tar.gz` tarball=`basename $tarball` latest="asdf.tar.gz" echo "Link $tarball to $latest" ssh $user@common-lisp.net "rm -f $clnet_home$latest; \ ssh ${user}common-lisp.net "rm -f $clnet_home$latest; \ ln -s $clnet_home/archives/$tarball $clnet_home$latest"