Skip to content

Conversation

@staticfloat
Copy link
Member

@staticfloat staticfloat commented Aug 12, 2020

Changing JLL generation to use the new 1.6 Artifacts stdlib, instead of Pkg, and optimizing things to do more work at compile time.

src/AutoBuild.jl Outdated
copying the artifact over to a local `override` directory, allowing package
developers to experiment with a locally-built binary.
\"\"\"
function dev_jll()
Copy link
Member

Choose a reason for hiding this comment

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

Can't we add something to Pkg or BinaryBuilder to not have to put this into every jll? Like BinaryBuilder.dev("...")?

Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Member

Choose a reason for hiding this comment

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

That's loaded by every jll files as well though? It just feels like the wrong place to put it, tools for developing the package shouldn't have to be compiled into the package itself imo. It should be handled by some external thing like JLLDeveloperTools.jl or just BinaryBuilder.

Copy link
Member

Choose a reason for hiding this comment

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

That's an interesting point of view.

Copy link
Member

@KristofferC KristofferC Sep 4, 2020

Choose a reason for hiding this comment

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

I mean, packages don't need an update_me() function bundled with them and compiled into their .ji file nor do they need to depend on Pkg to be updatable. Because the process of updating a package is handled externally (and is independent) to the functionality of the package itself. This feels like kinda the same thing. If we want to make the jlls (and the common package they depend on) small, then moving everything dev-like that the package won't run itself during normal execution out to a developer package seems reasonable.

Copy link
Member

Choose a reason for hiding this comment

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

To be clear, I think you're probably right that the function doesn't need to be here at all 😅

@staticfloat staticfloat marked this pull request as ready for review September 14, 2020 19:08
@staticfloat staticfloat merged commit e5b59b8 into master Sep 14, 2020
@staticfloat staticfloat deleted the sf/artifacts_stdlib branch September 14, 2020 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Optimize artifact loading during Pkg.build stage, remove Pkg application dependency from JLL libraries

4 participants