diff --git a/build.sh b/build.sh index cdb5a47..bdd52c6 100755 --- a/build.sh +++ b/build.sh @@ -11,24 +11,18 @@ if [ ! -d 'rust' ]; then git clone --depth 50 https://github.com/rust-lang/rust.git pushd rust git ls-files -z -- ':(glob)library/**/*.rs' \ - | xargs -0 sed -i'' -E 's@^ *#!?\[doc\(cfg.*$@// & // commented out for std.noratrieb.dev@' - git ls-files -z -- ':(glob)src/librustdoc/**/*.rs' \ - | xargs -0 sed -i'' -E 's@^ *cfgs\.push\("doc".*$@// & // commented out for std.noratrieb.dev@' - git --no-pager diff # show diff for easier debugging in case of deploy failures + | xargs -0 sed -i'' -E 's@^[[:space:]]*#!?\[doc\(cfg.*$@// & // commented out for std.noratrieb.dev@' + git apply ../disable-cfg-doc.patch popd fi cd rust rm -f bootstrap.toml -configure_args=( - --set llvm.download-ci-llvm=true - --set rust.llvm-tools=false - --set rust.llvm-bitcode-linker=false +./configure \ + --set llvm.download-ci-llvm=true \ + --set rust.llvm-tools=false \ + --set rust.llvm-bitcode-linker=false \ --set build.optimized-compiler-builtins=false # necessary to make cross-doc work for all targets - --set change-id=ignore - --set rust.deny-warnings=false -) -./configure "${configure_args[@]}" targets=( x86_64-unknown-linux-gnu @@ -54,6 +48,7 @@ for target in "${targets[@]}"; do --document-hidden-items \ --html-before-content=$root/before.html \ --extend-css=$root/style.css \ + --cap-lints=allow \ --generate-link-to-definition \ --generate-macro-expansion" diff --git a/disable-cfg-doc.patch b/disable-cfg-doc.patch new file mode 100644 index 0000000..1f08c7f --- /dev/null +++ b/disable-cfg-doc.patch @@ -0,0 +1,22 @@ +diff --git a/src/librustdoc/core.rs b/src/librustdoc/core.rs +index 375f833831..942dba29e6 100644 +--- a/src/librustdoc/core.rs ++++ b/src/librustdoc/core.rs +@@ -202,7 +202,7 @@ pub(crate) fn create_config( + diagnostic_width, + libs, + externs, +- mut cfgs, ++ cfgs, + check_cfgs, + codegen_options, + unstable_opts, +@@ -220,7 +220,7 @@ pub(crate) fn create_config( + render_options: &RenderOptions, + ) -> rustc_interface::Config { + // Add the doc cfg into the doc build. +- cfgs.push("doc".to_string()); ++ // cfgs.push("doc".to_string()); + + // By default, rustdoc ignores all lints. + // Specifically unblock lints relevant to documentation or the lint machinery itself.