Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Standardize stdlib dependency knowledge location #50684

Open
staticfloat opened this issue Jul 26, 2023 · 2 comments
Open

Standardize stdlib dependency knowledge location #50684

staticfloat opened this issue Jul 26, 2023 · 2 comments
Labels
stdlib Julia's standard library

Comments

@staticfloat
Copy link
Member

We should have a single source of truth for stdlib dependency knowledge. As it stands, we have 2.5 separate places where this knowledge is encoded:

  1. In stdlib Project.toml such as here
  2. In pkgimage.mk, such as here.
    2.5. In sysimg.jl, such as here (Note, this one counts as 1/2 because only topological sort order is recorded, rather than a full dependency graph).

This makes it needlessly difficult to alter stdlib dependencies. Instead, we should automatically compute this from the Project.toml files in all cases. We should also record the sysimg/pkgimage decision in the same place, perhaps by setting a preference in the Project.toml?

@bkamins
Copy link
Member

bkamins commented Jul 28, 2023

CC @nalimilan - the key points are:

  • currently Statistics does not require entry in [compact] section so its version will be unspecified;
  • what if in the future someone will want to use upgraded Statistics.jl version with an older version of Julia;

@brenhinkeller brenhinkeller added the stdlib Julia's standard library label Aug 3, 2023
@vchuravy
Copy link
Member

#51368 did part of this and after #51399 we have much fewer listed in sysimg.jl.

For the last step we do need a toml parser and then convert that to Makefiles variables. That seems obnoxious. Or we have something that autogenerated stdlib.mk for us...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stdlib Julia's standard library
Projects
None yet
Development

No branches or pull requests

4 participants