error: couldn't load codegen backend "/usr/ports/lang/rust/work/rustc-1.37.0-src/build/armv6-unknown-freebsd/stage1/lib/rustlib/armv6-unknown-freebsd/codegen-backends/librustc_codegen_llvm-llvm.so": "/usr/ports/lang/rust/work/rustc-1.37.0-src/build/armv6-unknown-freebsd/stage1/lib/rustlib/armv6-unknown-freebsd/codegen-backends/librustc_codegen_llvm-llvm.so: Undefined symbol \"__clear_cache\""
__clear_cache is implemented in compiler-rt and was dropped upstream with [1]:
aa41e0d25f
For some unknown reason this is a problem on armv6. Bring back the
compiler-rt submodule for now to workaround this.
Submitted by: mikael.urankar_gmail.com
Differential Revision: https://reviews.freebsd.org/D21415
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
- Drop pre-install target: `make restage` should be run after a
failed `make stage` to wipe out and repopulate the staging
directory. No need to hack around this.
- Drop RUST_MANIFESTS, it is only one value after r490852 and now
only used once in post-install.
- Drop RUST_CHANNEL. It is only used in do-configure.
- Drop LLNEXTGEN option. There are no references to LLNextgen in
the Rust sources, so it appears to not be used for anything
anymore.
Fix handling of BOOTSTRAPS_SUFFIX. On powerpc64 the -elfv1 suffix
needs to be stripped from the bootstraps since Rust expects them
without it.
PR: 239158
Reported by: pkubaj
- Update devel/racer to latest version that can build with 1.34.0
- Drop no longer needed patch from textproc/ripgrep
- Force rebuild all consumers to catch regressions early
Thanks to Mikaël Urankar for providing updated bootstraps for
aarch64, armv6, armv7, powerpc64.
Changes: https://blog.rust-lang.org/2019/04/11/Rust-1.34.0.html
Reviewed by: jbeich
With hat: rust
Differential Revision: https://reviews.freebsd.org/D19850
- Rust will not run without a fixed ld-elf.so.1 on aarch64
- Builds with qemu-user-static currently hang after a while
PR: 221185
Submitted by: Mikaël Urankar <mikael.urankar@gmail.com>
Git even with -M -C -C couldn't detect all renames in modified files,
so rename in a separate commit.
Approved by: rust (tobik)
Differential Revision: https://reviews.freebsd.org/D18858
- Simplify .cargo-checksum.json handling [1]. Similar to USES=cargo
we disable vendor checksum checking by clearing the list of files
in all .cargo-checksum.json, so that cargo does not complain when
we patch something. The overall distfile is already checked by
us which should be enough.
- Add an overridable CARGO_VENDOR_DIR variable to set the crate
vendor directory which has moved location in nightly
- Add upstream openssl-sys patch to fix build with LibreSSL 2.9.0 [2]
Changes: https://blog.rust-lang.org/2018/12/20/Rust-1.31.1.html
Submitted by: mikael.urankar@gmail.com [1], ml@vishwin.info [2]
Differential Revision: https://reviews.freebsd.org/D18610
- libgit2 in ports is nowadays newer than bundled version
- libssh2 was already unbundled until 1.29.0 update
- Unbundle libssh2 for USES=cargo (unused atm)
PR: 231411
Approved by: rust (dumbbell, tobik)
Release notes:
* https://blog.rust-lang.org/2018/07/20/Rust-1.27.2.html
* https://blog.rust-lang.org/2018/08/02/Rust-1.28.html
* https://blog.rust-lang.org/2018/09/13/Rust-1.29.html
Up to and including Rust 1.27.x, the Rust build system shelled out to
a configure script to detect the presence and usability of libunwind.
Since Rust 1.28.0, it's using a static result in a `build.rs` file and
expects libunwind to be used. It was not the case on FreeBSD so far, so
we need a patch to this `build.rs` to disable that. We still need to
study if the FreeBSD port should use libunwind and what to do with this
patch. But this problem prevented the update to Rust 1.28.0 already, so
enough delay.
The update also comes with a patch to a few `USE_GECKO`-based ports such
as Firefox [1]. Their configure script has some asumptions on the output
of `rustc --print target-list` which are not true anymore. The patch was
already committed upstream.
The aarch64 version is still marked as BROKEN because I didn't find the
time to work on it. As a consequence, there is also no aarch64 bootstrap
for Rust 1.29.0.
PR: 229826
Approved by: jbeich [1]
Obtained from: https://bugzilla.mozilla.org/show_bug.cgi?id=1479540 [1]
Differential Revision: https://reviews.freebsd.org/D17178
It was part of the initial patch from Charlie Li to support LibreSSL
2.7. However, I misread it and though he was only removing bits
which were not needed anymore (updating checksums for openssl and
openssl-sys).
Now, we update all three: libgit2-sys, openssl and openssl-sys.
PR: 226955
Submitted by: Charlie Li <ml+freebsd@vishwin.info>
Reported by: Charlie Li <ml+freebsd@vishwin.info>
Release notes:
* https://blog.rust-lang.org/2018/06/21/Rust-1.27.html
* https://blog.rust-lang.org/2018/07/10/Rust-1.27.1.html
Rust is marked as broken on aarch64. The reason is the bootstrap
compiler crashes currently. See PR 228892 which tracks the issue.
A patch for aarch64 is still included. It fixes the sign for unqualified
C char. This patch still needs to be upstream, but for that, the
compiler needs to work again first.
PR: 228892
The announcement is available on Rust blog:
https://blog.rust-lang.org/2018/05/10/Rust-1.26.html
Rust 1.25.0, used as the bootstrap compiler, contains the patch from
bdrewery@ to use the compat (non-ino64) symbols on FreeBSD 12-CURRENT.
Therefore, we don't need `old_fstat.c` and the associated machinery in
the `Makefile` anymore.
- The ABI patch is no longer needed on head due to fixes being upstreamed
to use the pre-ino64 symbols. The ABI patch is still needed for the
bootstrap but should be removable for 1.26.0 if it uses beta 2018-03-18.
PR: 227130 [based on]
Tested by: dumbbell, Charlie Li
Submitted by: riggs [based on]
Differential Revision: https://reviews.freebsd.org/D14921 [based on]
The announcement is available on Rust blog:
https://blog.rust-lang.org/2018/03/01/Rust-1.24.1.html
There is a compilation error when it builds `clippy-driver` and `miri`
but it apparently doesn't affect the result. There are probably optional
tools/dependencies.