fish SlackBuild – vendored Rust dependencies =========================================== This SlackBuild vendors Rust dependencies to allow a fully offline and reproducible build, as required by SlackBuilds.org. 1) fish vendor tarball ---------------------- The file: fish--vendor.tar.gz contains all Rust crates required by fish and was generated on a system with network access. Steps to regenerate (run in the fish source tree): $ cargo vendor vendor $ tar czf fish--vendor.tar.gz vendor During the SlackBuild, this tarball is unpacked and Cargo is forced to use it via: .cargo/config.toml CARGO_NET_OFFLINE=true This prevents any access to crates.io during the build. 2) rust-pcre2 ------------- fish depends on rust-pcre2, which upstream fetches via git. To keep the build offline, rust-pcre2 is provided as a separate tarball: rust-pcre2-0.2.9-utf32.tar.gz Cargo.toml is patched to use this local path instead of the git repository. 3) Updating to a new fish version --------------------------------- When updating fish: - Update VERSION in the SlackBuild - Regenerate fish--vendor.tar.gz - Update checksums in fish.info No network access should be required when running the SlackBuild.