Hello
I find this interesting thing but I don't have an explanation. If I
query the "references" of my store item "sbcl", it shows that sbcl
reference bash-mininal, as the following output:
# guix gc --references /gnu/store/sbbp9nvslqcf3bmcnz5wgxf2qpsi757$
/gnu/store/6ncav55lbk5kqvwwflrzcr41hp5jbq0c-gcc-11.3.0-lib
/gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35
/gnu/store/mzx7j93w5szyzrgnql8dqhqdgjh6si02-mpfr-4.2.0
/gnu/store/nl194qnq5lhjxpfwcs15xqihnfqif335-zstd-1.5.2-lib
/gnu/store/sbbp9nvslqcf3bmcnz5wgxf2qpsi757i-sbcl-2.3.7
/gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16
/gnu/store/ybadavwz1z9kmxanqy3siw38lnkwnkrp-gmp-6.2.1
But when I look into sbcl's package definition, there is no
"bash-minimal" as its input. I use "guix graph" find a path from sbcl to
bash-minimal:
# guix graph --path sbcl bash-minimal
sbcl@2.3.7
texlive-updmap.cfg@66594
texlive-scheme-basic@66594
texlive-collection-basic@66594
texlive-bin@20230313
cairo@1.16.0
bash-minimal@5.1.16
But I think that is build time dependency, not run time. cairo also
requires "ghostscript" as its input, which is not referenced by sbcl.
If I run "guix size sbcl" or "guix pack sbcl", bash-minimal also
included. I think SBCL might require "sh" to execute some script files,
but I can't figure out how guix decides "bash-minimal" is part of sbcl.
Would some one please tell me
which part of codes in sbcl's package definition make guix include
"bash-minimal" into sbcl's references?
Thanks,
Pan