summaryrefslogtreecommitdiffstats
path: root/debian/patches/d-fix-rustix-outline.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/d-fix-rustix-outline.patch')
-rw-r--r--debian/patches/d-fix-rustix-outline.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/debian/patches/d-fix-rustix-outline.patch b/debian/patches/d-fix-rustix-outline.patch
new file mode 100644
index 000000000..1800de9e3
--- /dev/null
+++ b/debian/patches/d-fix-rustix-outline.patch
@@ -0,0 +1,60 @@
+Always enable cc even if the feature is not enabled.
+
+Some Debian architectures need outline asm, and Debian does not ship pre-built
+outline asm.
+
+Index: rust/vendor/rustix/Cargo.toml
+===================================================================
+--- rust.orig/vendor/rustix/Cargo.toml
++++ rust/vendor/rustix/Cargo.toml
+@@ -103,9 +103,9 @@ version = "0.6"
+ [dev-dependencies.tempfile]
+ version = "3.2.0"
+
+-[build-dependencies.cc]
++[build-dependencies.cc_dep]
+ version = "1.0.68"
+-optional = true
++package = "cc"
+
+ [features]
+ all-apis = [
+@@ -168,6 +168,7 @@ use-libc = [
+ "libc_errno",
+ "libc",
+ ]
++cc = []
+
+ [target."cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))".dependencies.linux-raw-sys]
+ version = "0.0.46"
+Index: rust/vendor/rustix/build.rs
+===================================================================
+--- rust.orig/vendor/rustix/build.rs
++++ rust/vendor/rustix/build.rs
+@@ -1,5 +1,4 @@
+-#[cfg(feature = "cc")]
+-use cc::Build;
++use cc_dep::Build;
+ use std::env::var;
+ use std::io::Write;
+
+@@ -113,16 +112,16 @@ fn link_in_librustix_outline(arch: &str,
+ println!("cargo:rerun-if-changed={}", to);
+
+ // If "cc" is not enabled, use a pre-built library.
+- #[cfg(not(feature = "cc"))]
++ /*#[cfg(not(feature = "cc"))]
+ {
+ let _ = asm_name;
+ println!("cargo:rustc-link-search={}/{}", OUTLINE_PATH, profile);
+ println!("cargo:rustc-link-lib=static={}", name);
+- }
++ }*/
+
+ // If "cc" is enabled, build the library from source, update the pre-built
+ // version, and assert that the pre-built version is checked in.
+- #[cfg(feature = "cc")]
++ //#[cfg(feature = "cc")]
+ {
+ let out_dir = var("OUT_DIR").unwrap();
+ Build::new().file(&asm_name).compile(&name);