Skip to content

Commit 09d8637

Browse files
author
cranko
committed
Release request commit created with Cranko.
+++ cranko-rc-info-v1 [[projects]] qnames = ["tectonic_xdv", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic_errors", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic_xetex_format", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic_status_base", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic_io_base", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic_geturl", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic_docmodel", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic_dep_support", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic_bundles", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic_bridge_graphite2", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic_bridge_flate", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic_bridge_core", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic_xetex_layout", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic_pdf_io", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic_engine_xetex", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic_engine_xdvipdfmx", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic_engine_spx2html", "cargo"] bump_spec = "minor bump" [[projects]] qnames = ["tectonic_engine_bibtex", "cargo"] bump_spec = "micro bump" +++
2 parents b580bc3 + b8b0245 commit 09d8637

104 files changed

Lines changed: 6740 additions & 5302 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 6 additions & 1264 deletions
Large diffs are not rendered by default.

Cargo.lock

Lines changed: 1284 additions & 1239 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,11 @@ flate2 = { version = "^1.0.19", default-features = false, features = ["zlib"] }
6363
fs2 = "^0.4"
6464
lazy_static = "^1.4"
6565
libc = "^0.2"
66-
md-5 = "^0.9"
67-
open = "1.4.0"
68-
quick-xml = "^0.22"
66+
md-5 = "^0.10"
67+
open = "^4.0"
68+
quick-xml = "^0.28"
6969
serde = { version = "^1.0", features = ["derive"], optional = true }
70-
sha2 = "^0.9"
70+
sha2 = "^0.10"
7171
structopt = "0.3"
7272
tectonic_bridge_core = { path = "crates/bridge_core", version = "0.0.0-dev.0" }
7373
tectonic_bundles = { path = "crates/bundles", version = "0.0.0-dev.0", default-features = false }
@@ -84,10 +84,13 @@ tectonic_xdv = { path = "crates/xdv", version = "0.0.0-dev.0" }
8484
tectonic_xetex_layout = { path = "crates/xetex_layout", version = "0.0.0-dev.0" }
8585
tempfile = "^3.1"
8686
termcolor = "^1.1"
87-
toml = { version = "^0.5", optional = true }
87+
tokio = "^1.0"
88+
toml = { version = "^0.7", optional = true }
8889
url = "^2.0"
89-
watchexec = "^1.15.3"
90-
zip = { version = "^0.5", default-features = false, features = ["deflate"] }
90+
watchexec = "^2.3.0"
91+
watchexec-filterer-globset = "1.2"
92+
watchexec-signals = "1.0"
93+
zip = { version = "^0.6", default-features = false, features = ["deflate"] }
9194

9295
[features]
9396
default = ["geturl-reqwest", "serialization"]
@@ -112,21 +115,24 @@ profile = []
112115

113116
[dev-dependencies]
114117
filetime = "^0.2"
115-
futures = "0.1"
116-
headers = "0.2"
117-
hyper = "0.12"
118+
futures = "0.3"
119+
headers = "0.3"
120+
hyper = { version = "0.14", features = ["server"] }
118121
tempfile = "^3.1"
119-
tokio = "0.1.22"
120122

121123
[package.metadata.vcpkg]
122124
git = "https://github.com/microsoft/vcpkg"
123-
rev = "1be5a98d090b1d2beeb63a48ba800fbf006e8aca"
125+
rev = "ea222747b888b8d63df56240b262db38b095c68f"
126+
overlay-triplets-path = "dist/vcpkg-triplets"
124127

128+
# If other targets start using custom triplets like x86_64-pc-windows-msvc,
129+
# add them to crates/dep_support/src/lib.rs:new_from_vcpkg() to give users
130+
# guidance if they might need to set $VCPKGRS_TRIPLET.
125131
[package.metadata.vcpkg.target]
126132
x86_64-apple-darwin = { install = ["freetype","harfbuzz[icu,graphite2]"] }
127133
aarch64-apple-darwin = { triplet = "arm64-osx", install = ["freetype","harfbuzz[icu,graphite2]"] }
128134
x86_64-unknown-linux-gnu = { install = ["fontconfig","freetype","harfbuzz[icu,graphite2]"] }
129-
x86_64-pc-windows-msvc = { triplet = "x64-windows-static", install = ["fontconfig","freetype","harfbuzz[icu,graphite2]"] }
135+
x86_64-pc-windows-msvc = { triplet = "x64-windows-static-release", install = ["fontconfig","freetype","harfbuzz[icu,graphite2]"] }
130136

131137
[package.metadata.internal_dep_versions]
132138
tectonic_bridge_core = "526ff57d5dd9f80dff35a3a5dd856edc9f0f61aa"
@@ -139,7 +145,7 @@ tectonic_cfg_support = "thiscommit:aeRoo7oa"
139145
tectonic_dep_support = "5faf4205bdd3d31101b749fc32857dd746f9e5bc"
140146
tectonic_docmodel = "a88a0418a9c3c559d023d9b1da9b03fce3a469e5"
141147
tectonic_engine_bibtex = "thiscommit:2021-01-17:KuhaeG1e"
142-
tectonic_engine_spx2html = "thiscommit:2022-03-02:IQWAncv"
148+
tectonic_engine_spx2html = "thiscommit:2022-11-22:vicemXu"
143149
tectonic_engine_xdvipdfmx = "8a003834b1f6d967d33cc07de4cc025af14560da"
144150
tectonic_engine_xetex = "c135e6a4a5a2e8c2dc4edcbcfd93f7d466ff8f88"
145151
tectonic_errors = "317ae79ceaa2593fb56090e37bf1f5cc24213dd9"

build.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ fn main() {
99
// they want to spawn off executables.
1010

1111
let target = env::var("TARGET").unwrap();
12-
println!("cargo:rustc-env=TARGET={}", target);
12+
println!("cargo:rustc-env=TARGET={target}");
1313
}

crates/bridge_core/CHANGELOG.md

Lines changed: 54 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,56 @@
1-
# See elsewhere for changelog
1+
# rc: micro bump
22

3-
This project’s release notes are curated from the Git history of its main
4-
branch. You can find them by looking at [the version of this file on the
5-
`release` branch][branch] or the [GitHub release history][gh-releases].
3+
- Bump the `md-5` dep to the 0.10 series (#1038, @CraftSpider)
4+
- Tidy up recent Clippy warnings.
65

7-
[branch]: https://github.com/tectonic-typesetting/tectonic/blob/release/crates/bridge_core/CHANGELOG.md
8-
[gh-releases]: https://github.com/tectonic-typesetting/tectonic/releases
6+
7+
# tectonic_bridge_core 0.3.1 (2022-10-03)
8+
9+
- Remove C's `time_t` from internal FFI APIs to avoid portability issues. This
10+
should avoid issues with Linux Musl builds.
11+
12+
13+
# tectonic_bridge_core 0.3.0 (2021-10-11)
14+
15+
- Add `SecuritySettings::allow_extra_search_paths()` (#814, @ralismark).
16+
17+
18+
# tectonic_bridge_core 0.2.2 (2021-06-17)
19+
20+
- Switch from running [cbindgen] at build time to having the developer run it
21+
manually. This really ought to fix the crate builds on docs.rs ([#788]), and
22+
should speed builds too.
23+
24+
[cbindgen]: https://github.com/eqrion/cbindgen
25+
[#788]: https://github.com/tectonic-typesetting/tectonic/issues/788
26+
27+
28+
# tectonic_bridge_core 0.2.1 (2021-06-17)
29+
30+
- Attempt to fix crate builds on docs.rs — see [#788]. This works around an
31+
issue in Tectonic’s usage of [cbindgen] by configuring Cargo to operate in
32+
offline mode when building on docs.rs, which builds crates with network access
33+
turned off.
34+
35+
[#788]: https://github.com/tectonic-typesetting/tectonic/issues/788
36+
[cbindgen]: https://github.com/eqrion/cbindgen
37+
38+
39+
# tectonic_bridge_core 0.2.0 (2021-06-15)
40+
41+
- Add a security infrastructure that gives a systematic way to control whether
42+
features that can be abused by untrusted inputs, like shell-escape, are
43+
enabled. The default is to disable all such features. Callers can request to
44+
allow their use, but we use a centralized approach that ensures that such
45+
requests will always be denied if the environment variable
46+
`$TECTONIC_UNTRUSTED_MODE` is set to a nonempty value (@pkgw, #787).
47+
- Add a C API allowing us to expose the filesystem paths for just-opened
48+
inputs. This is needed for correct SyncTeX support (@hullanson, @pkgw, #762).
49+
50+
51+
# tectonic_bridge_core 0.1.0 (2021-06-03)
52+
53+
This is the first release of the "core" bridge crate. It provides a baseline of
54+
APIs for C/C++ code to interact with an underlying "driver" implemented in Rust.
55+
Those APIs mainly revolve around basic I/O and diagnostics, although we do have
56+
a specialized "system request" to implement the TeX shell-escape feature.

crates/bridge_core/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ links = "tectonic_bridge_core"
2222
flate2 = { version = "^1.0", default-features = false, features = ["zlib"] }
2323
lazy_static = "^1.4"
2424
libc = "^0.2"
25-
md-5 = "^0.9"
25+
md-5 = "^0.10"
2626
tectonic_errors = { path = "../errors", version = "0.0.0-dev.0" }
2727
tectonic_io_base = { path = "../io_base", version = "0.0.0-dev.0" }
2828
tectonic_status_base = { path = "../status_base", version = "0.0.0-dev.0" }

crates/bridge_core/src/lib.rs

Lines changed: 9 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2016-2021 the Tectonic Project
1+
// Copyright 2016-2022 the Tectonic Project
22
// Licensed under the MIT License.
33

44
#![deny(missing_docs)]
@@ -349,7 +349,7 @@ impl<'a> CoreBridgeState<'a> {
349349
// `lipsum.ltd.tex` under the name `lipsum.ltd`.
350350

351351
for e in format.extensions() {
352-
let ext = format!("{}.{}", name, e);
352+
let ext = format!("{name}.{e}");
353353

354354
if let FileFormat::Format = format {
355355
match io.input_open_format(&ext, self.status) {
@@ -714,11 +714,12 @@ pub struct SecuritySettings {
714714

715715
/// Different high-level security stances that can be adopted when creating
716716
/// [`SecuritySettings`].
717-
#[derive(Clone, Debug)]
717+
#[derive(Clone, Debug, Default)]
718718
pub enum SecurityStance {
719719
/// Ensure that all known-insecure features are disabled.
720720
///
721721
/// Use this stance if you are processing untrusted input.
722+
#[default]
722723
DisableInsecures,
723724

724725
/// Request to allow the use of known-insecure features.
@@ -730,13 +731,6 @@ pub enum SecurityStance {
730731
MaybeAllowInsecures,
731732
}
732733

733-
impl Default for SecurityStance {
734-
fn default() -> Self {
735-
// Obvi, the default is secure!!!
736-
SecurityStance::DisableInsecures
737-
}
738-
}
739-
740734
impl SecuritySettings {
741735
/// Create a new security configuration.
742736
///
@@ -817,11 +811,7 @@ pub unsafe extern "C" fn ttbc_get_file_md5(
817811
let rpath = CStr::from_ptr(path).to_string_lossy();
818812
let rdest = slice::from_raw_parts_mut(digest, 16);
819813

820-
if es.get_file_md5(rpath.as_ref(), rdest) {
821-
1
822-
} else {
823-
0
824-
}
814+
libc::c_int::from(es.get_file_md5(rpath.as_ref(), rdest))
825815
}
826816

827817
/// Calculate the MD5 digest of a block of binary data.
@@ -917,11 +907,7 @@ pub extern "C" fn ttbc_output_flush(
917907
es: &mut CoreBridgeState,
918908
handle: *mut OutputHandle,
919909
) -> libc::c_int {
920-
if es.output_flush(handle) {
921-
1
922-
} else {
923-
0
924-
}
910+
libc::c_int::from(es.output_flush(handle))
925911
}
926912

927913
/// Close a Tectonic output file.
@@ -934,11 +920,7 @@ pub extern "C" fn ttbc_output_close(
934920
return 0; // This is/was the behavior of close_file() in C.
935921
}
936922

937-
if es.output_close(handle) {
938-
1
939-
} else {
940-
0
941-
}
923+
libc::c_int::from(es.output_close(handle))
942924
}
943925

944926
/// Open a Tectonic file for input.
@@ -1137,11 +1119,7 @@ pub extern "C" fn ttbc_input_close(
11371119
return 0; // This is/was the behavior of close_file() in C.
11381120
}
11391121

1140-
if es.input_close(handle) {
1141-
1
1142-
} else {
1143-
0
1144-
}
1122+
libc::c_int::from(es.input_close(handle))
11451123
}
11461124

11471125
/// A buffer for diagnostic messages. Rust code does not need to use this type.
@@ -1214,11 +1192,7 @@ pub unsafe extern "C" fn ttbc_shell_escape(
12141192
}
12151193
};
12161194

1217-
if es.shell_escape(&rcmd) {
1218-
1
1219-
} else {
1220-
0
1221-
}
1195+
libc::c_int::from(es.shell_escape(&rcmd))
12221196
}
12231197

12241198
/// Different types of files that can be opened by TeX engines

crates/bridge_flate/CHANGELOG.md

Lines changed: 54 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,56 @@
1-
# See elsewhere for changelog
1+
# rc: micro bump
22

3-
This project’s release notes are curated from the Git history of its main
4-
branch. You can find them by looking at [the version of this file on the
5-
`release` branch][branch] or the [GitHub release history][gh-releases].
3+
- Tidy up recent Clippy warnings.
64

7-
[branch]: https://github.com/tectonic-typesetting/tectonic/blob/release/crates/bridge_flate/CHANGELOG.md
8-
[gh-releases]: https://github.com/tectonic-typesetting/tectonic/releases
5+
6+
# tectonic_bridge_flate 0.1.6 (2022-10-03)
7+
8+
No code changes, but some internal documentation improvements about managing FFI
9+
APIs.
10+
11+
12+
# tectonic_bridge_flate 0.1.5 (2021-06-17)
13+
14+
- Switch from running [cbindgen] at build time to having the developer run it
15+
manually. This really ought to fix the crate builds on docs.rs ([#788]), and
16+
should speed builds too.
17+
18+
[cbindgen]: https://github.com/eqrion/cbindgen
19+
[#788]: https://github.com/tectonic-typesetting/tectonic/issues/788
20+
21+
22+
# tectonic_bridge_flate 0.1.4 (2021-06-17)
23+
24+
- Attempt to fix crate builds on docs.rs — see [#788]. This works around an
25+
issue in Tectonic’s usage of [cbindgen] by configuring Cargo to operate in
26+
offline mode when building on docs.rs, which builds crates with network access
27+
turned off.
28+
29+
[#788]: https://github.com/tectonic-typesetting/tectonic/issues/788
30+
[cbindgen]: https://github.com/eqrion/cbindgen
31+
32+
33+
# tectonic_bridge_flate 0.1.3 (2021-06-16)
34+
35+
- Try again with our docs.rs workarounds. Looks like we need
36+
`CARGO_NET_OFFLINE=true`, not `CARGO_NET_OFFLINE=1`.
37+
38+
39+
# tectonic_bridge_flate 0.1.2 (2021-06-16)
40+
41+
- Try some workarounds to get docs building on docs.rs, both for this crate on
42+
its own and for the toplevel `tectonic` crate.
43+
44+
45+
# tectonic_bridge_flate 0.1.1 (2021-01-16)
46+
47+
- Fix a Clippy complaint
48+
49+
50+
# tectonic_bridge_flate 0.1.0 (2021-01-03)
51+
52+
Initial release of the `tectonic_bridge_flate` crate. This crate provides a
53+
simple C API to the flate2 crate — even though flate2 often wraps zlib, which
54+
has its own C API. This is the first step towards segmenting Tectonic's
55+
native-library dependencies and starting to be able to vendor them. This new
56+
crate doesn't change anything dramatic yet, but starts that process.

crates/bridge_flate/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ pub unsafe extern "C" fn tectonic_flate_compress(
7272
(c.total_out(), FlateResult::Success)
7373
};
7474

75-
*output_len = size as u64;
75+
*output_len = size;
7676
result
7777
}
7878

@@ -101,7 +101,7 @@ pub unsafe extern "C" fn tectonic_flate_decompress(
101101
Err(_) => (0, FlateResult::OtherError),
102102
};
103103

104-
*output_len = size as u64;
104+
*output_len = size;
105105
result
106106
}
107107

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,26 @@
1-
# See elsewhere for changelog
1+
# rc: micro bump
22

3-
This project’s release notes are curated from the Git history of its main
4-
branch. You can find them by looking at [the version of this file on the
5-
`release` branch][branch] or the [GitHub release history][gh-releases].
3+
- Tidy up recent Clippy warnings.
64

7-
[branch]: https://github.com/tectonic-typesetting/tectonic/blob/release/crates/bridge_graphite2/CHANGELOG.md
8-
[gh-releases]: https://github.com/tectonic-typesetting/tectonic/releases
5+
6+
# tectonic_bridge_graphite2 0.2.1 (2021-10-11)
7+
8+
- Fix the build script for Rust >=1.55 (#820, @pkgw)
9+
10+
11+
# tectonic_bridge_graphite2 0.2.0 (2021-06-03)
12+
13+
- Fix up handling of how C/C++ header file paths are exported to dependent
14+
crates. This is a breaking change: we've moved from a single include directory
15+
to a list of them.
16+
- Some improvements to the documentation
17+
18+
# tectonic_bridge_graphite2 0.1.1 (2021-01-16)
19+
20+
- Export information about the `GRAPHITE2_STATIC` C preprocessor define that is
21+
sometimes needed.
22+
23+
# tectonic_bridge_graphite2 0.1.0 (2021-01-04)
24+
25+
A new crate to encapsulate the location and use of the `graphite2` library used
26+
by Tectonic.

0 commit comments

Comments
 (0)