diff --git a/Cargo.lock b/Cargo.lock index 9db5404b1..c53ac5328 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -37,15 +37,15 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.57" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc" +checksum = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704" [[package]] name = "app_dirs2" -version = "2.4.0" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6f731ef6e0f345c835c86724f619d3a73d8be0a9505b83d5e2fa34fd1d50261" +checksum = "ed3f1233fbc4700ed960dbaa89fff962a7b77e614bf11570e7aba2493c9a41b7" dependencies = [ "jni", "ndk-context", @@ -147,9 +147,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.9.1" +version = "3.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899" +checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3" [[package]] name = "byte-tools" @@ -264,11 +264,11 @@ dependencies = [ [[package]] name = "clearscreen" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7ed49b0e894fe6264a58496c7ec4e9d3c46f66b59efae527cd5bee429d0a418" +checksum = "c969a6b6dadff9f3349b1f783f553e2411104763ca4789e1c6ca6a41f46a57b0" dependencies = [ - "nix", + "nix 0.24.1", "terminfo", "thiserror", "which", @@ -300,7 +300,7 @@ version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7a8a86f409b4a59df3a3e4bee2de0b83f1755fdd2a25e3a9684c396fc4bed2c" dependencies = [ - "nix", + "nix 0.22.3", "winapi 0.3.9", ] @@ -388,12 +388,12 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38" +checksum = "8ff1f980957787286a554052d03c7aee98d99cc32e09f6d45f0a814133c87978" dependencies = [ "cfg-if 1.0.0", - "lazy_static", + "once_cell", ] [[package]] @@ -413,9 +413,9 @@ dependencies = [ [[package]] name = "curl-sys" -version = "0.4.53+curl-7.82.0" +version = "0.4.55+curl-7.83.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8092905a5a9502c312f223b2775f57ec5c5b715f9a15ee9d2a8591d1364a0352" +checksum = "23734ec77368ec583c2e61dd3f0b0e5c98b93abe6d2a004ca06b91dd7e3e2762" dependencies = [ "cc", "libc", @@ -600,13 +600,11 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39522e96686d38f4bc984b9198e3a0613264abaebaff2c5c918bfa6b6da09af" +checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" dependencies = [ - "cfg-if 1.0.0", "crc32fast", - "libc", "libz-sys", "miniz_oxide", ] @@ -783,13 +781,13 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad" +checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" dependencies = [ "cfg-if 1.0.0", "libc", - "wasi 0.10.2+wasi-snapshot-preview1", + "wasi 0.11.0+wasi-snapshot-preview1", ] [[package]] @@ -857,19 +855,19 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http 0.2.6", + "http 0.2.8", "indexmap", "slab", - "tokio 1.17.0", + "tokio 1.19.2", "tokio-util", "tracing", ] [[package]] name = "hashbrown" -version = "0.11.2" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +checksum = "db0d4cf898abf0081f964436dc980e96670a0f36863e4b83aaacdb65c9d7ccc3" [[package]] name = "headers" @@ -928,13 +926,13 @@ dependencies = [ [[package]] name = "http" -version = "0.2.6" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ "bytes 1.1.0", "fnv", - "itoa 1.0.1", + "itoa 1.0.2", ] [[package]] @@ -951,20 +949,20 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes 1.1.0", - "http 0.2.6", + "http 0.2.8", "pin-project-lite", ] [[package]] name = "httparse" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6330e8a36bd8c859f3fa6d9382911fbb7147ec39807f63b923933a247240b9ba" +checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c" [[package]] name = "httpdate" @@ -1010,23 +1008,23 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.18" +version = "0.14.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b26ae0a80afebe130861d90abf98e3814a4f28a4c6ffeb5ab8ebb2be311e0ef2" +checksum = "42dc3c131584288d375f2d07f822b0cb012d8c6fb899a5b9fdb3cb7eb9b6004f" dependencies = [ "bytes 1.1.0", "futures-channel", "futures-core", "futures-util", "h2 0.3.13", - "http 0.2.6", - "http-body 0.4.4", + "http 0.2.8", + "http-body 0.4.5", "httparse", "httpdate", - "itoa 1.0.1", + "itoa 1.0.2", "pin-project-lite", "socket2", - "tokio 1.17.0", + "tokio 1.19.2", "tower-service", "tracing", "want 0.3.0", @@ -1039,9 +1037,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes 1.1.0", - "hyper 0.14.18", + "hyper 0.14.19", "native-tls", - "tokio 1.17.0", + "tokio 1.19.2", "tokio-native-tls", ] @@ -1068,7 +1066,7 @@ version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b287fb45c60bb826a0dc68ff08742b9d88a2fea13d6e0c286b3172065aaf878c" dependencies = [ - "crossbeam-utils 0.8.8", + "crossbeam-utils 0.8.9", "globset", "lazy_static", "log", @@ -1082,9 +1080,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.8.1" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f647032dfaa1f8b6dc29bd3edb7bbef4861b8b8007ebb118d6db284fd59f6ee" +checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" dependencies = [ "autocfg", "hashbrown", @@ -1142,9 +1140,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "itoa" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" +checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" [[package]] name = "jni" @@ -1168,9 +1166,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "js-sys" -version = "0.3.57" +version = "0.3.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "671a26f820db17c2a2750743f1dd03bafd15b98c9f30c7c2628c024c05d73397" +checksum = "c3fac17f7123a73ca62df411b1bf727ccc805daa070338fda671c86dac1bdc27" dependencies = [ "wasm-bindgen", ] @@ -1199,15 +1197,15 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.124" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a41fed9d98f27ab1c6d161da622a4fa35e8a54a8adc24bbf3ddd0ef70b0e50" +checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" [[package]] name = "libz-sys" -version = "1.1.5" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f35facd4a5673cb5a48822be2be1d4236c1c99cb4113cab7061ac720d5bf859" +checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf" dependencies = [ "cc", "libc", @@ -1226,9 +1224,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.16" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ "cfg-if 1.0.0", ] @@ -1264,9 +1262,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memoffset" @@ -1300,9 +1298,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.5.1" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082" +checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc" dependencies = [ "adler", ] @@ -1320,7 +1318,7 @@ dependencies = [ "kernel32-sys", "libc", "log", - "miow 0.2.2", + "miow", "net2", "slab", "winapi 0.2.8", @@ -1328,16 +1326,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52da4364ffb0e4fe33a9841a98a3f3014fb964045ce4f7a45a398243c8d6b0c9" +checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" dependencies = [ "libc", "log", - "miow 0.3.7", - "ntapi", "wasi 0.11.0+wasi-snapshot-preview1", - "winapi 0.3.9", + "windows-sys", ] [[package]] @@ -1375,15 +1371,6 @@ dependencies = [ "ws2_32-sys", ] -[[package]] -name = "miow" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" -dependencies = [ - "winapi 0.3.9", -] - [[package]] name = "native-tls" version = "0.2.10" @@ -1432,6 +1419,17 @@ dependencies = [ "memoffset 0.6.5", ] +[[package]] +name = "nix" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f17df307904acd05aa8e32e97bb20f2a0df1728bbc2d771ae8f9a90463441e9" +dependencies = [ + "bitflags", + "cfg-if 1.0.0", + "libc", +] + [[package]] name = "nom" version = "5.1.2" @@ -1470,20 +1468,11 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "ntapi" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f" -dependencies = [ - "winapi 0.3.9", -] - [[package]] name = "num-integer" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ "autocfg", "num-traits", @@ -1491,9 +1480,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg", ] @@ -1510,18 +1499,18 @@ dependencies = [ [[package]] name = "object" -version = "0.28.3" +version = "0.28.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456" +checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.10.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9" +checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225" [[package]] name = "opaque-debug" @@ -1547,18 +1536,30 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.38" +version = "0.10.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95" +checksum = "fb81a6430ac911acb25fe5ac8f1d2af1b4ea8a4fdfda0f1ee4292af2e2d8eb0e" dependencies = [ "bitflags", "cfg-if 1.0.0", "foreign-types", "libc", "once_cell", + "openssl-macros", "openssl-sys", ] +[[package]] +name = "openssl-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "openssl-probe" version = "0.1.5" @@ -1567,18 +1568,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "111.18.0+1.1.1n" +version = "111.21.0+1.1.1p" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7897a926e1e8d00219127dc020130eca4292e5ca666dd592480d72c3eca2ff6c" +checksum = "6d0a8313729211913936f1b95ca47a5fc7f2e04cd658c115388287f8a8361008" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.72" +version = "0.9.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb" +checksum = "835363342df5fba8354c5b453325b110ffd54044e588c539cf2f20a8014e4cb1" dependencies = [ "autocfg", "cc", @@ -1811,11 +1812,11 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.37" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1" +checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7" dependencies = [ - "unicode-xid", + "unicode-ident", ] [[package]] @@ -1829,9 +1830,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" +checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804" dependencies = [ "proc-macro2", ] @@ -1896,7 +1897,7 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" dependencies = [ - "getrandom 0.2.6", + "getrandom 0.2.7", ] [[package]] @@ -1938,16 +1939,16 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.6", + "getrandom 0.2.7", "redox_syscall 0.2.13", "thiserror", ] [[package]] name = "regex" -version = "1.5.5" +version = "1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" +checksum = "d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1" dependencies = [ "aho-corasick", "memchr", @@ -1956,9 +1957,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.25" +version = "0.6.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" +checksum = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64" [[package]] name = "remove_dir_all" @@ -1971,9 +1972,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.10" +version = "0.11.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46a1f7aa4f35e5e8b4160449f51afc758f0ce6454315a9fa7d0d113e958c41eb" +checksum = "b75aa69a3f06bbcc66ede33af2af253c6f7a86b1ca0033f60c580a27074fbf92" dependencies = [ "base64 0.13.0", "bytes 1.1.0", @@ -1981,9 +1982,9 @@ dependencies = [ "futures-core", "futures-util", "h2 0.3.13", - "http 0.2.6", - "http-body 0.4.4", - "hyper 0.14.18", + "http 0.2.8", + "http-body 0.4.5", + "hyper 0.14.19", "hyper-tls", "ipnet", "js-sys", @@ -1996,8 +1997,9 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "tokio 1.17.0", + "tokio 1.19.2", "tokio-native-tls", + "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", @@ -2022,9 +2024,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" +checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" [[package]] name = "same-file" @@ -2037,12 +2039,12 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" dependencies = [ "lazy_static", - "winapi 0.3.9", + "windows-sys", ] [[package]] @@ -2091,18 +2093,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.136" +version = "1.0.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" +checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.136" +version = "1.0.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" +checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be" dependencies = [ "proc-macro2", "quote", @@ -2111,11 +2113,11 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.79" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" +checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c" dependencies = [ - "itoa 1.0.1", + "itoa 1.0.2", "ryu", "serde", ] @@ -2127,7 +2129,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.1", + "itoa 1.0.2", "ryu", "serde", ] @@ -2244,13 +2246,13 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.91" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d" +checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" dependencies = [ "proc-macro2", "quote", - "unicode-xid", + "unicode-ident", ] [[package]] @@ -2537,9 +2539,9 @@ dependencies = [ [[package]] name = "tera" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3cac831b615c25bcef632d1cabf864fa05813baad3d526829db18eb70e8b58d" +checksum = "7c9783d6ff395ae80cf17ed9a25360e7ba37742a79fa8fddabb073c5c7c8856d" dependencies = [ "chrono", "chrono-tz", @@ -2590,18 +2592,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.30" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.30" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a" dependencies = [ "proc-macro2", "quote", @@ -2619,11 +2621,12 @@ dependencies = [ [[package]] name = "time" -version = "0.1.43" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" dependencies = [ "libc", + "wasi 0.10.0+wasi-snapshot-preview1", "winapi 0.3.9", ] @@ -2668,15 +2671,16 @@ dependencies = [ [[package]] name = "tokio" -version = "1.17.0" +version = "1.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2af73ac49756f3f7c01172e34a23e5d0216f6c32333757c2c61feb2bbff5a5ee" +checksum = "c51a52ed6686dd62c320f9b89299e9dfb46f730c7a48e635c19f21d116cb1439" dependencies = [ "bytes 1.1.0", "libc", "memchr", - "mio 0.8.2", + "mio 0.8.4", "num_cpus", + "once_cell", "pin-project-lite", "socket2", "winapi 0.3.9", @@ -2753,7 +2757,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" dependencies = [ "native-tls", - "tokio 1.17.0", + "tokio 1.19.2", ] [[package]] @@ -2863,15 +2867,15 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0edfdeb067411dba2044da6d1cb2df793dd35add7888d73c16e3381ded401764" +checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45" dependencies = [ "bytes 1.1.0", "futures-core", "futures-sink", "pin-project-lite", - "tokio 1.17.0", + "tokio 1.19.2", "tracing", ] @@ -2886,40 +2890,28 @@ dependencies = [ [[package]] name = "tower-service" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.34" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0ecdcb44a79f0fe9844f0c4f33a342cbcbb5117de8001e6ba0dc2351327d09" +checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160" dependencies = [ "cfg-if 1.0.0", "pin-project-lite", - "tracing-attributes", "tracing-core", ] -[[package]] -name = "tracing-attributes" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e65ce065b4b5c53e73bb28912318cb8c9e9ad3921f1d669eb0e68b4c8143a2b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "tracing-core" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f54c8ca710e81886d498c2fd3331b56c93aa248d49de2222ad2742247c60072f" +checksum = "7709595b8878a4965ce5e87ebf880a7d39c9afc6837721b21a5a816a8117d921" dependencies = [ - "lazy_static", + "once_cell", ] [[package]] @@ -2942,9 +2934,9 @@ checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" [[package]] name = "uncased" -version = "0.9.6" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5baeed7327e25054889b9bd4f975f32e5f4c5d434042d59ab6cd4142c0a76ed0" +checksum = "09b01702b0fd0b3fadcf98e098780badda8742d4f4a7676615cad90e8ac73622" dependencies = [ "version_check", ] @@ -3005,6 +2997,12 @@ version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +[[package]] +name = "unicode-ident" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c" + [[package]] name = "unicode-normalization" version = "0.1.19" @@ -3026,12 +3024,6 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" -[[package]] -name = "unicode-xid" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" - [[package]] name = "url" version = "2.2.2" @@ -3108,9 +3100,9 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" +version = "0.10.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" [[package]] name = "wasi" @@ -3120,9 +3112,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.80" +version = "0.2.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27370197c907c55e3f1a9fbe26f44e937fe6451368324e009cba39e139dc08ad" +checksum = "7c53b543413a17a202f4be280a7e5c62a1c69345f5de525ee64f8cfdbc954994" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -3130,9 +3122,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.80" +version = "0.2.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53e04185bfa3a779273da532f5025e33398409573f348985af9a1cbf3774d3f4" +checksum = "5491a68ab4500fa6b4d726bd67408630c3dbe9c4fe7bda16d5c82a1fd8c7340a" dependencies = [ "bumpalo", "lazy_static", @@ -3145,9 +3137,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.30" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f741de44b75e14c35df886aff5f1eb73aa114fa5d4d00dcd37b5e01259bf3b2" +checksum = "de9a9cec1733468a8c657e57fa2413d2ae2c0129b95e87c5b72b8ace4d13f31f" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -3157,9 +3149,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.80" +version = "0.2.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17cae7ff784d7e83a2fe7611cfe766ecf034111b49deb850a3dc7699c08251f5" +checksum = "c441e177922bc58f1e12c022624b6216378e5febc2f0533e41ba443d505b80aa" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3167,9 +3159,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.80" +version = "0.2.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99ec0dc7a4756fffc231aab1b9f2f578d23cd391390ab27f952ae0c9b3ece20b" +checksum = "7d94ac45fcf608c1f45ef53e748d35660f168490c10b23704c7779ab8f5c3048" dependencies = [ "proc-macro2", "quote", @@ -3180,9 +3172,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.80" +version = "0.2.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d554b7f530dee5964d9a9468d95c1f8b8acae4f282807e7d27d4b03099a46744" +checksum = "6a89911bd99e5f3659ec4acf9c4d93b0a90fe4a2a11f15328472058edc5261be" [[package]] name = "watchexec" @@ -3197,7 +3189,7 @@ dependencies = [ "globset", "lazy_static", "log", - "nix", + "nix 0.22.3", "notify", "walkdir", "winapi 0.3.9", @@ -3205,9 +3197,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.57" +version = "0.3.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b17e741662c70c8bd24ac5c5b18de314a2c26c32bf8346ee1e6f53de919c283" +checksum = "2fed94beee57daf8dd7d51f2b15dc2bcde92d7a72304cdf662a4371008b71b90" dependencies = [ "js-sys", "wasm-bindgen", @@ -3267,6 +3259,49 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" + [[package]] name = "winreg" version = "0.10.1" diff --git a/crates/bridge_core/src/lib.rs b/crates/bridge_core/src/lib.rs index 7aa496b09..db0673faa 100644 --- a/crates/bridge_core/src/lib.rs +++ b/crates/bridge_core/src/lib.rs @@ -14,6 +14,8 @@ //! //! [cbindgen]: https://github.com/eqrion/cbindgen //! +//! If you change the interfaces here, rerun cbindgen as described in the README! +//! //! In order to provide access to a C/C++ engine in Rust, you should create some //! kind of interface that expects to be given a reference to a //! [`CoreBridgeLauncher`] struct. You should use that struct's @@ -589,7 +591,7 @@ impl<'a> CoreBridgeState<'a> { } } - fn input_get_mtime(&mut self, handle: *mut InputHandle) -> libc::time_t { + fn input_get_mtime(&mut self, handle: *mut InputHandle) -> i64 { let rhandle: &mut InputHandle = unsafe { &mut *handle }; let maybe_time = match rhandle.get_unix_mtime() { @@ -601,7 +603,7 @@ impl<'a> CoreBridgeState<'a> { }; if let Some(t) = maybe_time { - t as libc::time_t + t } else { 1 // Intentionally make this distinguishable from the error value 0 } @@ -1020,10 +1022,7 @@ pub extern "C" fn ttbc_input_get_size( /// Get the modification time of a Tectonic input file. #[no_mangle] -pub extern "C" fn ttbc_input_get_mtime( - es: &mut CoreBridgeState, - handle: *mut InputHandle, -) -> libc::time_t { +pub extern "C" fn ttbc_input_get_mtime(es: &mut CoreBridgeState, handle: *mut InputHandle) -> i64 { es.input_get_mtime(handle) } diff --git a/crates/bridge_core/support/support.c b/crates/bridge_core/support/support.c index 1d4926381..3ae7fff8b 100644 --- a/crates/bridge_core/support/support.c +++ b/crates/bridge_core/support/support.c @@ -254,7 +254,12 @@ ttstub_input_get_size(rust_input_handle_t handle) time_t ttstub_input_get_mtime(rust_input_handle_t handle) { - return ttbc_input_get_mtime(tectonic_global_bridge_core, handle); + /* Due to the Musl 1.2 "time64" transition, we can't safely bridge time_t + * between Rust and C code. And formally, ISO C provides nearly no + * guarantees about what the type time_t actually is. So let's just cast and + * hope for the best. */ + int64_t ti = ttbc_input_get_mtime(tectonic_global_bridge_core, handle); + return (time_t) ti; } diff --git a/crates/bridge_core/support/tectonic_bridge_core_generated.h b/crates/bridge_core/support/tectonic_bridge_core_generated.h index b059be84d..76b9da6fb 100644 --- a/crates/bridge_core/support/tectonic_bridge_core_generated.h +++ b/crates/bridge_core/support/tectonic_bridge_core_generated.h @@ -262,7 +262,7 @@ size_t ttbc_input_get_size(ttbc_state_t *es, ttbc_input_handle_t *handle); /** * Get the modification time of a Tectonic input file. */ -time_t ttbc_input_get_mtime(ttbc_state_t *es, ttbc_input_handle_t *handle); +int64_t ttbc_input_get_mtime(ttbc_state_t *es, ttbc_input_handle_t *handle); /** * Seek in a Tectonic input stream. diff --git a/crates/bridge_flate/src/lib.rs b/crates/bridge_flate/src/lib.rs index 3d9a13506..1ea5ba488 100644 --- a/crates/bridge_flate/src/lib.rs +++ b/crates/bridge_flate/src/lib.rs @@ -6,6 +6,8 @@ //! This crate provides a few extern "C" functions that expose the functionality //! of the flate2 crate in a C API that can be consumed by other C/C++ code in //! the Tectonic codebase. +//! +//! If you change the interfaces here, rerun cbindgen as described in the README! use flate2::{Compress, Compression, Decompress, FlushCompress, FlushDecompress, Status}; use std::{ diff --git a/crates/engine_bibtex/src/lib.rs b/crates/engine_bibtex/src/lib.rs index 76f42f60b..d17cf4022 100644 --- a/crates/engine_bibtex/src/lib.rs +++ b/crates/engine_bibtex/src/lib.rs @@ -16,6 +16,8 @@ //! //! [Tectonic]: https://tectonic-typesetting.github.io/ //! [`tectonic`]: https://docs.rs/tectonic/ +//! +//! If you change the interfaces here, rerun cbindgen as described in the README! use std::ffi::CString; use tectonic_bridge_core::{CoreBridgeLauncher, EngineAbortedError}; diff --git a/crates/engine_xdvipdfmx/src/lib.rs b/crates/engine_xdvipdfmx/src/lib.rs index 3523c28f3..e22c7dfbc 100644 --- a/crates/engine_xdvipdfmx/src/lib.rs +++ b/crates/engine_xdvipdfmx/src/lib.rs @@ -124,7 +124,7 @@ impl XdvipdfmxEngine { .build_date .duration_since(SystemTime::UNIX_EPOCH) .expect("invalid build date") - .as_secs() as libc::time_t, + .as_secs(), }; let cdvi = CString::new(dvi)?; @@ -147,6 +147,8 @@ impl XdvipdfmxEngine { #[doc(hidden)] pub mod c_api { + // If you change the interfaces here, rerun cbindgen as described in the README! + use tectonic_bridge_core::CoreBridgeState; #[derive(Debug)] @@ -155,7 +157,7 @@ pub mod c_api { pub paperspec: *const libc::c_char, pub enable_compression: libc::c_uchar, pub deterministic_tags: libc::c_uchar, - pub build_date: libc::time_t, + pub build_date: u64, } #[allow(improper_ctypes)] // for CoreBridgeState diff --git a/crates/engine_xdvipdfmx/xdvipdfmx/dvipdfmx.c b/crates/engine_xdvipdfmx/xdvipdfmx/dvipdfmx.c index 3bb7eb3b6..3708c9323 100644 --- a/crates/engine_xdvipdfmx/xdvipdfmx/dvipdfmx.c +++ b/crates/engine_xdvipdfmx/xdvipdfmx/dvipdfmx.c @@ -499,6 +499,9 @@ tt_engine_xdvipdfmx_main( return 99; } + /* See ttstub_input_get_mtime() in tectonic_bridge_core about bridging time_t + * over FFI. */ + rv = dvipdfmx_main( pdfname, dviname, @@ -509,7 +512,7 @@ tt_engine_xdvipdfmx_main( (bool) config->deterministic_tags, false, /* quiet */ 0, /* verbose */ - config->build_date, + (time_t) config->build_date, config->paperspec ); diff --git a/crates/engine_xdvipdfmx/xdvipdfmx/xdvipdfmx_bindings.h b/crates/engine_xdvipdfmx/xdvipdfmx/xdvipdfmx_bindings.h index 01ef083a7..3dfc4a2c0 100644 --- a/crates/engine_xdvipdfmx/xdvipdfmx/xdvipdfmx_bindings.h +++ b/crates/engine_xdvipdfmx/xdvipdfmx/xdvipdfmx_bindings.h @@ -10,7 +10,7 @@ typedef struct { const char *paperspec; unsigned char enable_compression; unsigned char deterministic_tags; - time_t build_date; + uint64_t build_date; } XdvipdfmxConfig; #ifdef __cplusplus diff --git a/crates/engine_xetex/src/lib.rs b/crates/engine_xetex/src/lib.rs index 466fbbf0e..3d538aac4 100644 --- a/crates/engine_xetex/src/lib.rs +++ b/crates/engine_xetex/src/lib.rs @@ -228,7 +228,7 @@ impl TexEngine { self.build_date .duration_since(SystemTime::UNIX_EPOCH) .expect("invalid build date") - .as_secs() as libc::time_t, + .as_secs(), ) }; @@ -245,6 +245,8 @@ impl TexEngine { #[doc(hidden)] pub mod c_api { + // If you change the interfaces here, rerun cbindgen as described in the README! + use tectonic_bridge_core::CoreBridgeState; #[allow(improper_ctypes)] // for CoreBridgeState @@ -258,7 +260,7 @@ pub mod c_api { api: &mut CoreBridgeState, dump_name: *const libc::c_char, input_file_name: *const libc::c_char, - build_date: libc::time_t, + build_date: u64, ) -> libc::c_int; } } diff --git a/crates/engine_xetex/xetex/xetex-engine-interface.c b/crates/engine_xetex/xetex/xetex-engine-interface.c index 5b71af1f8..5fca25466 100644 --- a/crates/engine_xetex/xetex/xetex-engine-interface.c +++ b/crates/engine_xetex/xetex/xetex-engine-interface.c @@ -15,7 +15,7 @@ int tt_engine_xetex_main( ttbc_state_t *api, const char *dump_name, const char *input_file_name, - time_t build_date + uint64_t build_date ); /* These functions aren't used within the C/C++ library, but are called @@ -53,7 +53,7 @@ tt_engine_xetex_main( ttbc_state_t *api, const char *dump_name, const char *input_file_name, - time_t build_date + uint64_t build_date ) { int rv; @@ -62,7 +62,9 @@ tt_engine_xetex_main( return HISTORY_FATAL_ERROR; } - rv = tt_run_engine(dump_name, input_file_name, build_date); + /* See ttstub_input_get_mtime() in tectonic_bridge_core about bridging time_t + * over FFI. */ + rv = tt_run_engine(dump_name, input_file_name, (time_t) build_date); ttbc_global_engine_exit(); return rv; } diff --git a/crates/engine_xetex/xetex/xetex_bindings.h b/crates/engine_xetex/xetex/xetex_bindings.h index f576d47da..70d4c0010 100644 --- a/crates/engine_xetex/xetex/xetex_bindings.h +++ b/crates/engine_xetex/xetex/xetex_bindings.h @@ -27,7 +27,7 @@ extern int tt_xetex_set_int_variable(const char *var_name, int value); extern int tt_engine_xetex_main(ttbc_state_t *api, const char *dump_name, const char *input_file_name, - time_t build_date); + uint64_t build_date); #ifdef __cplusplus } // extern "C" diff --git a/crates/pdf_io/pdf_io/dpx-pdfobj.c b/crates/pdf_io/pdf_io/dpx-pdfobj.c index 6a22f5fa7..06facf2ec 100644 --- a/crates/pdf_io/pdf_io/dpx-pdfobj.c +++ b/crates/pdf_io/pdf_io/dpx-pdfobj.c @@ -675,11 +675,11 @@ pdf_out_flush (void) if (dpx_conf.verbose_level > 0) { if (p->options.compression.level > 0) { - dpx_message("Compression saved %ld bytes\n", p->output.compression_saved); + dpx_message("Compression saved %"PRIuZ" bytes\n", p->output.compression_saved); } } - dpx_message("%ld bytes written", p->output.file_position); + dpx_message("%"PRIuZ" bytes written", p->output.file_position); ttstub_output_close(p->output.handle); p->output.handle = NULL; diff --git a/crates/xetex_format/src/enums/dynamic.rs b/crates/xetex_format/src/enums/dynamic.rs index 17cda28d4..07abe91b1 100644 --- a/crates/xetex_format/src/enums/dynamic.rs +++ b/crates/xetex_format/src/enums/dynamic.rs @@ -153,7 +153,7 @@ macro_rules! inner_declare_primitive_value { /// /// Usage: /// -/// ``` +/// ```text /// { /// var $VARNAME1 $SYMNAME1 $SINCE1 [$VALUESOURCE1], /// var $VARNAME2 $SYMNAME2 $SINCE2 [$VALUESOURCE2], @@ -163,7 +163,7 @@ macro_rules! inner_declare_primitive_value { /// /// basically becomes /// -/// ``` +/// ```text /// pub enum Enumeration { /// $VARNAME1, /// $VARNAME2, @@ -207,14 +207,14 @@ macro_rules! inner_declare_enum { /// /// Usage: /// -/// ``` +/// ```text /// (var $VARNAME $SYMNAME $SINCE [$VALUESOURCE]) /// ``` /// /// becomes a `DynamicEnumItemDescription` initializer with `absval` /// of `Some(Enumeration::$VARNAME)`, while /// -/// ``` +/// ```text /// (not ....) /// ``` /// @@ -259,7 +259,7 @@ macro_rules! inner_declare_desc { /// /// Usage: /// -/// ``` +/// ```text /// declare! { /// EnumName enum_name { /// var First FIRST_CODE 10 [Next], @@ -271,7 +271,7 @@ macro_rules! inner_declare_desc { /// /// evaluates to something along the lines of /// -/// ``` +/// ```text /// pub mod enum_name { /// pub enum Enumeration { /// First, diff --git a/crates/xetex_layout/layout/xetex-XeTeXFontMgr_FC.cpp b/crates/xetex_layout/layout/xetex-XeTeXFontMgr_FC.cpp index eb9965dfc..b3f1f2d8e 100644 --- a/crates/xetex_layout/layout/xetex-XeTeXFontMgr_FC.cpp +++ b/crates/xetex_layout/layout/xetex-XeTeXFontMgr_FC.cpp @@ -122,7 +122,8 @@ XeTeXFontMgr_FC::readNames(FcPattern* pat) case kPreferredSubfamilyName: { bool preferredName = false; - if (nameRec.platform_id == TT_PLATFORM_MACINTOSH + /* Tectonic: macRomanConv may not be available; see comment below */ + if (macRomanConv != NULL && nameRec.platform_id == TT_PLATFORM_MACINTOSH && nameRec.encoding_id == TT_MAC_ID_ROMAN && nameRec.language_id == 0) { utf8name = convertToUtf8(macRomanConv, nameRec.string, nameRec.string_len); preferredName = true; @@ -319,10 +320,21 @@ XeTeXFontMgr_FC::initialize() _tt_abort("FreeType initialization failed"); UErrorCode err = U_ZERO_ERROR; + + /* Tectonic: Alpine >=3.16 splits the ICU data in a way that seems to make + * the "macintosh" converter unavailable in our MUSL static builds. I don't + * see a workaround: installing `icu-data-full` doesn't help, I think + * because the static libraries don't access the data file that it provides. + */ macRomanConv = ucnv_open("macintosh", &err); + if (!U_SUCCESS(err)) { + err = U_ZERO_ERROR; + macRomanConv = NULL; + } + utf16beConv = ucnv_open("UTF16BE", &err); utf8Conv = ucnv_open("UTF8", &err); - if (err) + if (!U_SUCCESS(err)) _tt_abort("cannot read font names"); FcPattern* pat = FcNameParse((const FcChar8*)":outline=true"); diff --git a/src/driver.rs b/src/driver.rs index 99f2904ed..a8a957513 100644 --- a/src/driver.rs +++ b/src/driver.rs @@ -338,7 +338,10 @@ impl BridgeState { )); } - let mut ih = self.input_open_name(name, status).must_exist()?; + let mut ih = ctry!( + self.input_open_name(name, status).must_exist(); + "can't open path `{}`", name + ); // If the input path is absolute, we don't need to create a // version in the tempdir, and in fact the current