Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Hugo Ishimaru
asdf
Commits
cb6f39dc
Commit
cb6f39dc
authored
May 19, 2014
by
Robert P. Goldman
Browse files
Merge branch 'master' of
ssh://common-lisp.net/project/asdf/public_html/asdf
Required mild tweaks to debian/copyright
parents
5777a816
64bd3c70
Changes
30
Hide whitespace changes
Inline
Side-by-side
Makefile
View file @
cb6f39dc
...
...
@@ -200,13 +200,11 @@ extract-all-tagged-asdf: build/asdf.lisp
# Note that the debian git at git://git.debian.org/git/pkg-common-lisp/cl-asdf.git is stale,
# as we currently build directly from upstream at git://common-lisp.net/projects/asdf/asdf.git
debian-package
:
mrproper
:
$
${
RELEASE
:
=
"
$$
(git tag -l '3.[0-9].[0-9]' | tail -n 1)"
}
;
echo
building package version
$$
RELEASE
;
\
git-buildpackage
--git-debian-branch
=
release
--git-upstream-branch
=
release
--git-upstream-tag
=
$$
RELEASE
--git-tag
--git-retag
--git-ignore-branch
debian-package
:
./bin/asdf-builder debian-package release
debian-package-from-master
:
mrproper
:
$
${
RELEASE
:
=
"
$$
(git tag -l '3.[0-9].[0-9]' | tail -n 1)"
}
;
echo
building package version
$$
RELEASE
;
\
git-buildpackage
--git-debian-branch
=
master
--git-upstream-branch
=
master
--git-upstream-tag
=
$$
RELEASE
--git-tag
--git-retag
--git-ignore-branch
debian-package-from-master
:
./bin/asdf-builder debian-package master
# Replace SBCL's ASDF with the current one. -- NOT recommended now that SBCL has ASDF2.
...
...
TODO
View file @
cb6f39dc
...
...
@@ -5,7 +5,7 @@
(as provided by the first 2011 iteration of Quicklisp), and
I (fare) am pushing for swank-asdf to not support anything older
than 2.019 (still used by LispWorks 6.1).
Hopefully, sometime in 2014, everyone will have adopted ASDF 3, or even 3.1.
1
.
Hopefully, sometime in 2014, everyone will have adopted ASDF 3
.0.1
, or even 3.1.
2
.
Maybe remove old versions from upgrade tests; or maybe not:
if we support old versions in any way,
it should be for upgrade only, and "punt" is acceptable.
...
...
asdf.asd
View file @
cb6f39dc
...
...
@@ -75,7 +75,7 @@
:licence
"MIT"
:description
"Another System Definition Facility"
:long-description
"ASDF builds Common Lisp software organized into defined systems."
:version
"3.1.2"
;; to be automatically updated by make bump-version
:version
"3.1.2
.4
"
;; to be automatically updated by make bump-version
:depends-on
()
#+
asdf3
:encoding
#+
asdf3
:utf-8
:class
#.
(
if
(
find-class
'package-inferred-system
nil
)
'package-inferred-system
'system
)
...
...
bin/asdf-builder
View file @
cb6f39dc
...
...
@@ -8,7 +8,7 @@
;;;
;;; Everything is MUCH simpler if you can assume your implementation has a recent-enough ASDF 3:
;;; just (require "asdf"), then configure in a subsequent eval-when form,
;;;
so that
you may use asdf: and uiop: prefix.
;;;
in which
you may
then
use asdf: and uiop: prefix.
;;;
;;; To use the user-configured ASDF rather than a deterministic self-contained project build,
;;; see instead how cl-launch 4.0.4 loads ASDF.
...
...
@@ -146,29 +146,23 @@
(ensure-pathname (system-relative-pathname :asdf/defsystem ())
:want-physical t :want-absolute t
:want-existing t :truename t))
(defparameter /asdf-dir/
(native-namestring *asdf-dir*))
(defun apath (x &rest keys) (apply 'subpathname *asdf-dir* x keys))
(defun pn (&rest x)
(subpathname *asdf-dir* (and x (uiop:resolve-relative-location x))))
(defun nn (&rest x)
(native-namestring (apply 'pn x)))
;;; UIOP directory
(defvar *uiop-dir* (subpathname *asdf-dir* "uiop/"))
(defparameter /uiop-dir/ (native-namestring *uiop-dir*))
(defun upath (x &rest keys) (apply 'subpathname *uiop-dir* x keys))
(defvar *uiop-dir* (pn "uiop/"))
;;; build directory
(defparameter *build-dir*
(ensure-pathname
"build/" :defaults *asdf-dir*
:want-relative t :ensure-absolute t
:ensure-subpath t))
(defparameter /build-dir/
(native-namestring *build-dir*))
(defparameter *build-dir* (pn "build/"))
(defparameter /build-dir/ (nn "build/"))
(defun bpath (x &rest keys) (apply 'subpathname *build-dir* x keys))
(defparameter *version*
(safe-read-file-form
(subpathname *asdf-dir* "version.lisp-expr")))
(defparameter *version-file*
(pn "version.lisp-expr"))
(defparameter *version* (safe-read-file-form *version-file*))
(defun enough-namestring! (base pathname)
(let ((e (enough-namestring base pathname)))
...
...
@@ -201,40 +195,32 @@
(ensure-pathname base :want-absolute t :want-existing t :want-directory t)
(dolist (f files)
(check-type f string))
(let* ((/base/
(native-namestring
(ensure-pathname
base
:want-absolute t :want-directory t
:want-existing t :truename t)))
(let* ((base
(ensure-pathname
base
:want-absolute t :want-directory t
:want-existing t :truename t))
(destination
(ensure-pathname
name
:defaults *build-dir*
:want-relative t :ensure-absolute t
:ensure-subpath t :ensure-directory t))
(/destination/
(native-namestring destination))
(/tarball/
(native-namestring
(ensure-pathname
(tarname name)
:defaults *build-dir*
:want-relative t :ensure-absolute t
:ensure-subpath t :want-file t
:ensure-directories-exist t)))
(/files/
(mapcar 'native-namestring files)))
(tarball
(ensure-pathname
(tarname name)
:defaults *build-dir*
:want-relative t :ensure-absolute t
:ensure-subpath t :want-file t
:ensure-directories-exist t)))
(assert (< 6 (length (pathname-directory destination))))
(when (probe-file* destination)
(error "Destination ~S already exists, not taking chances - you can delete it yourself."
destination))
(ensure-directories-exist destination)
(run (format nil "cd ~S && cp -pHux --parents ~{~S ~} ~S"
/base/ /files/ /destination/) :show t)
(run (format nil "tar zcfC ~S ~S ~S/"
/tarball/ /build-dir/ name) :show t)
(delete-directory-tree destination :validate (lambda (x) (equal (native-namestring x) /destination/)))
(run `(cp "-pHux" --parents ,@files ,destination) :directory base :show t)
(run `(tar "zcfC" ,tarball ,*build-dir* (,name /)) :show t)
(delete-directory-tree destination :validate (lambda (x) (equal x destination)))
(values)))
(defun driver-files ()
...
...
@@ -254,11 +240,12 @@
(make-tarball-under-build (asdf-defsystem-name) *asdf-dir* (asdf-defsystem-files)))
(defun asdf-git-name ()
(
format nil
"asdf-
~A
" *version*))
(
strcat
"asdf-" *version*))
(defun make-git-tarball ()
(build-asdf)
(run (format nil "cd ~S && tar zcf build/~A.tar.gz build/asdf.lisp $(git ls-files)"
/asdf-dir/ (asdf-git-name)) :show t)
(with-current-directory ((pn))
(run `(tar zcf ("build/" ,(asdf-git-name) ".tar.gz") build/asdf.lisp ,@(run/lines '(git ls-files)))
(asdf-git-name)) :show t)
(values))
(defun asdf-lisp-name ()
...
...
@@ -266,8 +253,8 @@
(defun make-asdf-lisp ()
(build-asdf)
(concatenate-files (list (
apath
"build/asdf.lisp"))
(
bpath
(asdf-lisp-name))))
(concatenate-files (list (
pn
"build/asdf.lisp"))
(
pn "build/"
(asdf-lisp-name))))
(defun make-archive ()
(make-driver-tarball)
...
...
@@ -278,6 +265,7 @@
(defvar *clnet* "common-lisp.net")
(defvar *clnet-asdf-public* "/project/asdf/public_html/")
(defun public-path (x) (strcat *clnet-asdf-public* x))
(defun publish-archive ()
(let ((tarballs (mapcar 'tarname (list (driver-name) (asdf-defsystem-name) (asdf-git-name)))))
...
...
@@ -291,13 +279,13 @@
(defun link-archive ()
(run (format nil "ln -sf ~S ~S ; ln -sf ~S ~S ; ln -sf ~S ~S ; ln -sf ~S ~S"
(tarname (driver-name))
(
strcat *clnet-asdf-
public
*
"archives/uiop.tar.gz")
(public
-path
"archives/uiop.tar.gz")
(tarname (asdf-defsystem-name))
(
strcat *clnet-asdf-
public
*
"archives/asdf-defsystem.tar.gz")
(public
-path
"archives/asdf-defsystem.tar.gz")
(tarname (asdf-git-name))
(
strcat *clnet-asdf-
public
*
"archives/asdf.tar.gz")
(public
-path
"archives/asdf.tar.gz")
(asdf-lisp-name)
(
strcat *clnet-asdf-
public
*
"archives/asdf.lisp"))
(public
-path
"archives/asdf.lisp"))
:show t :host *clnet*)
(values))
...
...
@@ -312,9 +300,6 @@
("header.lisp" "This is ASDF " ": Another System Definition Facility.")
("upgrade.lisp" " (asdf-version \"" "\")")))
(defparameter *version-file*
(apath "version.lisp-expr"))
(defparameter *old-version* nil)
(defparameter *new-version* nil)
...
...
@@ -376,13 +361,13 @@
(values new-text foundp)))))
(defun transform-file (new-version file prefix suffix)
(maybe-replace-file (
apath
file) (version-transformer new-version file prefix suffix)))
(maybe-replace-file (
pn
file) (version-transformer new-version file prefix suffix)))
(defun transform-files (new-version)
(loop :for f :in *versioned-files* :do (apply 'transform-file new-version f)))
(defun test-transform-file (new-version file prefix suffix)
(let ((lines (read-file-lines (
apath
file))))
(let ((lines (read-file-lines (
pn
file))))
(dolist (l lines (progn (warn "Couldn't find a match in ~A" file) nil))
(multiple-value-bind (new-text foundp)
(funcall (version-transformer new-version file prefix suffix t) l)
...
...
@@ -402,9 +387,53 @@
(a "Rebuilding ASDF with bumped version")
(build-asdf)))
(defun git-version ()
(first (run/lines '("git" "describe" "--tags" "--match" "[0-9].[0-9][0-9]") :show t)))
(defparameter *version-tag-glob* "[0-9][.][0-9]*")
(defun version-from-tag (&optional commit)
(first (run/lines `("git" "describe" "--tags" "--match" ,*version-tag-glob*) :show t)))
(defun version-from-file (&optional commit)
(if commit
(run `("git" "show" (,commit":version.lisp-expr")) :output :form)
(read-file-form *version-file*)))
(defun debian-version-from-file (&optional commit)
(let ((line
(if commit
(run `("git" "show" (,commit":debian/changelog")) :output :line)
(read-file-line "debian/changelog"))))
(cl-ppcre:register-groups-bind (ver) ("^cl-asdf [(]([0-9.:-]+)[)] " line)
ver)))
(defun clean ()
(with-current-directory ((pn))
(run '(git clean -xfd)))
(values))
(defun debian-package (&optional (release "release"))
(let* ((debian-version (debian-version-from-file release))
(version (version-from-file release)))
(unless (cl-ppcre:register-groups-bind (x epoch ver rel)
("^(([0-9]+):)?([0-9.]+)-([0-9]+)$" debian-version)
(declare (ignorable x epoch rel))
(equal ver version))
(error "Debian version ~A doesn't match asdf version ~A" debian-version version))
(clean)
(format t "building package version ~A~%" (debian-version-from-file))
(run `(git-buildpackage
;; --git-ignore-new ;; for testing purpose
(--git-debian-branch= ,release)
(--git-upstream-tag="%(version)s")
;;--git-upstream-tree=tag ;; if the changelog says 3.1.2, looks at that tag
;;(--git-upstream-branch= ,version) ;; if the changelog says 3.1.2, looks at that tag
--git-tag --git-retag
;; --git-no-pristine-tar
--git-force-create
--git-ignore-branch)
:directory (pn) :show t)))
(defun re (arg)
(eval (read-from-string arg)))
;;;; Main entry point
(defun main (args)
...
...
build.xcvb
View file @
cb6f39dc
...
...
@@ -5,6 +5,29 @@
:licence "MIT" ;; MIT-style license. See asdf.lisp
:description "ASDF"
:long-description "Another System Definition Facility."
:depends-on ("
asdf
")
:
build-
depends-on ("
/uiop
")
:supersedes-asdf ("asdf")
:build-image nil))
:build-image nil
:depends-on
("upgrade"
"component"
"system"
"cache"
"find-system"
"find-component"
"operation"
"action"
"lisp-action"
"plan"
"operate"
"output-translations"
"source-registry"
"backward-internals"
"parse-defsystem"
"bundle"
"concatenate-source"
"backward-interface"
"package-inferred-system"
"interface"
"user"
"footer")))
bundle.lisp
View file @
cb6f39dc
...
...
@@ -529,7 +529,7 @@ To continue, push :asdf-use-unsafe-mac-bundle-op onto *FEATURES*.~%~T~
Please report to ASDF-DEVEL if this works for you."
)))
;;; Backward compatibility with pre-3.1.
1
names
;;; Backward compatibility with pre-3.1.
2
names
(
defclass
fasl-op
(
selfward-operation
)
((
selfward-operation
:initform
'compile-bundle-op
:allocation
:class
)))
(
defclass
load-fasl-op
(
selfward-operation
)
...
...
contrib/detect-multiply-used-files.lisp
View file @
cb6f39dc
...
...
@@ -26,5 +26,6 @@
:do
(
format
t
"~&~S =>~{ ~S~}~%"
p
l
)))
#| ;; Use it like that:
(asdf:load-systems system1 system2 ...)
(detect-multiply-used-files:find-fishy-components)
|#
debian/control
View file @
cb6f39dc
...
...
@@ -10,7 +10,7 @@ Uploaders: Peter Van Eynde <pvaneynd@debian.org>,
Robert P. Goldman <rpgoldman@sift.info>
Build-Depends: debhelper (>> 7)
Build-Depends-Indep: texinfo, texlive-extra-utils, texlive, texlive-generic-recommended
Standards-Version: 3.9.
4
Standards-Version: 3.9.
5
Homepage: http://common-lisp.net/project/asdf/
Vcs-Git: git://common-lisp.net/projects/asdf/asdf.git
...
...
debian/copyright
View file @
cb6f39dc
This package was debianized by Robert P. Goldman <rpgoldman@sift.net> in May
2014.
The source is available using git from common-lisp.net:
git clone git://common-lisp.net/projects/asdf/asdf.git
The package should conform
This package was initially debianized by Kevin M. Rosenberg <kmr@debian.org> on
Fri, 16 Aug 2002 23:14:49 -0600.
Peter Van Eynde took over in 2005. Then from 2010 to 2014, Francois-Rene Rideau
maintained the debian package as part of the upstream git repository at
git://common-lisp.net/projects/asdf/asdf.git
The debian related changes and files are licensed according to the GPL-v2, see
/usr/share/common-licenses/GPL-2
Upstream Authors: Dan Barlow <dan@telent.net>, Francois-Rene Rideau
(fare@tunes.org), Robert P. Goldman (rpgoldman@sift.net) & Contributors.
The original Debian packaging was done by Kevin M. Rosenberg <kmr@debian.org>,
in 2002.
Copyright:
(This is the MIT / X Consortium license as taken from
http://www.opensource.org/licenses/mit-license.html)
http://www.opensource.org/licenses/mit-license.html on or about
Monday; July 13, 2009)
Copyright (c) 2001-2014 Daniel Barlow, Francois-Rene Rideau, Robert P. Goldman,
and contributors
...
...
@@ -41,4 +37,3 @@ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
debian/rules
View file @
cb6f39dc
...
...
@@ -30,7 +30,6 @@ binary-indep: build
dh_testdir -i
dh_testroot -i
dh_prep -i
chmod +x test/run-tests.sh
dh_installdirs -i
dh_install -i
#dh_lisp -i
...
...
debian/watch
View file @
cb6f39dc
...
...
@@ -2,4 +2,4 @@
# I can maintain the debian package directly in the upstream git.
# But when I'm gone, anything goes.
version=3
http://common-lisp
\
.net/project/asdf/archives/asdf-([0-9]+
(\.[0-9]+)*
)\.tar\.gz
http://common-lisp.net/project/asdf/archives/
asdf-([0-9
.
]+)\.tar\.gz
doc/Makefile
View file @
cb6f39dc
...
...
@@ -8,7 +8,7 @@ website:=${userat}common-lisp.net:/project/asdf/public_html/
output
=
asdf.html asdf asdf.pdf asdf.info
webfiles
=
index.html .htaccess style.css cclan.png lisp-logo120x80.png favicon.ico
${output}
intermediate
=
asdf.cps asdf.log asdf.vr asdf.aux asdf.fn asdf.toc asdf.vrs
\
asdf.cp asdf.fns asdf.ky asdf.pg asdf.tp
asdf.cp asdf.fns asdf.ky asdf.pg asdf.tp
asdf.tps
all
:
asdf.html asdf.info asdf.pdf manual-html
...
...
doc/asdf-manual-marked-up.pdf
deleted
100644 → 0
View file @
5777a816
File deleted
doc/asdf.texinfo
View file @
cb6f39dc
...
...
@@ -310,7 +310,7 @@ If you want to download software from version control instead of tarballs,
so you may more easily modify it, we recommend clbuild (@uref
{
http://common-lisp.net/project/clbuild/
}
).
We recommend @file
{
~/common-lisp/
}
as a place into which to install Common Lisp software;
starting with ASDF 3.1.
1
, it is included in the default source-registry configuration.
starting with ASDF 3.1.
2
, it is included in the default source-registry configuration.
@node Quick start summary, Loading ASDF, Introduction, Top
@chapter Quick start summary
...
...
@@ -331,7 +331,7 @@ Make sure ASDF can find system definitions
through proper source-registry configuration.
For more details, @xref
{
Configuring ASDF to find your systems
}
.
The simplest way is simply to put all your lisp code in subdirectories of
@file
{
~/common-lisp/
}
(starting with ASDF 3.1.
1
),
@file
{
~/common-lisp/
}
(starting with ASDF 3.1.
2
),
or @file
{
~/.local/share/common-lisp/source/
}
(for ASDF 2 and later, or if you want to keep source in a hidden directory).
Such code will automatically be found.
...
...
@@ -655,7 +655,7 @@ of
If you install software there, you don't need further
configuration.@footnote
{
@file
{
~/common-lisp/
}
is only included in
the default configuration
starting with ASDF 3.1.
1
or later.
}
starting with ASDF 3.1.
2
or later.
}
@item
If you're using some tool to install software (e.g. Quicklisp),
...
...
@@ -1728,7 +1728,7 @@ of output from ASDF operations.
@node The package-inferred-system extension, , Other code in .asd files, Defining systems with defsystem
@section The package-inferred-system extension
Starting with release 3.1.
1
,
Starting with release 3.1.
2
,
ASDF supports a one-package-per-file style of programming,
whereby each file is its own system,
and dependencies are deduced from the @code
{
defpackage
}
form
...
...
@@ -1783,7 +1783,7 @@ In the code above, the
@code
{
:defsystem-depends-on (:asdf-package-system)
}
is
for compatibility with older versions of ASDF 3 (ASDF 2 is not supported),
and requires the @code
{
asdf-package-system
}
library to be present
(it is implicitly provided by ASDF starting with release 3.1.
1
,
(it is implicitly provided by ASDF starting with release 3.1.
2
,
which can be detected with the feature @code
{
:asdf3.1
}
).
The function @code
{
register-system-packages
}
has to be called to register
...
...
@@ -1969,13 +1969,13 @@ If @var{force-not} is @code{:all}, then all systems
are forced not to be recompiled even if modified since last compilation.
If @var
{
force-not
}
is @code
{
t
}
, then all systems but the system being loaded
are forced not to be recompiled even if modified since last compilation
(note: this was changed in ASDF 3.1.
1
).
(note: this was changed in ASDF 3.1.
2
).
If @var
{
force-not
}
is a list, then it specifies a list of systems that
are forced not to be recompiled even if modified since last compilation.
Both @var
{
force
}
and @var
{
force-not
}
apply to systems that are dependencies and were already compiled.
@var
{
force-not
}
takes precedences over @var
{
force
}
,
as it should, really, but unhappily only since ASDF 3.1.
1
.
as it should, really, but unhappily only since ASDF 3.1.
2
.
Moreover, systems the name of which is member of the set @var
{
*immutable-systems*
}
(represented as an equal hash-table) are always considered @var
{
forced-not
}
, and
even their @file
{
.asd
}
is not refreshed from the filesystem.
...
...
@@ -2903,7 +2903,7 @@ if it exists.
@item
The source registry will be configured from
default user configuration trees
@file
{
~/common-lisp/
}
(since ASDF 3.1.
1
only),
@file
{
~/common-lisp/
}
(since ASDF 3.1.
2
only),
@file
{
~/.sbcl/systems/
}
(on SBCL only),
@file
{$
XDG
_
DATA
_
HOME
/
common
-
lisp
/
systems
/
}
(
no recursion, link farm
)
@file
{$
XDG
_
DATA
_
HOME/common-lisp/source/
}
.
...
...
@@ -4632,7 +4632,7 @@ we recommend you upgrade to ASDF 3
ASDF 2.27, released on Feb 1st 2013, and further 2.x releases up to 2.33,
count as pre-releases of ASDF 3, and define the @code
{
:asdf3
}
feature;
still, please use the latest release).
Release ASDF 3.1.
1
and later also define the @code
{
:asdf3.1
}
feature.
Release ASDF 3.1.
2
and later also define the @code
{
:asdf3.1
}
feature.
@menu
...
...
@@ -4674,7 +4674,7 @@ Releases starting with ASDF 2
push @code
{
:asdf2
}
onto @code
{
*features*
}
.
Releases starting with ASDF 3 (including 2.27 and later pre-releases)
push @code
{
:asdf3
}
onto @code
{
*features*
}
.
Furthermore, releases starting with ASDF 3.1.
1
(
April
2014),
Furthermore, releases starting with ASDF 3.1.
2
(
May
2014),
though they count as ASDF 3, include enough progress that they
push @code
{
:asdf3.1
}
onto @code
{
*features*
}
.
You may depend on the presence or absence of these features
...
...
doc/index.html
View file @
cb6f39dc
...
...
@@ -36,9 +36,10 @@
<p>
ASDF 3 is the current successor to Daniel Barlow's ASDF.
It was rewritten for improved portability, robustness, usability,
extensibility, configurability, internal consistency,
and the ability to
create
standalone executables.
and the ability to
deliver
standalone executables.
It was pre-released as 2.27 on February 1st 2013,
released as 3.0.0 on May 15th 2013, with further stable releases since.
released as 3.0.0 on May 15th 2013,
and again as 3.1.2 on May 6th 2014.
</p>
<a
id=
"what_it_is"
></a>
<h3>
What it is
</h3>
...
...
@@ -210,22 +211,23 @@
(ASDF 3 does that automatically).
</p>
<!-- Note to self:
The maintainers of the following implementations follow asdf-announce:
clisp (sds)
asdf-announce may have been a casualty of some recent mailing-list reorganization. Check.
sds, maintainer of CLISP, used to listen to it.
The maintainers of the following implementations require direct notification:
abcl
ccl cmu
cl gcl lispworks
sb
cl
mk
cl scl xcl
abcl
allegro ccl clisp cmucl e
cl gcl lispworks
mk
cl
sb
cl scl xcl
Armed Bear <armedbear-devel@common-lisp.net>,
openmcl-devel@clozure.com,
cmucl-imp@cmucl.cons.org,
gcl-devel@gnu.org,
lisp-support@lispworks.com,
bugs@franz.com, (allegro)
ecls-list@lists.sourceforge.net
SBCL Devel-list <sbcl-devel@lists.sourceforge.net>,
Jean-Claude Beaudoin <jean.claude.beaudoin@gmail.com>, (MKCL)
Douglas Crosher <dtc3@scieneer.com>, (Scieneer CL)
Peter Graves <gnooth@gmail.com> (XCL).
Allegro <bugs@franz.com>,
Clozure CL <openmcl-devel@clozure.com>,
GNU CLISP <clisp-list@lists.sourceforge.net> (sds)
CMU CL <cmucl-imp@cmucl.cons.org>,
ECL <ecls-list@lists.sourceforge.net>,
GCL <gcl-devel@gnu.org>,
LispWorks <lisp-support@lispworks.com>,
MKCL <jean.claude.beaudoin@gmail.com>,
SBCL <sbcl-devel@lists.sourceforge.net>,
Scieneer CL (Douglas Crosher) <dtc3@scieneer.com>,
XCL (Peter Graves) <gnooth@gmail.com>
-->
<p>
If there is an old or new implementation that we are missing,
...
...
@@ -252,7 +254,7 @@ Peter Graves <gnooth@gmail.com> (XCL).
and the work we did on ASDF 3,
see the extended version (26 pages) of our paper
<cite><a
href=
"http://fare.tunes.org/files/asdf3/asdf3-2014.html"
>
ASDF3, or Why Lisp is Now an Acceptable Scripting Language
</a></cite>
>
ASDF
3, or Why Lisp is Now an Acceptable Scripting Language
</a></cite>
(
<a
href=
"http://fare.tunes.org/files/asdf3/asdf3-2014.pdf"
>
PDF
</a>
,
<a
href=
"http://github.com/fare/asdf3-2013"
>
git
</a>
).
The shorter version (8 pages), submitted to
...
...
@@ -262,7 +264,7 @@ Peter Graves <gnooth@gmail.com> (XCL).
<a
href=
"http://fare.tunes.org/files/asdf3/asdf3-2014.html"
>
HTML
</a>
).
Regarding ASDF 3, see also the slides of the
<a
href=
"https://github.com/fare/asdf3-2013/blob/master/els-slides.org"
>
ASDF3 tutorial
</a>
presented at ELS 2013,
>
ASDF
3 tutorial
</a>
presented at ELS 2013,
and for an introduction to the source code, this video:
<a
href=
"https://www.youtube.com/watch?v=Qqqbc31ZZ-U"
>
ASDF 3.1 walkthrough
</a>
.
For more details about our work on ASDF 2,
...
...
@@ -417,20 +419,15 @@ Peter Graves <gnooth@gmail.com> (XCL).
<a
id=
"news"
></a>
<h3>
What is happening
</h3>
<dl>
<dt>
May 2014
</dt>
<dd>
Version 3.1.2 of ASDF 3 has been released.
In addition to many significant improvements and bug fixes,
it notably sports the
<tt>
package-inferred-system
</tt>
extension.
</dd>
<dt>
October 2013
</dt>
<dd>
Version 3.0.3 of ASDF 3 has been released.
It contains many bug fixes, including notably better Windows support.
</dd>
<dt>
Since July 2013
</dt>
<dt>
July 2013 to May 2014
</dt>
<dd>
Fran
ç
ois-Ren
é
Rideau has resigned as maintainer
after releasing ASDF 3.0.1,
but remain
s
an active developer.
but remain
ed
an active developer.
Robert P. Goldman is interim maintainer until someone more gifted,
charming, dedicated, and better-looking can be secured to fill the role.
ASDF 3.0.2 was released in July 2013, 3.0.3 in October 2013, and 3.1.2 in May 2014.
In addition to significant improvements and bug fixes,
notably better Windows support,
ASDF 3.1.2 notably sports the
<tt>
package-inferred-system
</tt>
extension.
</dd>
<dt>
November 2012 to June 2013
</dt>
<dd>
...
...
@@ -470,7 +467,7 @@ Peter Graves <gnooth@gmail.com> (XCL).
<dd>
Christophe Rhodes is de facto maintainer,
with notable contributions from
Nikodemus Siivola, Peter Van Eynde, Edi Weitz, Kevin Rosenberg.
The system made more robust, a few more features.
The system made
slightly
more robust, a few more features.
Last version: 1.97.
</dd>
<dt>
August 2001 to May 2004
</dt>
...
...
@@ -487,7 +484,7 @@ Peter Graves <gnooth@gmail.com> (XCL).
<a
class=
"nav"
href=
"http://common-lisp.net/"
title=
"Common-Lisp.net"
>
<img
src=
"http://common-lisp.net/project/cl-containers/shared/buttons/lisp-lizard.png"
width=
"80"
height=
"15"
title=
"Common-Lisp.net"
alt=
"Common-Lisp.net button"
/></a>
<p><span
class=
"copyright"
Copyright
&
copy
;
2001
-2014
Daniel
Barlow
and
contributors
</
span
></p>
<p>
ASDF has an
<a
href=
"http://www.opensource.org/licenses/mit-license.php"
>
MIT style
</a>
license
</p>
<div
id=
"timestamp"
>
Last updated 2014-0
3-27
</div>
<div
id=
"timestamp"
>
Last updated 2014-0
5-09
</div>
</div>
</body>
</html>
header.lisp
View file @
cb6f39dc
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; buffer-read-only: t; -*-
;;; This is ASDF 3.1.2: Another System Definition Facility.
;;; This is ASDF 3.1.2
.4
: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
...
...
operate.lisp
View file @
cb6f39dc
...
...
@@ -226,8 +226,8 @@ the implementation's REQUIRE rather than by internal ASDF mechanisms."))
(
defun
restart-upgraded-asdf
()
;; If we're in the middle of something, restart it.
(
when
*asdf-cache*
(
let
((
l
(
loop
*
:for
(
x
y
)
:being
:the
hash-keys
:of
*asdf-cache*
:when
(
eq
x
'find-system
)
:collect
y
)))
(
let
((
l
(
loop
:for
k
:being
:the
hash-keys
:of
*asdf-cache*
:when
(
eq
(
first
k
)
'find-system
)
:collect
(
second
k
)
)))
(
clrhash
*asdf-cache*
)
(
dolist
(
s
l
)
(
find-system
s
nil
)))))
(
register-hook-function
'*post-upgrade-restart-hook*
'restart-upgraded-asdf
))
...
...
package-inferred-system.lisp
View file @
cb6f39dc
...
...
@@ -14,7 +14,7 @@
(
in-package
:asdf/package-inferred-system
)
(
with-upgradability
()
(
defparameter
*defpackage-forms*
'
(
cl:
defpackage
uiop:
define-package
))
(
defparameter
*defpackage-forms*
'
(
defpackage
define-package
))
(
defun
initial-package-inferred-systems-table
()
(
let
((
h
(
make-hash-table
:test
'equal
)))
...
...
test/run-tests.sh
View file @
cb6f39dc
...
...
@@ -331,19 +331,21 @@ upgrade_tags () {
#
# The 3.0 series is a stable release of ASDF 3
# with Robert Goldman taking over maintainership at 3.0.2.
# 3.0.0 was 2.33.10 promoted, but version-satisfies meant it was suddenly
# 3.0.0 was
just
2.33.10 promoted, but version-satisfies meant it was suddenly
# not compatible with ASDF2 anymore, so we immediately released 3.0.1
# 3.0.1 (2013-05-16) is the first stable ASDF 3 release
# 3.0.2 (2013-07-02)
wa
s the first ASDF 3 in SBCL
# 3.0.3 (2013-10-22)
wa
s the last in the ASDF 3.0 series
# 3.0.2 (2013-07-02)
i
s the first ASDF 3 in SBCL
# 3.0.3 (2013-10-22)
i
s the last in the ASDF 3.0 series
#
# The 3.1 series provides the 3.1 feature, meaning users can rely on
# all the stabilization work done in 3.0 so far, plus extra developments
# in UIOP, package-inferred-system, and more robustification.
# 3.1.2 (2014-05-06) is the first ASDF 3.1 release
#
# We return the above designated versions in order of decreasing relevance,
# which pretty much means REQUIRE and most recent first.
echo
REQUIRE
echo
3.1.2
echo
3.0.3 3.0.2 3.0.1
echo
2.32 2.27
echo
2.26 2.22 2.20 2.019 2.014.6 2.011 2.008 2.000
...
...
@@ -409,7 +411,7 @@ valid_upgrade_test_p () {