conda-forge / julia-feedstock

A conda-smithy repository for julia.
BSD 3-Clause "New" or "Revised" License
23 stars 32 forks source link

Run exports #239

Open SylvainCorlay opened 1 year ago

SylvainCorlay commented 1 year ago

Comment:

The julia package should probably have a run_exports item for itself, pinning x.x.

mkitti commented 1 year ago

What would be a good test to see if that setting is working?

My understanding is that this will take requirements from build and host and make them run requirements.

https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html?highlight=run_exports%20#export-runtime-requirements

SylvainCorlay commented 1 year ago

The goal is for people linking with Julia's C API (having julia as a host dependency) to automatically inherit it as a run dependency pinning down the requirement to what will be binary compatible with what was used at build time.

A regular run_exports section in the Julia feedstock adding julia as a run_export of itself would do that.

(Strong run exports are typically for compilers and is not relevant here).

mkitti commented 1 year ago

@ngam do you have any thoughts here? Otherwise, I'll draft the pull request.

ngam commented 1 year ago

That’s a good idea.

On a side note (especially relevant later when we have more of a julia ecosystem): we should add a julia global pin with x.x as well

ngam commented 1 year ago

I can also help with the PR. There are many examples in conda-forge we could follow

mkitti commented 1 year ago

(Strong run exports are typically for compilers and is not relevant here).

Technically, Julia is a compiler. It becomes more like a traditional compiler in version 1.9 in that it is creating shared libraries, .so, files per package. It may be to the degree that we may want to compile those shared libraries for the user and distribute them.