git: 3e99d4e97814 - main - databases/gobang: Fix build with rust 1.73.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 24 Oct 2023 10:23:15 UTC
The branch main has been updated by mikael:
URL: https://cgit.FreeBSD.org/ports/commit/?id=3e99d4e978144e6e424bda44e3041abfc6cc92bf
commit 3e99d4e978144e6e424bda44e3041abfc6cc92bf
Author: Mikael Urankar <mikael@FreeBSD.org>
AuthorDate: 2023-10-16 10:39:44 +0000
Commit: Mikael Urankar <mikael@FreeBSD.org>
CommitDate: 2023-10-24 10:21:47 +0000
databases/gobang: Fix build with rust 1.73.0
Import upstream patch to fix the following build error with rust 1.73.0
error[E0308]: mismatched types
--> /wrkdirs/usr/ports/databases/gobang/work/gobang-0.1.0-alpha.5/cargo-crates/num-bigint-0.3.2/src/biguint/convert.rs:70:19
|
70 | .div_ceil(&big_digit::BITS.into())
| -------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `u64`, found `&_`
| |
| arguments to this method are incorrect
error[E0308]: mismatched types
--> /wrkdirs/usr/ports/databases/gobang/work/gobang-0.1.0-alpha.5/cargo-crates/num-bigint-0.3.2/src/biguint/convert.rs:585:19
|
585 | .div_ceil(&u64::from(bits))
| -------- ^^^^^^^^^^^^^^^^ expected `u64`, found `&u64`
| |
| arguments to this method are incorrect
PR: 274499
Approved by: portmgr (build fix blanket)
---
databases/gobang/Makefile | 2 +-
databases/gobang/files/patch-rust-1.73.0 | 64 ++++++++++++++++++++++++++++++++
2 files changed, 65 insertions(+), 1 deletion(-)
diff --git a/databases/gobang/Makefile b/databases/gobang/Makefile
index 3ebf3f1f65cb..646fd3ff7e62 100644
--- a/databases/gobang/Makefile
+++ b/databases/gobang/Makefile
@@ -1,7 +1,7 @@
PORTNAME= gobang
DISTVERSIONPREFIX= v
DISTVERSION= 0.1.0-alpha.5
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= databases
MAINTAINER= yuri@FreeBSD.org
diff --git a/databases/gobang/files/patch-rust-1.73.0 b/databases/gobang/files/patch-rust-1.73.0
new file mode 100644
index 000000000000..aa0bf93735c8
--- /dev/null
+++ b/databases/gobang/files/patch-rust-1.73.0
@@ -0,0 +1,64 @@
+From a8fc78c1e28c55af83a57d97dff3f6a93c45b46c Mon Sep 17 00:00:00 2001
+From: Philippe Antoine <contact@catenacyber.fr>
+Date: Fri, 3 Sep 2021 09:29:36 +0200
+Subject: [PATCH] rust: use explicitily Integer::div_ceil
+
+cf https://github.com/rust-lang/rust/issues/88581
+---
+ src/biguint.rs | 2 +-
+ src/biguint/convert.rs | 15 ++++++---------
+ 2 files changed, 7 insertions(+), 10 deletions(-)
+
+diff --git a/src/biguint.rs b/src/biguint.rs
+index 271a8837..623823c8 100644
+--- cargo-crates/num-bigint-0.3.2/src/biguint.rs
++++ cargo-crates/num-bigint-0.3.2/src/biguint.rs
+@@ -395,7 +395,7 @@ impl Roots for BigUint {
+ // Try to guess by scaling down such that it does fit in `f64`.
+ // With some (x * 2ⁿᵏ), its nth root ≈ (ⁿ√x * 2ᵏ)
+ let extra_bits = bits - (core::f64::MAX_EXP as u64 - 1);
+- let root_scale = extra_bits.div_ceil(&n64);
++ let root_scale = Integer::div_ceil(&extra_bits, &n64);
+ let scale = root_scale * n64;
+ if scale < bits && bits - scale > n64 {
+ (self >> scale).nth_root(n) << root_scale
+diff --git a/src/biguint/convert.rs b/src/biguint/convert.rs
+index edeed84c..799152d5 100644
+--- cargo-crates/num-bigint-0.3.2/src/biguint/convert.rs
++++ cargo-crates/num-bigint-0.3.2/src/biguint/convert.rs
+@@ -65,9 +65,8 @@ fn from_inexact_bitwise_digits_le(v: &[u8], bits: u8) -> BigUint {
+ debug_assert!(!v.is_empty() && bits <= 8 && big_digit::BITS % bits != 0);
+ debug_assert!(v.iter().all(|&c| BigDigit::from(c) < (1 << bits)));
+
+- let big_digits = (v.len() as u64)
+- .saturating_mul(bits.into())
+- .div_ceil(&big_digit::BITS.into())
++ let big_digits = (v.len() as u64).saturating_mul(bits.into());
++ let big_digits = Integer::div_ceil(&big_digits, &big_digit::BITS.into())
+ .to_usize()
+ .unwrap_or(core::usize::MAX);
+ let mut data = Vec::with_capacity(big_digits);
+@@ -580,9 +579,8 @@ pub(super) fn to_bitwise_digits_le(u: &BigUint, bits: u8) -> Vec<u8> {
+ let last_i = u.data.len() - 1;
+ let mask: BigDigit = (1 << bits) - 1;
+ let digits_per_big_digit = big_digit::BITS / bits;
+- let digits = u
+- .bits()
+- .div_ceil(&u64::from(bits))
++ let digits = u.bits();
++ let digits = Integer::div_ceil(&digits, &u64::from(bits))
+ .to_usize()
+ .unwrap_or(core::usize::MAX);
+ let mut res = Vec::with_capacity(digits);
+@@ -608,9 +606,8 @@ fn to_inexact_bitwise_digits_le(u: &BigUint, bits: u8) -> Vec<u8> {
+ debug_assert!(!u.is_zero() && bits <= 8 && big_digit::BITS % bits != 0);
+
+ let mask: BigDigit = (1 << bits) - 1;
+- let digits = u
+- .bits()
+- .div_ceil(&u64::from(bits))
++ let digits = u.bits();
++ let digits = Integer::div_ceil(&digits, &u64::from(bits))
+ .to_usize()
+ .unwrap_or(core::usize::MAX);
+ let mut res = Vec::with_capacity(digits);