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>
Mon, 24 Jun 2024 06:25:58 +0000 (08:25 +0200)
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 51b5cdc056577f23788a8b63d20d48b478b67abe..c1f12cf51b00b68d30e785f9c5f57aaa48373e99 100644 (file)
@@ -363,7 +363,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);
@@ -372,11 +392,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");
-            }
             builder.run(&mut cmd);
         }