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

[WIP/RFC] add Pkg3 to stdlib #25140

Closed
wants to merge 9 commits into from
Closed

[WIP/RFC] add Pkg3 to stdlib #25140

wants to merge 9 commits into from

Conversation

vchuravy
Copy link
Member

@vchuravy vchuravy commented Dec 17, 2017

I am putting this up as an alternative to #25115 and to garner feedback on this approach even if we decide to do a full sourcetree import of Pkg3.

The idea is to treat external stdlib packages similar to external dependencies, this currently uses git to do the version resolution, but we should probably use tarballs + SHA, with the option to use git for development (similar to how we treat LLVM).

I am by no means a master of Makefiles so feedback on the structure and design would be especially welcomed.

##TODO:

  • Make Pkg3 work on current master
  • Decide if Pkg3 should be renamed to Pkg
  • make Pkg3 work with _Pkg stub
  • update docs
  • add announcement
  • Decision: Should we add dependencies like TOML, TerminalMenues, and BinaryProvider to stdlib

@vchuravy vchuravy added needs decision A decision on this change is needed stdlib Julia's standard library labels Dec 17, 2017
@vchuravy
Copy link
Member Author

I updated the PR by porting some of the changes from #25115 and adding a TODO.

Personally this attempt makes even more sense to me after I realised that Pkg ships copies of TOML, TerminalMenues and BinaryProvider. IMO these packages should be part of the stdlib.

default: get

PKG3_VERSION := a554607c939ab73d89c3e7c6a3dd08fd870145e8
PKG3_URL := https://github.com/JuliaLang/Pkg3.jl
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks reasonable to me. It's annoying to be in yet another bootstrap situation where the tooling (Pkg3 in this case) can't be used to build itself.

What would presumably be easier would be for an already built version of Pkg3 to emit a consistent set of requirements for the stdlib which could then be hard coded in this repo in a format which this makefile can consume.

Then updating this will be less manual as the stdlib grows to include more modules from various repositories.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(caveat: I know next to nothing about Pkg3!)

@vchuravy vchuravy closed this Jan 19, 2018
@StefanKarpinski
Copy link
Sponsor Member

StefanKarpinski commented Jan 19, 2018

As soon as #25455 is merged, we can revisit this – we do need to move Pkg3 into Base. The nice thing is that it's really only necessary for generating and manipulating project and manifest files and installing packages into the right place in depot paths, so it can definitely be loaded on-demand.

@vchuravy vchuravy deleted the vc/pkg3 branch August 19, 2018 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs decision A decision on this change is needed stdlib Julia's standard library
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants