diff --git a/0001-Disambiguate-num-Integer-div_ceil-from-number-div_ce.patch b/0001-Disambiguate-num-Integer-div_ceil-from-number-div_ce.patch new file mode 100644 index 0000000..d606f8e --- /dev/null +++ b/0001-Disambiguate-num-Integer-div_ceil-from-number-div_ce.patch @@ -0,0 +1,56 @@ +From d7ea03257825c173fcd4b8eed26fb177f638bfb3 Mon Sep 17 00:00:00 2001 +From: Fabio Valentini +Date: Mon, 9 Oct 2023 01:33:38 +0200 +Subject: [PATCH] Disambiguate num::Integer::div_ceil from ::div_ceil + +--- + src/bench.rs | 2 +- + src/hasher.rs | 4 ++-- + src/testfiles.rs | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/bench.rs b/src/bench.rs +index 85603a8..5092a41 100644 +--- a/src/bench.rs ++++ b/src/bench.rs +@@ -649,7 +649,7 @@ impl Bench { + fn time_hash(size: usize, params: &Params, tf: &TestFiles) -> f64 { + let mut hasher = hasher::Hasher::new(1.0, 0.0); + let chunk_size = params.chunk_pages * *PAGE_SIZE; +- let chunks_per_unit = (tf.unit_size as usize).div_ceil(&chunk_size); ++ let chunks_per_unit = Integer::div_ceil(&(tf.unit_size as usize), &chunk_size); + + let started_at = Instant::now(); + +diff --git a/src/hasher.rs b/src/hasher.rs +index 6ee2084..7e5d3e5 100644 +--- a/src/hasher.rs ++++ b/src/hasher.rs +@@ -580,9 +580,9 @@ impl DispatchThread { + // determined by each hash worker to avoid overloading the + // dispatch thread. + let file_size = self.file_size_normal.sample(&mut rng).round() as usize; +- let file_nr_chunks = file_size.div_ceil(&chunk_size).max(1); ++ let file_nr_chunks = Integer::div_ceil(&file_size, &chunk_size).max(1); + let anon_size = self.anon_size_normal.sample(&mut rng).round() as usize; +- let anon_nr_chunks = anon_size.div_ceil(&chunk_size); ++ let anon_nr_chunks = Integer::div_ceil(&anon_size, &chunk_size); + + let hasher_thread = HasherThread { + tf: self.tf.clone(), +diff --git a/src/testfiles.rs b/src/testfiles.rs +index 28e046a..b7dc555 100644 +--- a/src/testfiles.rs ++++ b/src/testfiles.rs +@@ -34,7 +34,7 @@ impl TestFiles { + base_path: PathBuf::from(base_path.as_ref()), + unit_size, + size, +- nr_files: size.div_ceil(&unit_size), ++ nr_files: Integer::div_ceil(&size, &unit_size), + comp, + prefix: String::from(DFL_PREFIX), + } +-- +2.41.0 + diff --git a/rust-rd-hashd.spec b/rust-rd-hashd.spec index c3a256a..f39d73b 100644 --- a/rust-rd-hashd.spec +++ b/rust-rd-hashd.spec @@ -13,6 +13,8 @@ URL: https://crates.io/crates/rd-hashd Source: %{crates_source} # hashd: build fix for 32bit archs Patch0: https://github.com/facebookexperimental/resctl-demo/commit/dbe5735bdf005a24e54dd19559016a59f6f43536.patch +# * fix builds with Rust 1.73+ caused by ambiguous ::div_ceil calls +Patch1: 0001-Disambiguate-num-Integer-div_ceil-from-number-div_ce.patch BuildRequires: rust-packaging >= 23 @@ -42,7 +44,9 @@ License: Apache-2.0 AND BSD-3-Clause AND MIT AND Unicode-DFS-2016 AND (Ap %{_bindir}/rd-hashd %prep -%autosetup -n %{crate}-%{version_no_tilde} -p2 +%autosetup -n %{crate}-%{version_no_tilde} -N +%patch -P0 -p2 +%patch -P1 -p1 %cargo_prep %generate_buildrequires