PDF: pin craft-pdf and krilla to craft-libs main (#1253)

* PDF: pin craft-pdf and krilla to craft-libs main (PNG decode bound)

* PDF: pin craft-pdf and krilla to craft-libs at 9f75d3dc (#254)
This commit is contained in:
aiongg
2026-10-23 22:37:28 -04:00
committed by GitHub
parent 9aef21e627
commit b913c4f9d0
4 changed files with 16 additions and 15 deletions
Generated
+2 -2
View File
@@ -816,7 +816,7 @@ dependencies = [
[[package]]
name = "craft-pdf"
version = "0.1.0"
source = "git+https://github.com/storytold/craft-libs?rev=c3487320b2d1de657b860b3c8abb44e1f2b32bd8#c3487320b2d1de657b860b3c8abb44e1f2b32bd8"
source = "git+https://github.com/storytold/craft-libs?rev=9f75d3dc19b4b514c4f3d4847ed1ec1b0e86b4ef#9f75d3dc19b4b514c4f3d4847ed1ec1b0e86b4ef"
dependencies = [
"krilla",
"thiserror 2.0.21",
@@ -2429,7 +2429,7 @@ dependencies = [
[[package]]
name = "krilla"
version = "0.8.2"
source = "git+https://github.com/storytold/craft-libs?rev=c3487320b2d1de657b860b3c8abb44e1f2b32bd8#c3487320b2d1de657b860b3c8abb44e1f2b32bd8"
source = "git+https://github.com/storytold/craft-libs?rev=9f75d3dc19b4b514c4f3d4847ed1ec1b0e86b4ef#9f75d3dc19b4b514c4f3d4847ed1ec1b0e86b4ef"
dependencies = [
"base64",
"bumpalo",
+2 -2
View File
@@ -60,7 +60,7 @@ vello_cpu = "0.2"
vello_common = { version = "0.2", default-features = false }
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "webp", "gif", "tiff", "bmp"] }
craft-media = { git = "https://github.com/storytold/craft-libs", rev = "f0ad6c1e1d297908915f4be315b0fcfc9be7b5d4", version = "=0.1.0", default-features = false }
craft-pdf = { git = "https://github.com/storytold/craft-libs", rev = "c3487320b2d1de657b860b3c8abb44e1f2b32bd8", version = "=0.1.0", default-features = false, features = ["write"] }
craft-pdf = { git = "https://github.com/storytold/craft-libs", rev = "9f75d3dc19b4b514c4f3d4847ed1ec1b0e86b4ef", version = "=0.1.0", default-features = false, features = ["write", "write-simple-text"] }
i_overlay = "9"
quick-xml = "0.41"
zip = { version = "3", default-features = false, features = ["deflate"] }
@@ -103,4 +103,4 @@ codegen-units = 16
debug = 0
[patch.crates-io]
krilla = { git = "https://github.com/storytold/craft-libs", rev = "c3487320b2d1de657b860b3c8abb44e1f2b32bd8", version = "=0.8.2" }
krilla = { git = "https://github.com/storytold/craft-libs", rev = "9f75d3dc19b4b514c4f3d4847ed1ec1b0e86b4ef", version = "=0.8.2" }
+1 -1
View File
@@ -29,4 +29,4 @@ wasm-bindgen-test = "0.3"
# slide renders (the same bytes, in parallel). The root patch selects the same pinned
# backend as craft-pdf; this dependency only enables its native compression feature.
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
krilla = { version = "=0.8.2", features = ["rayon"] }
krilla = { version = "=0.8.2", default-features = false, features = ["rayon"] }
+11 -10
View File
@@ -6,7 +6,7 @@ use std::process::Command;
use serde_json::Value;
const SHARED_REV: &str = "c3487320b2d1de657b860b3c8abb44e1f2b32bd8";
const SHARED_REV: &str = "9f75d3dc19b4b514c4f3d4847ed1ec1b0e86b4ef";
const REGISTRY: &str = "registry+https://github.com/rust-lang/crates.io-index";
pub fn run(root: &Path) -> Result<(), String> {
@@ -72,8 +72,8 @@ fn validate(metadata: &Value) -> Result<(), String> {
};
let source = format!("git+https://github.com/storytold/craft-libs?rev={SHARED_REV}#{SHARED_REV}");
for (name, version, expected_source, expected_features) in [
("craft-pdf", "0.1.0", source.as_str(), vec!["write"]),
("krilla", "0.8.2", source.as_str(), vec!["default", "raster-images", "rayon", "simple-text"]),
("craft-pdf", "0.1.0", source.as_str(), vec!["write", "write-simple-text"]),
("krilla", "0.8.2", source.as_str(), vec!["raster-images", "rayon", "simple-text"]),
("hayro-syntax", "0.7.2", REGISTRY, vec!["std"]),
] {
let package = one_package(name)?;
@@ -119,7 +119,7 @@ fn validate(metadata: &Value) -> Result<(), String> {
}
fn validate_target_features(tree: &str, parallel: bool) -> Result<(), String> {
let mut expected = BTreeSet::from(["default", "raster-images", "simple-text"]);
let mut expected = BTreeSet::from(["raster-images", "simple-text"]);
if parallel {
expected.insert("rayon");
}
@@ -153,8 +153,8 @@ mod tests {
],
"resolve":{"nodes":[
{"id":"app", "deps":[{"pkg":"writer", "dep_kinds":[{"kind":null}]}, {"pkg":"parser", "dep_kinds":[{"kind":"dev"}]}]},
{"id":"writer", "features":["write"], "deps":[{"pkg":"backend", "dep_kinds":[{"kind":null}]}]},
{"id":"backend", "features":["default","raster-images","rayon","simple-text"], "deps":[]},
{"id":"writer", "features":["write","write-simple-text"], "deps":[{"pkg":"backend", "dep_kinds":[{"kind":null}]}]},
{"id":"backend", "features":["raster-images","rayon","simple-text"], "deps":[]},
{"id":"parser", "features":["std"], "deps":[]}
]}
})
@@ -162,8 +162,8 @@ mod tests {
#[test]
fn parallel_compression_is_required_only_on_native_targets() {
let serial = "krilla v0.8.2 (pinned)|default,raster-images,simple-text\n";
let parallel = "krilla v0.8.2 (pinned)|default,raster-images,rayon,simple-text\n";
let serial = "krilla v0.8.2 (pinned)|raster-images,simple-text\n";
let parallel = "krilla v0.8.2 (pinned)|raster-images,rayon,simple-text\n";
assert!(validate_target_features(serial, false).is_ok());
assert!(validate_target_features(parallel, true).is_ok());
assert!(validate_target_features(serial, true).is_err());
@@ -189,8 +189,9 @@ mod tests {
fn rejects_import_features_and_missing_text_shaping() {
for (node, features) in [
(1, json!([])),
(1, json!(["write", "write-pdf"])),
(2, json!(["default", "raster-images", "rayon", "simple-text", "pdf"])),
(1, json!(["write"])),
(1, json!(["write", "write-simple-text", "write-pdf"])),
(2, json!(["raster-images", "rayon", "simple-text", "pdf"])),
(2, json!(["raster-images"])),
(3, json!(["std", "images"])),
] {