pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

rust192: transform the NetBSD riscv64 libc segment...



Module Name:	pkgsrc-wip
Committed By:	Havard Eidnes <he%NetBSD.org@localhost>
Pushed By:	he
Date:		Fri Dec 19 22:53:08 2025 +0000
Changeset:	66deaf7785412491816f742f7916f7e557d11e22

Modified Files:
	rust192/Makefile
	rust192/distinfo
	rust192/patches/patch-vendor_libc-0.2.175_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
	rust192/patches/patch-vendor_libc-0.2.176_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
	rust192/patches/patch-vendor_libc-0.2.177_src_unix_bsd_netbsdlike_netbsd_riscv64.rs

Log Message:
rust192: transform the NetBSD riscv64 libc segment...

...to something which also passes the upstream automated checks.
Pull request submitted at
  https://github.com/rust-lang/libc/pull/4886

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=66deaf7785412491816f742f7916f7e557d11e22

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 rust192/Makefile                                   |  6 +-
 rust192/distinfo                                   |  6 +-
 ...2.175_src_unix_bsd_netbsdlike_netbsd_riscv64.rs | 67 +++++++++----------
 ...2.176_src_unix_bsd_netbsdlike_netbsd_riscv64.rs | 77 ++++++++++++----------
 ...2.177_src_unix_bsd_netbsdlike_netbsd_riscv64.rs | 77 ++++++++++++----------
 5 files changed, 124 insertions(+), 109 deletions(-)

diffs:
diff --git a/rust192/Makefile b/rust192/Makefile
index 556aa37cad..ecab0dd134 100644
--- a/rust192/Makefile
+++ b/rust192/Makefile
@@ -513,17 +513,17 @@ CKSUMS+=	2dc054435fd2976536b6685d66ba6796d4eb143885bd573e686e9b042ae7257a
 
 CKSUM_CRATES+=	vendor/libc-0.2.175
 CKSUMS+=	efa1a156cff1ab2450439adbb3ab2113bed6b7de2205c99e9cba875aa2b1c153
-CKSUMS+=	72e7d62f37e923fbd255fdae54006f1eb13192a045fbc7dce943327cb3a87230
+CKSUMS+=	042402fb875f0ef56a7344bb1404c7ad8e559caa9e458fe4d8c4657a278bda8a
 
 CKSUM_CRATES+=	vendor/libc-0.2.176
 # covered by libc-0.2.175
 #CKSUMS+=	efa1a156cff1ab2450439adbb3ab2113bed6b7de2205c99e9cba875aa2b1c153
-#CKSUMS+=	72e7d62f37e923fbd255fdae54006f1eb13192a045fbc7dce943327cb3a87230
+#CKSUMS+=	042402fb875f0ef56a7344bb1404c7ad8e559caa9e458fe4d8c4657a278bda8a
 
 CKSUM_CRATES+=	vendor/libc-0.2.177
 # covered by libc-0.2.175
 #CKSUMS+=	efa1a156cff1ab2450439adbb3ab2113bed6b7de2205c99e9cba875aa2b1c153
-#CKSUMS+=	72e7d62f37e923fbd255fdae54006f1eb13192a045fbc7dce943327cb3a87230
+#CKSUMS+=	042402fb875f0ef56a7344bb1404c7ad8e559caa9e458fe4d8c4657a278bda8a
 
 CKSUM_CRATES+=	vendor/zerocopy-0.7.32
 CKSUMS+=	2f21f18a4ca1d4be2d997f037158cb21a7421b2ba2cc52f3e4c5f9410197ed27
diff --git a/rust192/distinfo b/rust192/distinfo
index 49e612169e..22efb4d378 100644
--- a/rust192/distinfo
+++ b/rust192/distinfo
@@ -141,9 +141,9 @@ SHA1 (patch-vendor_libc-0.2.171_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = adf
 SHA1 (patch-vendor_libc-0.2.172_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 3127715d2eb1e0ce148d67323b25dd0bc07b67ad
 SHA1 (patch-vendor_libc-0.2.172_src_unix_solarish_mod.rs) = 9365cab6fd25dd077ed56f6105cde22a4a3356dd
 SHA1 (patch-vendor_libc-0.2.174_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = bcfaa5a86f5a5d837cc467dd5ac62434fcedc518
-SHA1 (patch-vendor_libc-0.2.175_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = c37d2c1b5d0dac363d941548fcccd06764ba4b73
-SHA1 (patch-vendor_libc-0.2.176_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 1817d3607e3513ae717eb04a46ed71b75de34c0d
-SHA1 (patch-vendor_libc-0.2.177_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = cb04280ac2f8875be2c84e8413745bb6fae66c08
+SHA1 (patch-vendor_libc-0.2.175_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 341f8e7191df6fd40d4ad6aa1beacce18fe9becd
+SHA1 (patch-vendor_libc-0.2.176_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 341f8e7191df6fd40d4ad6aa1beacce18fe9becd
+SHA1 (patch-vendor_libc-0.2.177_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 341f8e7191df6fd40d4ad6aa1beacce18fe9becd
 SHA1 (patch-vendor_line-index-0.1.2_src_lib.rs) = 30aa5c82630ea0e8969abb527c11640712efba1e
 SHA1 (patch-vendor_lzma-sys-0.1.20_config.h) = 4849052ddb2f04f539fd7060fc1b43cc3acf99c4
 SHA1 (patch-vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs) = 3e17e9f068afe5e812d10bf57fd3f6d4c21baf0b
diff --git a/rust192/patches/patch-vendor_libc-0.2.175_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust192/patches/patch-vendor_libc-0.2.175_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
index 27fe3cc40a..fa4cee7f3d 100644
--- a/rust192/patches/patch-vendor_libc-0.2.175_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
+++ b/rust192/patches/patch-vendor_libc-0.2.175_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
@@ -8,11 +8,18 @@ for NetBSD/risc64 with this, whereas it did not earlier.
 
 --- vendor/libc-0.2.175/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2025-11-02 16:57:14.244169978 +0000
 +++ vendor/libc-0.2.175/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
-@@ -1,27 +1,58 @@
+@@ -1,24 +1,59 @@
 -use PT_FIRSTMACH;
-+use crate::PT_FIRSTMACH;
++use core::clone::Clone;
++use core::cmp::{
++    Eq,
++    PartialEq,
++};
++use core::fmt::Debug;
++use core::marker::Copy;
  
  use crate::prelude::*;
++use crate::PT_FIRSTMACH;
  
  pub type __greg_t = u64;
  pub type __cpu_simple_lock_nv_t = c_int;
@@ -33,44 +40,38 @@ for NetBSD/risc64 with this, whereas it did not earlier.
 -    pub union __fpreg {
 -        pub u_u64: u64,
 -        pub u_d: c_double,
-+#[derive(Clone,Copy)]
 +pub union __fpreg {
 +    pub u_u64: u64,
 +    pub u_d: c_double,
 +}
 +
-+cfg_if! {
-+    if #[cfg(feature = "extra_traits")] {
-+        impl PartialEq for __fpreg {
-+            fn eq(&self, other: &__fpreg) -> bool {
-+                unsafe {
-+                    self.u_u64 == other.u_u64
-+                        || self.u_d == other.u_d
-+                }
-+            }
-+        }
-+        impl Eq for __fpreg {}
-+        impl hash::Hash for __fpreg {
-+            fn hash<H: hash::Hasher>(&self, state: &mut H) {
-+                unsafe {
-+                    self.u_u64.hash(state);
-+                }
-+            }
++impl core::cmp::PartialEq for __fpreg {
++    fn eq(&self, other: &__fpreg) -> bool {
++        unsafe { self.u_u64 == other.u_u64 || self.u_d == other.u_d }
++    }
++}
++impl core::cmp::Eq for __fpreg {}
++impl core::marker::Copy for __fpreg {}
++impl core::clone::Clone for __fpreg {
++    fn clone(&self) -> __fpreg {
++        *self
++    }
++}
++impl hash::Hash for __fpreg {
++    fn hash<H: hash::Hasher>(&self, state: &mut H) {
++        unsafe {
++            self.u_u64.hash(state);
 +        }
-+        impl fmt::Debug for __fpreg {
-+            fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-+                unsafe {
-+                    f.debug_struct("__fpreg")
-+                        .field("u_u64", &self.u_u64)
-+                        .field("u_d", &self.u_d)
-+                        .finish()
-+                }
-+            }
++    }
++}
++impl core::fmt::Debug for __fpreg {
++    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
++        unsafe {
++            f.debug_struct("__fpreg")
++                .field("u_u64", &self.u_u64)
++                .field("u_d", &self.u_d)
++                .finish()
 +        }
      }
  }
  
-+
- pub(crate) const _ALIGNBYTES: usize = size_of::<c_long>() - 1;
- 
- pub const PT_GETREGS: c_int = PT_FIRSTMACH + 0;
diff --git a/rust192/patches/patch-vendor_libc-0.2.176_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust192/patches/patch-vendor_libc-0.2.176_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
index 31b0c02eb4..fa4cee7f3d 100644
--- a/rust192/patches/patch-vendor_libc-0.2.176_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
+++ b/rust192/patches/patch-vendor_libc-0.2.176_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
@@ -1,12 +1,25 @@
 $NetBSD$
 
---- vendor/libc-0.2.176/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2025-12-14 09:45:59.454696633 +0000
-+++ vendor/libc-0.2.176/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
-@@ -1,27 +1,58 @@
+Unbreak this module.
+
+I admit to this entirely being based on "cargo cult" and based on
+what the compiler told me, but at least the rust compiler (cross-)builds
+for NetBSD/risc64 with this, whereas it did not earlier.
+
+--- vendor/libc-0.2.175/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2025-11-02 16:57:14.244169978 +0000
++++ vendor/libc-0.2.175/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
+@@ -1,24 +1,59 @@
 -use PT_FIRSTMACH;
-+use crate::PT_FIRSTMACH;
++use core::clone::Clone;
++use core::cmp::{
++    Eq,
++    PartialEq,
++};
++use core::fmt::Debug;
++use core::marker::Copy;
  
  use crate::prelude::*;
++use crate::PT_FIRSTMACH;
  
  pub type __greg_t = u64;
  pub type __cpu_simple_lock_nv_t = c_int;
@@ -27,44 +40,38 @@ $NetBSD$
 -    pub union __fpreg {
 -        pub u_u64: u64,
 -        pub u_d: c_double,
-+#[derive(Clone,Copy)]
 +pub union __fpreg {
 +    pub u_u64: u64,
 +    pub u_d: c_double,
 +}
 +
-+cfg_if! {
-+    if #[cfg(feature = "extra_traits")] {
-+        impl PartialEq for __fpreg {
-+            fn eq(&self, other: &__fpreg) -> bool {
-+                unsafe {
-+                    self.u_u64 == other.u_u64
-+                        || self.u_d == other.u_d
-+                }
-+            }
-+        }
-+        impl Eq for __fpreg {}
-+        impl hash::Hash for __fpreg {
-+            fn hash<H: hash::Hasher>(&self, state: &mut H) {
-+                unsafe {
-+                    self.u_u64.hash(state);
-+                }
-+            }
++impl core::cmp::PartialEq for __fpreg {
++    fn eq(&self, other: &__fpreg) -> bool {
++        unsafe { self.u_u64 == other.u_u64 || self.u_d == other.u_d }
++    }
++}
++impl core::cmp::Eq for __fpreg {}
++impl core::marker::Copy for __fpreg {}
++impl core::clone::Clone for __fpreg {
++    fn clone(&self) -> __fpreg {
++        *self
++    }
++}
++impl hash::Hash for __fpreg {
++    fn hash<H: hash::Hasher>(&self, state: &mut H) {
++        unsafe {
++            self.u_u64.hash(state);
 +        }
-+        impl fmt::Debug for __fpreg {
-+            fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-+                unsafe {
-+                    f.debug_struct("__fpreg")
-+                        .field("u_u64", &self.u_u64)
-+                        .field("u_d", &self.u_d)
-+                        .finish()
-+                }
-+            }
++    }
++}
++impl core::fmt::Debug for __fpreg {
++    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
++        unsafe {
++            f.debug_struct("__fpreg")
++                .field("u_u64", &self.u_u64)
++                .field("u_d", &self.u_d)
++                .finish()
 +        }
      }
  }
  
-+
- pub(crate) const _ALIGNBYTES: usize = size_of::<c_long>() - 1;
- 
- pub const PT_GETREGS: c_int = PT_FIRSTMACH + 0;
diff --git a/rust192/patches/patch-vendor_libc-0.2.177_src_unix_bsd_netbsdlike_netbsd_riscv64.rs b/rust192/patches/patch-vendor_libc-0.2.177_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
index a1a4febf26..fa4cee7f3d 100644
--- a/rust192/patches/patch-vendor_libc-0.2.177_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
+++ b/rust192/patches/patch-vendor_libc-0.2.177_src_unix_bsd_netbsdlike_netbsd_riscv64.rs
@@ -1,12 +1,25 @@
 $NetBSD$
 
---- vendor/libc-0.2.177/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2025-12-14 06:33:12.291690472 +0000
-+++ vendor/libc-0.2.177/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
-@@ -1,27 +1,58 @@
+Unbreak this module.
+
+I admit to this entirely being based on "cargo cult" and based on
+what the compiler told me, but at least the rust compiler (cross-)builds
+for NetBSD/risc64 with this, whereas it did not earlier.
+
+--- vendor/libc-0.2.175/src/unix/bsd/netbsdlike/netbsd/riscv64.rs.orig	2025-11-02 16:57:14.244169978 +0000
++++ vendor/libc-0.2.175/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
+@@ -1,24 +1,59 @@
 -use PT_FIRSTMACH;
-+use crate::PT_FIRSTMACH;
++use core::clone::Clone;
++use core::cmp::{
++    Eq,
++    PartialEq,
++};
++use core::fmt::Debug;
++use core::marker::Copy;
  
  use crate::prelude::*;
++use crate::PT_FIRSTMACH;
  
  pub type __greg_t = u64;
  pub type __cpu_simple_lock_nv_t = c_int;
@@ -27,44 +40,38 @@ $NetBSD$
 -    pub union __fpreg {
 -        pub u_u64: u64,
 -        pub u_d: c_double,
-+#[derive(Clone,Copy)]
 +pub union __fpreg {
 +    pub u_u64: u64,
 +    pub u_d: c_double,
 +}
 +
-+cfg_if! {
-+    if #[cfg(feature = "extra_traits")] {
-+        impl PartialEq for __fpreg {
-+            fn eq(&self, other: &__fpreg) -> bool {
-+                unsafe {
-+                    self.u_u64 == other.u_u64
-+                        || self.u_d == other.u_d
-+                }
-+            }
-+        }
-+        impl Eq for __fpreg {}
-+        impl hash::Hash for __fpreg {
-+            fn hash<H: hash::Hasher>(&self, state: &mut H) {
-+                unsafe {
-+                    self.u_u64.hash(state);
-+                }
-+            }
++impl core::cmp::PartialEq for __fpreg {
++    fn eq(&self, other: &__fpreg) -> bool {
++        unsafe { self.u_u64 == other.u_u64 || self.u_d == other.u_d }
++    }
++}
++impl core::cmp::Eq for __fpreg {}
++impl core::marker::Copy for __fpreg {}
++impl core::clone::Clone for __fpreg {
++    fn clone(&self) -> __fpreg {
++        *self
++    }
++}
++impl hash::Hash for __fpreg {
++    fn hash<H: hash::Hasher>(&self, state: &mut H) {
++        unsafe {
++            self.u_u64.hash(state);
 +        }
-+        impl fmt::Debug for __fpreg {
-+            fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-+                unsafe {
-+                    f.debug_struct("__fpreg")
-+                        .field("u_u64", &self.u_u64)
-+                        .field("u_d", &self.u_d)
-+                        .finish()
-+                }
-+            }
++    }
++}
++impl core::fmt::Debug for __fpreg {
++    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
++        unsafe {
++            f.debug_struct("__fpreg")
++                .field("u_u64", &self.u_u64)
++                .field("u_d", &self.u_d)
++                .finish()
 +        }
      }
  }
  
-+
- pub(crate) const _ALIGNBYTES: usize = size_of::<c_long>() - 1;
- 
- pub const PT_GETREGS: c_int = PT_FIRSTMACH + 0;


Home | Main Index | Thread Index | Old Index