1. 23 Oct, 2013 1 commit
    • Francois-Rene Rideau's avatar
      package-system: support for quick-build style defpackage-based dependencies. · c609093c
      Francois-Rene Rideau authored
      This is quick-build compatible and fixes lp#1230368.
      
      To use package-system, just have foo.asd containing
      	(defsystem foo :class package-system)
      at the top of your quick-build hierarchy $FOODIR
      for packages whose name start with "FOO/"
      and ASDF will thereafter look for system "foo/bar/baz" in $FOODIR/bar/baz.lisp.
      
      Such a file will implicitly have its own system defined;
      its dependencies are computed by scanning the file,
      extracting its first defpackage form,
      and using the packages it uses or imports from
      as a as a specification of what systems it depends on.
      
      You can register packages as belonging to a system with
      	(asdf:register-system-packages my-system '(package1 package2))
      Using or importing from a package registered to a given system
      will generate a dependency to the registered system.
      Using or importing from a packages registered to the constant symbol T
      will not generate any dependency.
      Using or importing from a packages that is not registered will generate
      a dependency on a system the name of which is the package name downcased.
      All packages that exist at the time ASDF is initially loaded
      are registered to constant symbol T.
      
      Also, for convenience, introduce :use-reexport and :mix-reexport in
      uiop/package.lisp (of course, no one can rely on it until it's mainstream,
      but better late than never).
      
      To use this style in a way compatible with older versions of ASDF 3,
      you may use the asdf-package-system extension.
      See lisp-interface-library for a system that uses this style this way.
      
      Push :asdf-package-system to *features*
      c609093c
  2. 22 Oct, 2013 1 commit
  3. 20 Oct, 2013 1 commit
  4. 12 Oct, 2013 1 commit
  5. 09 Oct, 2013 1 commit
  6. 08 Oct, 2013 1 commit
    • Francois-Rene Rideau's avatar
      When loading a system with non-primary name (e.g. foo/bar), · cbca8e6f
      Francois-Rene Rideau authored
      load the system with primary name first (e.g. foo), but
      avoid infinite loops by checking for system being defined.
      This should help with Quicklisp and other extensions that define functions
      for *system-definition-search-functions* so they don't have to pay special
      attention to primary name canonicalization unless they really want to.
      Also, use the ensure-gethash utility in a few more places.
      cbca8e6f
  7. 30 Jul, 2013 1 commit
  8. 27 Feb, 2013 1 commit
  9. 24 Feb, 2013 1 commit
  10. 23 Feb, 2013 2 commits
  11. 22 Feb, 2013 1 commit
  12. 20 Feb, 2013 2 commits
    • Francois-Rene Rideau's avatar
      2.29.9: in load-asd, preserve *print-pprint-dispatch* as well as *readtable*. · 5a70e8b6
      Francois-Rene Rideau authored
      Although I'd like to isolate .asd files from each other,
      copy-readtable and copy-pprint-dispatch are slightly too expensive
      to use lightly (cons 1648 and 2192 bytes respectively on CCL 1.9 x86-64,
      and more like 5300 and 10300 bytes on SBCL 1.1.3 x86-64).
      There is no portable way to ensure the tables are read-only, and
      bad things can happen if they are mutated while bound to the standard defaults.
      So for now, I'm doing the backward-compatible thing of letting users
      take responsibility for binding and mutating them, or more likely for success,
      avoiding to bind and mutate them.
      
      Thanks once again to Anton Vodonosov for his help with cl-test-grid.
      5a70e8b6
    • Francois-Rene Rideau's avatar
  13. 19 Feb, 2013 1 commit
  14. 18 Feb, 2013 2 commits
  15. 06 Feb, 2013 4 commits
    • Francois-Rene Rideau's avatar
      2.28.4: keep registered ASDF system to avoid double-upgrade. · 6765dc3c
      Francois-Rene Rideau authored
      Also, allow for unqualified inline-methods. Fixes lp#485393
      6765dc3c
    • Francois-Rene Rideau's avatar
      2.28.1: various upgrade issues · d78df051
      Francois-Rene Rideau authored
      1- To make life easier on Xach, stop requiring asdf.lisp to be loaded as source
      before it's compiled. Instead, wrap each and every single form in an eval-when,
      most of the time via the with-upgradability macro that also transforms
      defun into defun* and defgeneric into defgeneric*.
      Causes massive reindentation :-(
      
      2- Have a proper :version for fallback systems.
      Will make systems that check the version happier.
      
      3- protect a condition with #+sb-eval. Fixes lp#1116408.
      
      4- Protect warnings-file methods with dynamic when *warnings-file-type*
      rather than static #+.
      d78df051
    • Francois-Rene Rideau's avatar
      2.28.4: keep registered ASDF system to avoid double-upgrade. · 5e4e235b
      Francois-Rene Rideau authored
      Also, allow for unqualified inline-methods. Fixes lp#485393
      5e4e235b
    • Francois-Rene Rideau's avatar
      2.28.1: various upgrade issues · 1e4bafdb
      Francois-Rene Rideau authored
      1- To make life easier on Xach, stop requiring asdf.lisp to be loaded as source
      before it's compiled. Instead, wrap each and every single form in an eval-when,
      most of the time via the with-upgradability macro that also transforms
      defun into defun* and defgeneric into defgeneric*.
      Causes massive reindentation :-(
      
      2- Have a proper :version for fallback systems.
      Will make systems that check the version happier.
      
      3- protect a condition with #+sb-eval. Fixes lp#1116408.
      
      4- Protect warnings-file methods with dynamic when *warnings-file-type*
      rather than static #+.
      1e4bafdb
  16. 30 Jan, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.26.168: translate-logical-pathname in probe-file*. · decc2a2c
      Francois-Rene Rideau authored
      Had to refactor the asdf-pathname-test by decomposing it into small bits
      before I could understand what was going on.
      Some more robustness in find-system.
      
      Also, no build-report output-file when no *warnings-file-type*,
      and ABL support for build-report.
      
      Deprecate *asdf-verbose*.
      Have *verbose-out* be NIL (which is testable) rather than
      (make-broadcast-stream), which isn't quite, to signal no verbosity.
      That's both more useful while remaining backward-compatible.
      decc2a2c
  17. 29 Jan, 2013 4 commits
  18. 28 Jan, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.26.157: speed up pathname operations. · 6876bde3
      Francois-Rene Rideau authored
      Optimize probe-file* in the case we do not care for truename.
      Have truenamize iterate from pathname up to root rather than the other way,
      to minimize the number of calls to truename.
      Refactor pathname absolutization.
      Shuffle functions around os, pathname, stream.
      Shuffle functions around common-lisp, utility.
      Remove root-pathname and sane-physical-pathname.
      6876bde3
  19. 27 Jan, 2013 3 commits
    • Francois-Rene Rideau's avatar
      2.26.154: cache builtin-system-p for a big speedup. · 56d84e7a
      Francois-Rene Rideau authored
      We were checking it all the time in forced-p.
      Also cache nil-pathname and root-pathname.
      56d84e7a
    • Francois-Rene Rideau's avatar
      2.26.153: Various speed ups. · 1f4d6fec
      Francois-Rene Rideau authored
      Between 2.26 and 2.26.152, ASDF had gotten ~37 times slower at traversing iolib.
      Now trying to restore some performance.
      
      This commit:
      1- generalizes the cache to cover input-files and output-files as well as get-file-stamp.
      2- removes the probe-file before file-write-date.
      1f4d6fec
    • Francois-Rene Rideau's avatar
      2.26.149: next release will be ASDF 3 after all, not ASDF 2.27. · 0f685693
      Francois-Rene Rideau authored
      Introduce some backward incompatibility with features unused in quicklisp:
      * Don't create a temporary package every time you load a .asd;
       instead, load everything from same package ASDF-USER,
       that :use's asdf/common-lisp asdf/package asdf/interface
       That's the Common Lisp way, what with COMMON-LISP-USER.
       If you want a private package, use DEFPACKAGE or DEFINE-PACKAGE.
      * operation-description is renamed action-description.
       No one was using it in quicklisp, and no one was specializing it
       except cl-protobufs, which I'll fix.
      * component-properties and component-property are gone.
       If you want a new property, create your own subclass of component.
      
      Also, have a load-asd function with name in keyword arguments,
      rather than load-sysdef function that requires the name.
      0f685693
  20. 24 Jan, 2013 2 commits
    • Francois-Rene Rideau's avatar
      2.26.145: introduce a stamp cache, to reduce filesystem access, · c2c17558
      Francois-Rene Rideau authored
      enhance plan consistency and make testing easier.
      c2c17558
    • Francois-Rene Rideau's avatar
      2.26.142: Update the system definitions. · 3abb3e42
      Francois-Rene Rideau authored
      A better asdf.asd.
      
      Refactor the preloaded system mechanism, use it for cl-launch 3.21.2.
      
      Rename bundle-pathname to build-pathname, move it from bundle-system to system.
      
      Rename the gcl<2.7 feature gcl2.6. Die on gcl2.5 and earlier.
      Don't even try to compile-file asdf using gcl 2.6, just load the .lisp.
      
      Rename asdf/compatibility to asdf/common-lisp, exporting only CL symbols.
      Fix define-package to correctly handle exporting of NIL.
      
      Also, make it work with Genera, with #'(lambda instead of (lambda,
      and using lisp:loop (via a macro loop*) when destructuring is required.
      
      Document more 2.27 changes in changelog.
      
      If there is no :pathname and no load-pathname,
      do NOT have a system pathname take defaults from *default-pathname-defaults*,
      but make it NIL.
      3abb3e42
  21. 20 Jan, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.26.126: debugging ecl, upgrade, etc. · 8ec5317d
      Francois-Rene Rideau authored
      Don't key upgrade attempt on source-registry, since things can also change
      in the central-registry, etc.
      Also rename required-files to direct-dependency-files
      Improve the new convenience function pattern to work with operation initargs.
      Implement getcwd on all platforms.
      Actually catch sb-grovel messages.
      
      Tests: make u l=ecl instead of make test-upgrade lisp=ecl
      Tests: put the setup around the script, not inside;
      Tests: start using globals, much easier for debugging
      8ec5317d
  22. 19 Jan, 2013 3 commits
  23. 18 Jan, 2013 4 commits