git: b8c6351c85e8 - main - net-p2p/intermodal: fix build on powerpc

From: Piotr Kubaj <pkubaj_at_FreeBSD.org>
Date: Sun, 04 Aug 2024 12:01:11 UTC
The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/ports/commit/?id=b8c6351c85e8c891cc7be768047f42625b586869

commit b8c6351c85e8c891cc7be768047f42625b586869
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2024-07-30 15:30:22 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2024-08-04 12:00:26 +0000

    net-p2p/intermodal: fix build on powerpc
    
    error[E0412]: cannot find type `c_long` in the crate root
       --> /wrkdirs/usr/ports/net-p2p/intermodal/work/intermodal-0.1.13/cargo-crates/libc-0.2.78/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs:214:19
        |
    214 |         msgtyp: ::c_long,
        |                   ^^^^^^ not found in the crate root
        |
    help: consider importing this type alias
        |
    4   + use ffi::c_long;
        |
    help: if you import `c_long`, refer to it directly
        |
    214 -         msgtyp: ::c_long,
    214 +         msgtyp: c_long,
---
 net-p2p/intermodal/files/patch-powerpc | 62 ++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/net-p2p/intermodal/files/patch-powerpc b/net-p2p/intermodal/files/patch-powerpc
new file mode 100644
index 000000000000..4a4662e6c169
--- /dev/null
+++ b/net-p2p/intermodal/files/patch-powerpc
@@ -0,0 +1,62 @@
+--- cargo-crates/libc-0.2.78/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig	2020-03-17 20:35:43 UTC
++++ cargo-crates/libc-0.2.78/src/unix/bsd/freebsdlike/freebsd/mod.rs
+@@ -1486,6 +1486,9 @@ cfg_if! {
+     } else if #[cfg(target_arch = "powerpc64")] {
+         mod powerpc64;
+         pub use self::powerpc64::*;
++    } else if #[cfg(target_arch = "powerpc")] {
++        mod powerpc;
++        pub use self::powerpc::*;
+     } else {
+         // Unknown target_arch
+     }
+--- cargo-crates/libc-0.2.78/src/unix/bsd/freebsdlike/freebsd/powerpc.rs.orig	2021-06-23 22:40:24 UTC
++++ cargo-crates/libc-0.2.78/src/unix/bsd/freebsdlike/freebsd/powerpc.rs
+@@ -0,0 +1,47 @@
++pub type c_char = u8;
++pub type c_long = i32;
++pub type c_ulong = u32;
++pub type wchar_t = i32;
++pub type time_t = i64;
++pub type suseconds_t = i32;
++pub type register_t = i32;
++
++s! {
++    pub struct stat {
++        pub st_dev: ::dev_t,
++        pub st_ino: ::ino_t,
++        pub st_mode: ::mode_t,
++        pub st_nlink: ::nlink_t,
++        pub st_uid: ::uid_t,
++        pub st_gid: ::gid_t,
++        pub st_rdev: ::dev_t,
++        pub st_atime: ::time_t,
++        pub st_atime_nsec: ::c_long,
++        pub st_mtime: ::time_t,
++        pub st_mtime_nsec: ::c_long,
++        pub st_ctime: ::time_t,
++        pub st_ctime_nsec: ::c_long,
++        pub st_size: ::off_t,
++        pub st_blocks: ::blkcnt_t,
++        pub st_blksize: ::blksize_t,
++        pub st_flags: ::fflags_t,
++        pub st_gen: u32,
++        pub st_lspare: i32,
++        pub st_birthtime: ::time_t,
++        pub st_birthtime_nsec: ::c_long,
++    }
++}
++
++// should be pub(crate), but that requires Rust 1.18.0
++cfg_if! {
++    if #[cfg(libc_const_size_of)] {
++        #[doc(hidden)]
++        pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_int>() - 1;
++    } else {
++        #[doc(hidden)]
++        pub const _ALIGNBYTES: usize = 4 - 1;
++    }
++}
++
++pub const MAP_32BIT: ::c_int = 0x00066000;
++pub const MINSIGSTKSZ: ::size_t = 2048; // 512 * 4