Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
A
asdf
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 15
    • Issues 15
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 8
    • Merge Requests 8
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • asdf
  • asdf
  • Issues
  • #23

Closed
Open
Opened Jan 27, 2020 by Guillaume Le Vaillant@glv

deliver-asd-op: missing dependencies in generated asd file

When using 'deliver-asd-op', the generated asd file doesn't contain the dependencies that were declared in the original asd file. Because of this, trying to load the bundle fails.

Here's an example with a dummy system (with ASDF 3.3.3, SBCL 2.0.0, GNU/Linux x86-64).

hello.asd:

(defsystem "hello"
  :name "hello"
  :version "1"
  :license "GPL-3"
  :author "glv"
  :defsystem-depends-on ("alexandria")
  :depends-on ("bst")
  :components ((:file "hello")))

hello.lisp:

(defpackage :hello
  (:use :cl)
  (:export #:f
           #:g
           #:hello-world))

(in-package :hello)

(defun f (x)
  (bst:bst-balance x))

(defun g (x)
  (alexandria:iota x))

(defun hello-world ()
  (write-line "Hello, World!"))

The bundle is compiled with:

sbcl --non-interactive --eval '(asdf:load-asd (truename "hello.asd"))' --eval '(asdf:operate (quote asdf:deliver-asd-op) "hello")'

And the generated asd file is:

;;; Prebuilt ASDF definition for system hello
;;; Built for SBCL 2.0.0 on a Linux/X86-64 5.4.14

(DEFSYSTEM "hello"
  :CLASS
  ASDF/BUNDLE:PREBUILT-SYSTEM
  :VERSION
  "1"
  :DEPENDS-ON
  NIL
  :COMPONENTS
  ((:COMPILED-FILE "hello--system")))

Here I would expect to see ("bst") or ("alexandria" "bst") instead of NIL as dependency.

Side question: If a system having both defsystem-depends-on ("a" "b") and depends-on ("c" "d") declarations is compiled as a bundle, when loading this bundle, are all the dependencies (a, b, c, d) expected to be loaded and usable in the library, or only the ones in 'depends-on' (c, d)?

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: asdf/asdf#23