d-bootstrap-use-local-css
authorDebian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Thu, 14 Jul 2022 11:17:39 +0000 (13:17 +0200)
committerFabian Grünbichler <debian@fabian.gruenbichler.email>
Tue, 21 Jan 2025 10:38:15 +0000 (11:38 +0100)
Forwarded: not-needed
===================================================================

Gbp-Pq: Topic build
Gbp-Pq: Name d-bootstrap-use-local-css.patch

src/bootstrap/src/core/build_steps/doc.rs

index 8a9321f8e79b6839e85bf716432f2bf4f481bac3..0f5912caaa0fd8f57fe1de8baa2d2e2f5114a4af 100644 (file)
@@ -399,7 +399,27 @@ impl Step for Standalone {
                 .arg("--index-page")
                 .arg(builder.src.join("src/doc/index.md"))
                 .arg("--markdown-playground-url")
-                .arg("https://play.rust-lang.org/")
+                .arg("https://play.rust-lang.org/");
+
+            // Debian: librustdoc now generates a resource-suffix for static
+            // files with rustc_hash::FxHasher, so we need to find it.
+            let _dir = out.join("static.files");
+            if _dir.is_dir() {
+                let _css = _dir.read_dir().expect("Debian: failed to read static.files/ when is_dir() == true")
+                    .find_map(|entry| entry.ok().map(|entry| {
+                        let name = entry.file_name().into_string()
+                            .expect("Debian: rustc files should have UTF-8 name");
+                        if name.starts_with("rustdoc-") && name.ends_with(".css") {
+                            Some(format!("static.files/{name}"))
+                        } else { None }
+                    })).flatten();
+                if let Some(name) = _css {
+                    cmd.arg("--markdown-css").arg(name);
+                }
+            }
+
+            cmd.arg("--markdown-css")
+                .arg("rust.css")
                 .arg("-o")
                 .arg(&out)
                 .arg(&path);
@@ -408,11 +428,6 @@ impl Step for Standalone {
                 cmd.arg("--disable-minification");
             }
 
-            if filename == "not_found.md" {
-                cmd.arg("--markdown-css").arg("https://doc.rust-lang.org/rust.css");
-            } else {
-                cmd.arg("--markdown-css").arg("rust.css");
-            }
             cmd.run(builder);
         }