On 18 Mar 2021, at 11:59, Didier Verna wrote:
Hi,
I would like to remove some old workaround code from a couple of systems, wrt to ASDF 3.1.4 bugs (see below). Is it safe to do so now, or are these "bugs" still lurking around?
The relevant parts are as follows:
:defsystem-depends-on (:net.didierverna.clon.setup/termio #+sbcl ;; BUG in ASDF 3.1.4: d-d-o can't deal dependency expanding to NIL (:feature :sbcl (:require :sb-grovel)) #+(or allegro clisp lispworks) (:feature (:or :allegro :clisp :lispworks) :cffi-grovel))
Looking at the test suite, I see this test specifically aimed to check this:
``` (eval `(def-test-system test-defsystem-depends-on-4 :defsystem-depends-on ((:feature ,*newsym* "test-defsystem-depends-on-3"))))
(assert (find-system "test-defsystem-depends-on-4")) ```
and
:components (;; bug in ASDF 3.1.4: cannot deal with conditionally defined ;; component class! #+sbcl (sb-grovel:grovel-constants-file "sbcl/constants" :package :net.didierverna.clon :if-feature :sbcl) #+(or allegro clisp lispworks) (:cffi-grovel-file "cffi/constants" :if-feature (:or :allegro :clisp :lispworks))
I don't understand this well enough to know whether it's fixed or not. What's a minimum working example? Is `sb-grovel:grovel-constants-file` a component class? Is this issue with conditionally defined component class, or is this a package issue? Can't tell. Can you offer an alternative that wouldn't involve having to pull over a lot of systems?
This one seems complex enough -- and so much trouble to make a MWE -- that maybe you want to just change it and see if it breaks.
Thank you!
-- ¡En Seguida! -- New album: https://www.didierverna.com/records/en-seguida.php Available on all digital platforms now!
Lisp, Jazz, Aïkido: http://www.didierverna.info
Robert P. Goldman Research Fellow Smart Information Flow Technologies (d/b/a SIFT, LLC)
319 N. First Ave., Suite 400 Minneapolis, MN 55401
Voice: (612) 326-3934 Email: rpgoldman@SIFT.net