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, 8 Oct 2024 12:34:41 +0000 (14:34 +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 633e66afe598dfd3276738cac118d103b4d487ff..d34d6bd443fddcbec10761c9c2fa20851712dd58 100644 (file)
@@ -387,7 +387,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);
@@ -396,11 +416,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);
         }