unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Guillaume Le Vaillant <glv@posteo.net>
To: Pan Xie <xiepan@skyguard.com.cn>
Cc: guix-devel@gnu.org, help-guix@gnu.org
Subject: Re: Why bash-minimal is part of sbcl package
Date: Sun, 10 Dec 2023 08:58:29 +0000	[thread overview]
Message-ID: <87lea2h11c.fsf@kitej> (raw)
In-Reply-To: <ceee1860-dd0d-4db0-a997-17bf8a6b0571@skyguard.com.cn>

[-- Attachment #1: Type: text/plain, Size: 4130 bytes --]

Pan Xie <xiepan@skyguard.com.cn> skribis:

> Hello
>
> I find this interesting thing but I don't have an explanation. When query the
> "references" of my Gnu Store item "sbcl", it shows that sbcl references
> bash-mininal, as the following output shows:
>
> # 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
>
> However when I look into sbcl's package definition, there is no bash-minimal as
> its input. I can 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
>
> bash-minimal is indeed one of cairo's package input. However cairo also has
> inputs like ghostscript and libspectre, which sbcl does not reference.
>
> "guix size sbcl" also reports bash-minimal is part of sbcl package, and "guix
> pack sbcl" will include bash-minimal in its final tarball.
>
> So the question is, which part of sbcl's package definition tells Guix it need
> to add bash-minimal as part of sbcl? Is there a practical method to figure that
> out?

Hi.
It looks like there are some contrib libraries of sbcl that need
a shell, which is why the bash-minimal available in the build
environment is referenced by some files in the sbcl package.
I guess we should list bash-minimal explicitly in the inputs...

--8<---------------cut here---------------start------------->8---
$ grep -R bash-minimal $(guix build sbcl)

grep: /gnu/store/yqqjrhap1jp0aqs5p7xs5j13z0nza1zj-sbcl-2.3.7/lib/sbcl/contrib/sb-executable.fasl: binary file matches
grep: /gnu/store/yqqjrhap1jp0aqs5p7xs5j13z0nza1zj-sbcl-2.3.7/lib/sbcl/contrib/asdf.fasl: binary file matches
grep: /gnu/store/yqqjrhap1jp0aqs5p7xs5j13z0nza1zj-sbcl-2.3.7/lib/sbcl/contrib/sb-aclrepl.fasl: binary file matches
grep: /gnu/store/yqqjrhap1jp0aqs5p7xs5j13z0nza1zj-sbcl-2.3.7/lib/sbcl/contrib/uiop.fasl: binary file matches
/gnu/store/yqqjrhap1jp0aqs5p7xs5j13z0nza1zj-sbcl-2.3.7/share/sbcl/contrib/asdf/pull-asdf.sh:#!/gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16/bin/sh -e
/gnu/store/yqqjrhap1jp0aqs5p7xs5j13z0nza1zj-sbcl-2.3.7/share/sbcl/contrib/asdf/asdf.lisp:              #+os-unix (string `("/gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16/bin/sh" "-c" ,command))
/gnu/store/yqqjrhap1jp0aqs5p7xs5j13z0nza1zj-sbcl-2.3.7/share/sbcl/contrib/asdf/asdf.lisp:                  #+os-unix ,@'(ext:run-program "/gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16/bin/sh" :arguments `("-c" ,%command))
/gnu/store/yqqjrhap1jp0aqs5p7xs5j13z0nza1zj-sbcl-2.3.7/share/sbcl/contrib/asdf/uiop.lisp:              #+os-unix (string `("/gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16/bin/sh" "-c" ,command))
/gnu/store/yqqjrhap1jp0aqs5p7xs5j13z0nza1zj-sbcl-2.3.7/share/sbcl/contrib/asdf/uiop.lisp:                  #+os-unix ,@'(ext:run-program "/gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16/bin/sh" :arguments `("-c" ,%command))
/gnu/store/yqqjrhap1jp0aqs5p7xs5j13z0nza1zj-sbcl-2.3.7/share/sbcl/contrib/sb-aclrepl/repl.lisp:  (sb-ext:run-program "/gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16/bin/sh" (list "-c" string-arg)
/gnu/store/yqqjrhap1jp0aqs5p7xs5j13z0nza1zj-sbcl-2.3.7/share/sbcl/contrib/sb-executable/sb-executable.lisp:  "#!/gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16/bin/sh --
/gnu/store/yqqjrhap1jp0aqs5p7xs5j13z0nza1zj-sbcl-2.3.7/share/sbcl/contrib/sb-posix/posix-tests.lisp:           (stat-2 (sb-posix:stat "/gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16/bin/sh"
--8<---------------cut here---------------end--------------->8---

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

  reply	other threads:[~2023-12-10  9:15 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-08 10:34 Why bash-minimal is part of sbcl package Pan Xie
2023-12-10  8:58 ` Guillaume Le Vaillant [this message]
2023-12-12 16:36 ` Maxim Cournoyer
2023-12-12 16:51   ` Felix Lechner via
2023-12-12 20:52     ` Maxim Cournoyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87lea2h11c.fsf@kitej \
    --to=glv@posteo.net \
    --cc=guix-devel@gnu.org \
    --cc=help-guix@gnu.org \
    --cc=xiepan@skyguard.com.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).