conda-forge core meeting 2024-06-12
Add new agenda items under the Your __new__() agenda items
heading
Attendees
Name | Initials | GitHub ID | Affiliation |
---|---|---|---|
Jaime Rodríguez-Guerra | JRG | jaimergp | Quansight/cf |
Filipe Fernandes | FF | ocefpaf | conda-forge |
Marcel Bargull | MB | mbargull | Bioconda/cf |
Wolf Vollprecht | WV | wolfv | prefix.dev |
Cheng H. Lee | CHL | chenghlee | Anaconda/cf |
Isuru Fernando | IF | isuruf | Quansight/cf |
Aaron Opfer | AO | ||
X people total
Standing items
- [ ]
From previous meeting(s)
- [ ]
Active votes
- [ ]
Your new() agenda items
- Introductions: Aaron Opfer from Chicago Trading Company
- (WV) reproducible builds effort
- Demo: https://github.com/prefix-dev/reproducible-builds
- Site: https://prefix-dev.github.io/reproducible-builds/
- FF: Findings?
- WV: Mostly in rattler-build itself. Also found something in some osx tooling related to timestamps/epocs.
- WV: Source provenance can be annotated from the git archive (via git commit revision). For tarballs that are not git related, maybe
content_sha256
(as in this conda-build PR) could be stored. - IF: Virtual packages?
- WV: Not right now, but the lockfile is there so maybe not needed. Still, good info to capture.
- MB: What about non-Linux repro? macOS and Windows don't give full control to the userspace (like Linux does, at least). What happens if you try to rebuild in different macOS versions?
- WV: Nichita is looking into it (some paths in the linking info contain version info which results in different hashes). For now only looking at the 1st level of repro (same machine repro but at different times).
- WV: diffoscope works well with conda packages and will tell you what's different.
- (WV) Three CEPs to vote on (conda community governing body can vote, to be called on next Wednesday -after conda community meeting-):
- Sharded repodata (split repodata by package names). Allows for faster fetch of only the packages you need. https://github.com/conda/ceps/pull/75
- rattler-build: serialization of recipes in the package (part of the repro efforts) https://github.com/conda/ceps/pull/74
- rattler-build: Jinja functions that can be used (e.g. compiler, pin_subpackage, etc) https://github.com/conda/ceps/pull/71
- (FF) How to handle the ICU proliferation: https://github.com/conda-forge/libxml2-feedstock/issues/41
- Haunts every now and then while building custom wheels out of conda packages.
- ICU makes the wheels massive. How to get ICU out of the way.
- MB: Also useful for conda itself. libarchive and libxml2 (this one depends on ICU) come to mind.
- Provide ICU variants without the full data package? Can be a smaller one (e.g. English and other ones only)
- IF: Maybe build two variants of libxml2, with and without ICU. If we are lucky with the exported symbols, we don't need a migration. We just need to make sure the adequate constraints are in place so the presence of ICU causes the variant swap.
- Let's build one without ICU and let's see what happens with the symbols.
- (IF) MinGW UCRT compilers are ready to test
- gcc and VC are compatible (C only), but gxx is not (different C++ libraries)
- R and Python use different C++ libraries, so we need to be careful about directly linking across this ecosystem boundary.
- Plenty of tasks ahead:
- Update R recipes need to be updated so they don't use the {{native}} Jinja prefix, possibly with a migrator
- r-base for Windows PR
- conda-build bug (sysroot detection assumes Linux)
- (IF) Drop GLIBC 2.12 (CentOS 6) end of this month.
- Will open PR and move on.
Pushed to next meeting
- [ ]
CFEPs
- [ ]