aware-tectonic-bundles 0.4.3

Tectonic "bundle" (support file collection) implementations — Aware Software fork of tectonic_bundles 0.4.1 that does not contact the network when the bundle cache is warm.
Documentation

The aware-tectonic-bundles crate

Aware Software fork of tectonic_bundles 0.4.1. Three functional changes, all fenced AWARE REPORTS PATCH: (1) src/cache.rs — a warm bundle cache is served without contacting the network; upstream 0.4.x re-fetches the bundle digest on every bundle open, adding a network round-trip (and a hard network dependency) to every run even when all files are cached. (2) src/itar.rs — connect the range reader lazily in open_fileinfo; upstream never connects it when the index comes from the local cache and panics (Option::unwrap on None) on any cache miss, a latent bug previously masked by the digest phone-home's side effect. (3) src/itar.rs — memoize the parsed bundle index process-wide (keyed by bundle URL): parsing the ~38k-entry index costs tens of milliseconds and multi-pass renders otherwise re-parse it once per pass. The library name is kept as tectonic_bundles, so use tectonic_bundles::… works unchanged. Maintained at https://github.com/ikhomyakov/tectonic; intended for use by aware-tectonic.

This crate is part of the Tectonic project. It implements various Tectonic "bundles" that provide access to collections of TeX support files.

Cargo features

This crate provides the following Cargo features:

  • geturl-curl: use the curl crate to implement HTTP requests. In order for this to take effect, you must use --no-default-features because geturl-reqwest is a default feature and it takes precedence
  • geturl-reqwest: use the reqwest crate to implement HTTP requests (enabled by default)
  • native-tls-vendored: if using reqwest, activate the vendored option in the native-tls crate, causing OpenSSL to be vendored