Page MenuHomeFreeBSD

lang/rust: add powerpc64 target
Needs ReviewPublic

Authored by mikael.urankar_gmail.com on Wed, Nov 28, 11:32 AM.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

tobik added inline comments.Thu, Nov 29, 1:39 PM
lang/rust/Makefile
106–107

These two lines seem to be redundant.

169–171

Thank you for doing this. We do a similar thing in cargo.mk and I never got around to trying this in lang/rust too.

Can you please delete files/patch-src_vendor_openssl-sys_.cargo-checksum.json too?

I would prefer to see this bootstrapped and only for 12.0

mikael.urankar_gmail.com edited the test plan for this revision. (Show Details)

I managed to build cargo with OPENSSL_STATIC=yes

mikael.urankar_gmail.com edited the summary of this revision. (Show Details)Mon, Dec 3, 7:50 PM
jbeich edited reviewers, added: rust; removed: dumbbell, koobs, riggs, tobik, will.Tue, Dec 4, 4:29 AM
jbeich added a subscriber: jbeich.

Please, land before D18427 if you plan to MFH to 2018Q4.

pkubaj_riseup.net added a comment.EditedThu, Dec 6, 10:56 AM

lang/rust builds on 12.0-RC3, but I have a problem building devel/rust-cbindgen.

error[E0412]: cannot find type `c_long` in the crate root

https://talos.anongoth.pl/data/powerpc64-default/2018-12-05_22h39m09s/logs/errors/rust-cbindgen-0.6.7.log

Is the built rust compiler 100% functional? This port builds on amd64.

@pkubaj_riseup.net, bundled libc-0.2.41 doesn't support powerpc* on FreeBSD. Which version does or which part do you need backported?

libc crate is used by pretty much every lang/rust consumer. If you don't land powerpc64 support upstream maintaining patches in consumers with vendored dependencies (e.g., net-im/fractal, www/firefox) is going to be hard.

Currently there's no support for any powerpc* on FreeBSD (https://github.com/rust-lang/libc/tree/master/src/unix/bsd/freebsdlike/freebsd).

I guess it's better to fix lang/rust alone for now and then take care of libc. Fixing lang/rust will make it much easier to fix other Rust-related ports because of no need to bootstrap on other architecture.