aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Kubaj <pkubaj@FreeBSD.org>2021-11-16 12:04:07 +0000
committerPiotr Kubaj <pkubaj@FreeBSD.org>2021-11-16 12:04:07 +0000
commit4d1bf4d39d724e27af6584f64f57503447e3605b (patch)
tree7457c5cdb0b1e932219a82dc96e4d31d7fdcfe86
parent5f925ae5d816bdd2f7961f1b9abe22498c083645 (diff)
downloadports-4d1bf4d39d724e27af6584f64f57503447e3605b.tar.gz
ports-4d1bf4d39d724e27af6584f64f57503447e3605b.zip
deskutils/solanum: fix build on powerpc
error[E0412]: cannot find type `c_char` in the crate root --> /wrkdirs/usr/ports/deskutils/solanum/work/Solanum-3e69272fb31bf18a7aa74ece9d904d445c458274/cargo-crates/libc-0.2.81/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs:66:31 | 66 | pub f_mntfromname: [::c_char; 88], | ^^^^^^ help: a type alias with a similar name exists: `c_schar` | ::: /wrkdirs/usr/ports/deskutils/solanum/work/Solanum-3e69272fb31bf18a7aa74ece9d904d445c458274/cargo-crates/libc-0.2.81/src/unix/mod.rs:6:1 | 6 | pub type c_schar = i8; | ---------------------- similarly named type alias `c_schar` defined here
-rw-r--r--deskutils/solanum/files/patch-powerpc62
1 files changed, 62 insertions, 0 deletions
diff --git a/deskutils/solanum/files/patch-powerpc b/deskutils/solanum/files/patch-powerpc
new file mode 100644
index 000000000000..15718f32a5ab
--- /dev/null
+++ b/deskutils/solanum/files/patch-powerpc
@@ -0,0 +1,62 @@
+--- cargo-crates/libc-0.2.81/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig 2020-03-17 20:35:43 UTC
++++ cargo-crates/libc-0.2.81/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.81/src/unix/bsd/freebsdlike/freebsd/powerpc.rs.orig 2021-06-23 22:40:24 UTC
++++ cargo-crates/libc-0.2.81/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 = 0x00080000;
++pub const MINSIGSTKSZ: ::size_t = 2048; // 512 * 4