indygreg / indygreg/PyOxidizer
add pre-fetch/local dependency substitution feature
- Dominant language
- Rust
- Stars
- 6.2k
- Forks
- 256
- PR merge metrics
- No merged PRs in 30d
Description
I'm currently trying to package the https://github.com/seL4/microkit SDK for https://github.com/nixOS/nixpkgs/ . Builds in Nix are hermetically sealed, meaning during a build no internet connection is allowed. However, one can use a URL fetcher + a hash to fetch a pinpointed dependency. Alternatively, one can opt in to having internet connection during the compilation, but then all generated artifacts are hashed (and the hash has to be stable).
In order to package something which relies on PyOxidizer, it would be desirable to
- either be able to pre-fetch all dependencies for a build (like [`cargo vendor](https://doc.rust-lang.org/cargo/commands/cargo-vendor.html))
- or to allow substitution of all artifacts which are normally downloaded by PyOxidizer with local files (which then one can pre-fetch themselves)
Possibly related: https://github.com/indygreg/PyOxidizer/issues/204, https://github.com/indygreg/PyOxidizer/issues/589
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing related issues #204 and #589, then trace how PyOxidizer currently downloads build dependencies. Define whether the feature should support pre-fetching, local artifact substitution, or both; done means hermetic builds can use locally supplied dependencies without network access.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100