Commits (6)
......@@ -122,11 +122,9 @@
(ensure-directories-exist destination)
(run `(cp "-pHux" --parents ,@files ,destination) :directory base :show t)
(run `(tar "zcfC" ,tarball ,*build-dir*
(run `(tar "zcf" ,tarball "-C" ,*build-dir*
;; TODO: Have better autodetection for which tar is being used,
;; and fall back to no option if not recognized.
#+linux (* :owner root :group root) ;; assume GNU tar on Linux.
#+darwin (* :uid 0 :gid 0) ;; assume BSD tar on Darwin.
(,name /)) :show t)
(delete-directory-tree destination :validate #'(lambda (x) (equal x destination)))
......@@ -178,7 +176,7 @@
(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)))))
(let ((tarballs (mapcar 'tarname (list (uiop-name) (asdf-defsystem-name) (asdf-all-name)))))
(run `(rsync "--times" "--chmod=a+rX,ug+w"
,@tarballs ,(asdf-lisp-name) (,*clnet* ":" ,(public-path "archives/")))
:show t :directory (pn "build/")))
......@@ -189,11 +187,11 @@
(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))
(tarname (uiop-name))
(public-path "archives/uiop.tar.gz")
(tarname (asdf-defsystem-name))
(public-path "archives/asdf-defsystem.tar.gz")
(tarname (asdf-git-name))
(tarname (asdf-all-name))
(public-path "archives/asdf.tar.gz")
(public-path "archives/asdf.lisp"))
\ No newline at end of file
;;;;; A few essential debugging utilities by fare@tunes.org,
;;;;; to be loaded in the *PACKAGE* that you wish to debug.
;; We want debugging utilities in the _current_ package,
;; so we don't have to either change the package structure
;; or use heavy package prefixes everywhere.
;; The short names of symbols below are unlikely to clash
;; with global bindings of any well-designed source file being debugged,
;; yet are quite practical in a debugging session.
;;; If ASDF is already loaded,
;;; you can load these utilities in the current package as follows:
;; which is the same as:
;; The above macro can be configured to load any other debugging utility
;; that you may prefer to this one, with your customizations,
;; by setting the variable
;; uiop/utility:*uiop-debug-utility*
;; to a form that evaluates to a designator of the pathname to your file.
;; For instance, on a home directory shared via NFS with different names
;; on different machines, with your debug file in ~/lisp/debug-utils.lisp
;; you could in your ~/.sbclrc have the following configuration setting:
(require :asdf)
(setf uiop/utility:*uiop-debug-utility*
'(uiop/pathname:subpathname (uiop/os:user-homedir) "lisp/debug-utils.lisp"))
;;; If ASDF is not loaded (for instance, when debugging ASDF itself),
;;; Try the below, fixing the pathname to point to this file:
(eval-when (:compile-toplevel :load-toplevel :execute)
(let ((kw (read-from-string (format nil ":DBG-~A" (package-name *package*)))))
(unless (member kw *features*)
(load "/home/tunes/cl/asdf/contrib/debug.lisp"))))
;;; Here we define the magic package-dependent feature.
;;; With it, you should be able to use #+DBG-/PACKAGE-NAME/
;;; to annotate your debug statements, e.g. upper-case #+DBG-ASDF
;;; This will be all upper-case even in lower-case lisps.
(eval-when (:compile-toplevel :load-toplevel :execute)
(let ((kw (read-from-string
(format nil ":DBG-~:@(~A~)" (package-name *package*)))))
(pushnew kw *features*)))
;;; Now for the debugging stuff itself.
;;; First, my all-purpose print-debugging macro
(defmacro DBG (tag &rest exprs)
"debug macro for print-debugging:
TAG is typically a constant string or keyword to identify who is printing,
but can be an arbitrary expression returning a tag to be princ'ed first;
if the expression returns NIL, nothing is printed.
EXPRS are expressions, which when the TAG was not NIL are evaluated in order,
with their source code then their return values being printed each time.
The last expresion is *always* evaluated and its multiple values are returned,
but its source and return values are only printed if TAG was not NIL;
previous expressions are not evaluated at all if TAG returned NIL.
The macro expansion has relatively low overhead in space or time."
(let* ((last-expr (car (last exprs)))
(other-exprs (butlast exprs))
(tag-var (gensym "TAG"))
(thunk-var (gensym "THUNK")))
`(let ((,tag-var ,tag))
(flet ,(when exprs `((,thunk-var () ,last-expr)))
(if ,tag-var
(DBG-helper ,tag-var
(list ,@(loop :for x :in other-exprs :collect
`(cons ',x #'(lambda () ,x))))
',last-expr ,(if exprs `#',thunk-var nil))
,(if exprs `(,thunk-var) '(values)))))))
(defun DBG-helper (tag expressions-thunks last-expression last-thunk)
;; Helper for the above debugging macro
((f (stream fmt &rest args)
(let ((*print-readably* nil)
(*package* (find-package :cl)))
(apply 'format stream fmt args)
(finish-output stream))))
(z (stream)
(f stream "~&"))
(e (fmt arg)
(f *error-output* fmt arg))
(x (expression thunk)
(e "~& ~S => " expression)
(let ((results (multiple-value-list (funcall thunk))))
(e "~{~S~^ ~}~%" results)
(apply 'values results))))
(map () #'z (list *standard-output* *error-output* *trace-output*))
(e "~A~%" tag)
(loop :for (expression . thunk) :in expressions-thunks
:do (x expression thunk))
(if last-thunk
(x last-expression last-thunk)
;;; Quick definitions for use at the REPL
(defun w (&rest x) (format t "~&~{~S~^ ~}~%" x)) ;Write, space separated + LF
(defun a (&rest x) (format t "~&~{~A~}~%" x)) ;print Anything, no separator, LF
(defun e (x) (cons x (ignore-errors (list (eval x))))) ;Evaluate
(defmacro x (x) `(format t "~&~S => ~S~%" ',x ,x)) ;eXamine
(defun i (&rest x) (apply (read-from-string "swank:inspect-in-emacs") x)) ; SLIME inspection
(defun ra (&rest x) (require :cl-ppcre) (apply (read-from-string "cl-ppcre:regex-apropos") x))
(defmacro !a (&rest foo) ; define! Alias
`(progn ,@(loop :for (alias name) :on foo :by #'cddr
:collect (if (macro-function name)
`(defmacro ,alias (&rest x) `(,',name ,@x))
`(defun ,alias (&rest x) (apply ',name x))))))
(!a ;;; common aliases
d describe
ap apropos
!p defparameter
m1 macroexpand-1)
cl-asdf (2:3.1.6-1) unstable; urgency=low
Bug fix and portability release:
Package changes:
* New uploader in control file
* lintian-overrides for 2 script files which have a magic comment
for invoking cl-launch
New upstream release:
* Fix backtrace on SBCL.
* Fix RUN-PROGRAM of string (shell command) on Windows SBCL (ticket
......@@ -13,7 +16,7 @@ cl-asdf (2:3.1.6-1) unstable; urgency=low
* Miscellaneous bug fixes.
* Documentation improvements.
-- Robert P. Goldman <rpgoldman@sift.net> Sat, 17 Oct 2015 15:01:34 -0500
-- Kambiz Darabi <darabi@m-creations.net> Sat, 17 Oct 2015 15:01:34 -0500
cl-asdf (2:3.1.5-1) unstable; urgency=low
......@@ -1593,4 +1596,3 @@ cl-asdf (0.0+cvs.2002.08.15-1) unstable; urgency=low
* Initial Release (closes: 157009)
-- Kevin M. Rosenberg <kmr@debian.org> Fri, 16 Aug 2002 23:14:49 -0600
# A file with some helper functions has optional support for the
# debian package cl-launch which installs /usr/bin/cl, but also
# works without cl-launch
unusual-interpreter usr/share/common-lisp/source/cl-asdf/tools/cl-source-registry-cache.lisp #!/usr/bin/cl
# A helper file contains support for the debian package cl-launch
# but also works without cl-launch
executable-not-elf-or-script usr/share/common-lisp/source/cl-asdf/tools/install-asdf.lisp
......@@ -7,10 +7,11 @@ Uploaders: Peter Van Eynde <pvaneynd@debian.org>,
Christoph Egger <christoph@debian.org>,
Julien Danjou <acid@debian.org>,
François-René Rideau <fare@tunes.org>,
Robert P. Goldman <rpgoldman@sift.info>
Robert P. Goldman <rpgoldman@sift.info>,
Kambiz Darabi <darabi@m-creations.net>
Build-Depends: debhelper (>= 9)
Build-Depends-Indep: texinfo, texlive-extra-utils, texlive, texlive-generic-recommended
Standards-Version: 3.9.5
Homepage: http://common-lisp.net/project/asdf/
Vcs-Git: https://gitlab.common-lisp.net/asdf/asdf.git
......@@ -18,7 +18,8 @@ clean:
rm -f build-stamp
make -C doc clean
make clean
rm -rf doc/*log doc/version.texinfo
# Build architecture-dependent files here.
......@@ -41,6 +42,7 @@ binary-indep: build
dh_strip -i
dh_compress -i
dh_fixperms -i
dh_lintian -i
dh_installdeb -i
dh_shlibdeps -i
dh_gencontrol -i