-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
RFC: Pkg2 hooks for building binary dependencies #3708
Conversation
+1 |
If we're going to add an extra state variable for binary dependencies, it would be nice to be able store a number instead of a boolean flag. This number (set and read by the package) could be used to track the version of the binary dependencies installed and would make it easier to just bump the julia code and not rebuild the binary dependencies. I think any package that builds a large library will have to implement this binary version check in some form, and having this state stored with Pkg2 seems better than ad-hoc approaches. |
That seems reasonable. |
This starts to remind me of @StefanKarpinski 's idea to make binary dependencies packages of their own, so packages could depend on specific versions of them in the usual manner. They could also be shared by multiple packages. Maybe that was a good idea after all. |
That's viable alternative, though it doesn't get around needing package build scripts. |
I'm not sure how exactly that would work. Would these proxy packages be the same as regular Julia packages? If so I'm not sure how feasible that would be. Alternatively, we could have some way of associating a range of versions which a particular commit of the package and tell the package what version we would like to install. |
I'm just going to merge and we can figure out after the fact if there's something we want to change. Since Pkg2 is still experimental, we can always change things. |
RFC: Pkg2 hooks for building binary dependencies
Stdlib: Pkg URL: https://github.com/JuliaLang/Pkg.jl.git Stdlib branch: master Julia branch: master Old commit: 85f1e5564 New commit: 3c86ba27e Julia version: 1.11.0-DEV Pkg version: 1.11.0 Bump invoked by: @IanButterworth Powered by: [BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl) Diff: JuliaLang/Pkg.jl@85f1e55...3c86ba2 ``` $ git log --oneline 85f1e5564..3c86ba27e 3c86ba27e add `add --weak/extra Foo` to add to [weakdeps] or [extras] (#3708) 2e640f92f respect --color=no in Pkg.precompile (#3740) cbd5d08ad Automatically add compat entries when adding deps to a package (#3732) 03de920b3 rm old manual handling of `--compiled-modules` (#3738) 314d5497b Use realpaths for temp dirs during tests. Fix SparseArrays `why` breakage (#3734) a6531d4be environments.md: update Julia version (#3715) a509bc062 Revise the API of is_manifest_current. (#3701) 60b7b7995 rm incorrect kwargs in add docstring (#3733) ``` Co-authored-by: Dilum Aluthge <[email protected]>
@StefanKarpinski
Let's get some discussion going about the best way to store the state associated with this.