Page MenuHomeFreeBSD

lang/rust: Update to 1.39.0

Authored by tobik on Nov 5 2019, 5:23 AM.



Scheduled to be released on 2019-11-07.

Other port changes:

  • Maybe adds LibreSSL 3.0.2 support ( based on the relevant openssl-sys commits
  • Move architecture specific patches to separate patch dirs in preparation for D20792
  • Also add the patches from D20792 (PPC_ABI changes later after D22039 lands)
Test Plan

11.3 i386 ok, consumers ok
12.0 amd64 ok, consumers ok
12.0 amd64 + LibreSSL ok
13.0 amd64 ok
13.0 i386 ok
aarch64 in progress
powerpc64 elfv1 ok
powerpc64 elfv2 ok
armv6 ok
armv7 ok

Diff Detail

rP FreeBSD ports repository
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Attaching patch generated with --show-copies-as-adds that might be easier to apply:

Also the thunderbird failure log which Phabricator refused to create a Paste from:

The patch doesn't apply here:

root@ppc64-elfv2: /usr/ports svn st lang/rust
M       lang/rust/files/config.toml

root@ppc64-elfv2: /usr/ports svn patch --dry-run D22240.diff
U         lang/rust/Makefile
U         lang/rust/distinfo
D         lang/rust/files/extra-patch-arm-compiler-rt
D         lang/rust/files/
D         lang/rust/files/
U         lang/rust/files/
U         lang/rust/files/
U         lang/rust/files/
U         lang/rust/files/
C         lang/rust/files/powerpc64-elfv1/
>         rejected hunk @@ -1,31 +1,7 @@
>         rejected hunk @@ -35,14 +11,3 @@
C         lang/rust/files/powerpc64-elfv1/
>         rejected hunk @@ -1,6 +1,6 @@
A         lang/rust/files/powerpc64-elfv2
A         lang/rust/files/powerpc64-elfv2/
A         lang/rust/files/powerpc64-elfv2/
A         lang/rust/files/powerpc64-elfv2/patch-src_llvm-project_clang_lib_Basic_Targets_PPC.h
A         lang/rust/files/powerpc64-elfv2/patch-src_llvm-project_llvm_lib_Target_PowerPC_PPCTargetMachine.cpp
Summary of conflicts:
  Text conflicts: 2
8 ↗(On Diff #63950)

It should be OSREL and not 13.0. I think this file can be shared between elfv1 and elfv2 as long as OSREL is used.
Why do you prefer patch files instead of patching from the Makefile (like I did in D20792)?

.if ${ARCH} == powerpc64 && ${PPC_ABI} == ELFv2
		's|Endian::Big => ELFv1|Endian::Big => ELFv2|' \
		's|powerpc64-unknown-freebsd|powerpc64-unknown-freebsd${OSREL}|' \
95 ↗(On Diff #63950)

Unrelated to this review but this bug was fixed 10 months ago on -current, I think it can be simplified to (dfly doesn't have aarch64 arch):
.if ${ARCH} == aarch64 && ${OSVERSION} < 1200502

In D22240#486171, wrote:

The patch doesn't apply here:

Probably because of the svn cp/mv that are in this review. Use the --show-copies-as-adds patch I specifically attached for this instead. Here it is again:

  • powerpc64-elfv2/ to sed
  • Simplify aarch64 IGNORE

Updated --show-copies-as-adds patch:

  • Unbreak Gecko ports by backporting [1]


Updated --show-copies-as-adds patch:

It's ok on armv6, powerpc64 elfv1 and elfv2. I've launched the build on armv7 and aarch64 but it probably won't be finished until tomorrow.

44 ↗(On Diff #63976)

Why do we need libedit? It builds fine without it, is it a runtime thing?

It's ok on armv7. The build is still ongoing on aarch64...

44 ↗(On Diff #63976)

AFAICT it's just cruft. I've removed it.

In D22240#486817, wrote:

It's ok on armv7. The build is still ongoing on aarch64...

How did the build on aarch64 go? Can I commit?

It goes slowly. rust stage2 is almost done, it remains all the tools (cargo, clippy...) You can commit it.

This revision was not accepted when it landed; it landed in state Needs Review.Nov 7 2019, 6:07 PM
Closed by commit rP516995: lang/rust: Update to 1.39.0 (authored by tobik). · Explain Why
This revision was automatically updated to reflect the committed changes.