Commit Graph

203 Commits

Author SHA1 Message Date
Mikael Urankar 06a556fb49 lang/rust: remove disable-ldconfig it's not an option for quite some time 2021-02-04 17:21:27 +00:00
Mikael Urankar 6c562c69e9 lang/rust: revert part of r563191
It contains unrelated changes
2021-01-29 10:52:10 +00:00
Mikael Urankar 650775e0fa lang/rust: reroll the aarch64 bootstrap.
This new bootstrap is based on rust 1.49.0 built with a 12.1 sysroot.

PR:		251254
Reported by:	dch, mmel
Tested by:	dch, mikael
2021-01-29 10:49:01 +00:00
Mikael Urankar a798515415 lang/rust: Update to 1.49.0
Changes: https://github.com/rust-lang/rust/releases/tag/1.49.0

Tested by:	mikael, pkubaj
Differential Revision:	https://reviews.freebsd.org/D27940
2021-01-06 10:13:58 +00:00
Mikael Urankar 4e449e031e lang/rust: Update to 1.48.0
Changes: https://github.com/rust-lang/rust/releases/tag/1.48.0

Reviewed by:	jbeich
Tested by:	bdragon, jbeich, mikael
Differential Revision:	https://reviews.freebsd.org/D27293
2020-11-24 12:48:53 +00:00
Mikael Urankar 0d9ade169a lang/rust: exclude SOURCES in nightly build
Exclude SOURCES in nightly build as it tries to download cargo crates in
install phase and it causes build breakage
2020-11-22 13:51:14 +00:00
Mikael Urankar 9afa07826e lang/rust: restore REINPLACE_CMD for ppc64-elfv1
This patch is needed for ppc64-elfv1 and we don't build rust-nightly on tier2 arch

Reported by:	ashish
2020-10-14 16:58:48 +00:00
Mikael Urankar 3cf8e92eef lang/rust-nightly: Update to 1.49.0.20201014 2020-10-14 09:25:31 +00:00
Mikael Urankar d9b97de179 lang/rust: Update to 1.47.0
- Add powerpc64le arch (submitted by bdragon in D26711)
  - Disable DOCS, same problem fixed in r546048

  - Update devel/racer to 2.1.36
  - Import upstream patch to fix www/firefox
    (https://hg.mozilla.org/integration/autoland/rev/e2cede25c027)
  - Import gentoo patches to fix www/firefox-esr, www/cliqz and mail/thunderbird
    (https://dev.gentoo.org/~whissi/mozilla/patchsets/firefox-esr-78-patches-03.tar.xz : 0036, 0037 and 0038)
  - Force rebuild all consumers to catch regressions

Changelog:
  https://github.com/rust-lang/rust/releases/tag/1.47.0

Differential Revision:	https://reviews.freebsd.org/D26721
2020-10-13 08:36:35 +00:00
Tobias Kortkamp c9a06251c5 lang/rust: Update to 1.46.0
- Force rebuild all consumers to catch regressions early

Changes:	https://blog.rust-lang.org/2020/08/27/Rust-1.46.0.html
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D26176
2020-08-30 18:36:07 +00:00
Tobias Kortkamp 8b057d47a9 lang/rust: Update to 1.45.2
Changes:	https://blog.rust-lang.org/2020/08/03/Rust-1.45.2.html
2020-08-03 15:18:49 +00:00
Tobias Kortkamp 9137d53fe2 lang/rust: Update to 1.45.1
- Apply the "hard links break `env::current_exe()`" workaround from
  r543251 to lang/rust too
- Force rebuild all consumers for the soundness bug in 1.45.0

Changes:	https://blog.rust-lang.org/2020/07/30/Rust-1.45.1.html
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D25835
2020-07-30 18:26:53 +00:00
Tobias Kortkamp ec25a08615 lang/rust: Add back to static.rust-lang.org 2020-07-17 06:48:00 +00:00
Tobias Kortkamp b0f1d6430e lang/rust: Update to 1.45.0
- This Rust release comes with LLVM 10.  Drop the LLVM patches we
  no longer need.
- On FreeBSD 13.0 powerpc64 set the elfv2 ABI explicitly in the
  Rust target instead of patching LLVM.
- Build LLVM with Ninja.  It can shorten the build time slightly.
- Force rebuild all consumers to catch regressions early

Changes:	https://blog.rust-lang.org/2020/07/16/Rust-1.45.0.html
Tested by:	mikael, pkubaj, tobik
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D25658
2020-07-17 06:44:04 +00:00
Piotr Kubaj 3a6db341d9 lang/rust: build with Clang on powerpc64 elfv2
It looks like the LLVM bug that made Rust fail to build is gone (or Rust just doesn't trigger it anymore). I tested that Rust itself and Firefox build.

Bump PORTREVISION because of dependency change.

PR:		247388
Approved by:	tobik (maintainer)
2020-06-18 20:36:08 +00:00
Tobias Kortkamp 75b6e79ccf lang/rust: Update to 1.44.1
- Properly fix powerpc64 builds [1]

Changes:	https://blog.rust-lang.org/2020/06/18/Rust.1.44.1.html
PR:		247307 [1]
Submitted by:	pkubaj [1]
Reviewed by:	mikael, pkubaj, tobik
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D25297
2020-06-18 14:13:38 +00:00
Tobias Kortkamp d85c40b711 lang/rust-nightly: Update to 1.46.0.20200615
- Try building LLVM with Ninja
- Move post-configure to lang/rust

Changes:	https://github.com/rust-lang/rust/compare/826cb062a6...4fb54ed484
2020-06-15 22:26:47 +00:00
Tobias Kortkamp a48473296f lang/rust: Update to 1.44.0
- Remove devel/cargo-tree since it is now integrated into cargo
- Add patch to fix build with LibreSSL 3.1.x and 3.2.0 [1]
- Force rebuild all consumers to catch regressions early

Changes:	https://blog.rust-lang.org/2020/06/04/Rust-1.44.0.html
PR:		246332 [1]
Tested by:	mikael, tobik
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D25099
2020-06-04 18:08:00 +00:00
Alan Somers a91e9355f1 lang/rust-nightly: enable the Rust profiler
Enable the rust profiler on rust-nightly (as an unstable feature, it's not
allowed on the stable toolchain). This allows it to generate code coverage
reports.

https://doc.rust-lang.org/unstable-book/compiler-flags/profile.html
https://crates.io/crates/grcov

Reviewed by:	tobik
Approved by:	tobik (maintainer)
Differential Revision:	https://reviews.freebsd.org/D24765
2020-05-18 18:40:41 +00:00
Tobias Kortkamp 9cab4e16c4 lang/rust: Update to 1.43.1
- Remove upstreamed patches
- On ppc64 revert e82ec2315e5adb1c291c3702cd2ac1f46ecd0fcf to fix segfaults

Changes:	https://blog.rust-lang.org/2020/05/07/Rust.1.43.1.html
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D24734
2020-05-07 15:58:38 +00:00
Tobias Kortkamp 5b8c9933be lang/rust: Let the framework extract the bootstraps
It is possible for lang/python37 to be built in such a way that it
installs an unloadable lzma module which then causes Rust to fallback
to trying to fetch/extract the tar.gz bootstraps instead.

As a workaround and since it also simplifies some things, let the
ports framework extract the bootstraps and "install" them under
WRKDIR.  We point the build to them in config.toml.  This is similar
to how things are hooked up in lang/rust-bootstrap and Rust will
then not try to fetch and extract the bootstraps on its own.

PR:		243766
Reviewed by:	mikael
Differential Revision:	https://reviews.freebsd.org/D24582
2020-04-28 04:33:35 +00:00
Tobias Kortkamp 443b443a1f lang/rust: Go back to static.rust-lang.org 2020-04-23 15:34:59 +00:00
Tobias Kortkamp 5abe8902a5 lang/rust: Update to 1.43.0
- Add workaround to fix build when CC/CXX have "clang" in them [1]
- Respect AR to fix build with external toolchains [2]
- Force rebuild all consumers to catch regressions early

Changes:	https://blog.rust-lang.org/2020/04/23/Rust-1.43.0.html
PR:		238556 [1], 245583 [2]
Reported by:	Matthias Apitz <guru@unixarea.de> [1], Greg V <greg@unrelenting.technology> [2]
Tested by:	mikael, pkubaj, tobik
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D24521
2020-04-23 15:32:29 +00:00
Tobias Kortkamp eefc22ffc3 devel/libgit2: Update to 1.0.0
Changes:	https://github.com/libgit2/libgit2/releases/tag/v1.0.0
ABI:		https://abi-laboratory.pro/tracker/timeline/libgit2
Approved by:	mfechner (maintainer)
Differential Revision:	https://reviews.freebsd.org/D24471
2020-04-19 03:55:22 +00:00
Tobias Kortkamp 95ebc1c533 lang/rust-nightly: Update to 1.44.0.20200319
Go back to system libgit2 now that it was updated to 0.99.0.

Changes:	https://github.com/rust-lang/rust/compare/96bb8b31c8...f509b26a77
2020-03-19 07:05:29 +00:00
Tobias Kortkamp 3ca7fb22b4 devel/libgit2: Update to 0.99.0
- Switch to the release tarballs libgit2 now publishes
- Drop CURL option since it is no longer used
- Use system libpcre instead of the bundled one
- Hook up tests
- Bump consumers for ABI changes

Changes:	https://github.com/libgit2/libgit2/releases/tag/v0.99.0
ABI:		https://abi-laboratory.pro/tracker/timeline/libgit2/
2020-03-19 05:47:59 +00:00
Piotr Kubaj 9f2b11f787 lang/rust: fix build on powerpc64 elfv2
After upgrade to LLVM 10, core in stage 1 fails to compile (no clear reason, rustc crashes):
pid 26828 (rustc), jid 0, uid 0: exited on signal 11 (core dumped)

Compilation with GCC works fine, so switch to GCC for the time being.

PR:		244813
Approved by:	mikael
2020-03-17 19:25:19 +00:00
Tobias Kortkamp 25b7de7213 lang/rust: Update to 1.42.0
- Force rebuild all consumers to catch regressions early

Changes:	https://blog.rust-lang.org/2020/03/12/Rust-1.42.html
Tested by:	mikael, tobik
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D24020
2020-03-12 19:39:24 +00:00
Tobias Kortkamp 0fadf15072 lang/rust-nightly: Update to 1.43.0.20200306
libgit2-sys is now based on libgit2 0.99.0.  While 0.99.0 is supposed
to be API compatible with 0.28, it has not yet been updated in the
ports tree and the git2 crate now make use of some of the new
function return values.  Stop relying on system libgit2 and use the
bundled one.  Upstream does not make any guarantees about system
libgit2 support in the first place.

Changes:	https://github.com/rust-lang/rust/compare/6d69caba11...96bb8b31c8
2020-03-06 12:43:06 +00:00
Tobias Kortkamp daf2ea4a45 lang/rust: Update to 1.41.1
- Force rebuild all consumers to fix potential miscompilations with
  1.41.0
- Enable SOURCES by default.  The sources are indexed by RLS and
  required for it to function properly, so they should be available
  by default.  This also makes sure we test the option properly.
- Remove implied --config=config.toml from x.py args
- Switch to the upstreamed backtrace crate patches like rust-nightly
- Enable WASM by default [0]
- Strip libraries (D23650) [1]
- Simplify plist generation (D23735) [2]

Changes:	https://blog.rust-lang.org/2020/02/27/Rust-1.41.1.html
Submitted by:	mikael [0,1,2]
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D23835
2020-02-27 15:22:28 +00:00
Mikael Urankar 232ad0ecf3 lang/rust: add the WASM option
Add the WASM (WebAssembly) option to build the wasm32-unknown-unknown target, off by default.

Reviewed by:	tobik
Approved by:	tobik, manu (mentor)
Differential Revision:	https://reviews.freebsd.org/D23653
2020-02-16 15:22:07 +00:00
Mikael Urankar de3daa4dbf Trim whitespace
Reviewed by:	tobik, manu
Approved by:	manu (mentor)
Differential Revision:	https://reviews.freebsd.org/D23649
2020-02-12 16:59:46 +00:00
Tobias Kortkamp 30e19b499b lang/rust: Silence stage-qa warnings when building with SOURCES=on
PR:		243850
2020-02-06 20:51:20 +00:00
Tobias Kortkamp b807a7b276 lang/rust-nightly: Update to 1.43.0.20200205
Remove some cruft while here.

Changes:	https://github.com/rust-lang/rust/compare/41f41b2354...c9290dceee
2020-02-05 04:29:55 +00:00
Tobias Kortkamp 83209114b8 lang/rust: Update to 1.41.0
- Force rebuild all consumers to catch regressions early
- Switch to cross-compiled (from amd64) bootstraps for all
  architectures generated with the incoming lang/rust-bootstrap
- Update cargo-c to 0.5.2 to unbreak librav1e build
- Make use of regular MAKE_ENV/TEST_ENV in lang/rust
- Turn on RUST_BACKTRACE in lang/rust and USES=cargo to hopefully
  produce more useful failure logs when something panics during
  builds

Changes:	https://blog.rust-lang.org/2020/01/30/Rust-1.41.0.html
Tested by:	mikael, tobik
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D23385
2020-01-30 20:00:06 +00:00
Tobias Kortkamp 0ff0daf382 Unbreak lang/rust-nightly after r524013 2020-01-27 06:21:25 +00:00
Tobias Kortkamp 3679ebcd64 lang/rust: Apply some of the patches for lang/rust-bootstrap (D23133)
They should not affect the regular lang/rust build.
2020-01-25 05:41:19 +00:00
Tobias Kortkamp 9c9d62dce0 lang/rust-nightly: Update to 1.42.0.20200124
Nightly bootstraps now have the fix from r523512.  Switch to them
for the time being and drop the workaround.
2020-01-24 20:53:31 +00:00
Tobias Kortkamp d82b187e65 lang/rust-nightly: Unbreak with lld on 13.0 i386
= note: ld: error: relocation R_386_PC32 cannot be used against symbol __rust_probestack; recompile with -fPIC
          >>> defined in /wrkdirs/usr/ports/lang/rust-nightly/work/rustc-nightly-src/build/i686-unknown-freebsd/stage1/lib/rustlib/i686-unknown-freebsd/lib/libcompiler_builtins-6570a75fe85f0e1a.rlib(compiler_builtins-6570a75fe85f0e1a.compiler_builtins.2i519eqi-cgu.15.rcgu.o)
          >>> referenced by std.4xivr03c-cgu.14
          >>>               std-9bd70afd58e204b7.std.4xivr03c-cgu.14.rcgu.o:(_$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h1c78ed6e734a2bfc (.llvm.10122419023709863394)) in archive /wrkdirs/usr/ports/lang/rust-nightly/work/rustc-nightly-src/build/i686-unknown-freebsd/stage1/lib/rustlib/i686-unknown-freebsd/lib/libstd-9bd70afd58e204b7.rlib

          ld: error: relocation R_386_PC32 cannot be used against symbol __rust_probestack; recompile with -fPIC
          >>> defined in /wrkdirs/usr/ports/lang/rust-nightly/work/rustc-nightly-src/build/i686-unknown-freebsd/stage1/lib/rustlib/i686-unknown-freebsd/lib/libcompiler_builtins-6570a75fe85f0e1a.rlib(compiler_builtins-6570a75fe85f0e1a.compiler_builtins.2i519eqi-cgu.15.rcgu.o)
          >>> referenced by std.4xivr03c-cgu.14
          >>>               std-9bd70afd58e204b7.std.4xivr03c-cgu.14.rcgu.o:(std::io::util::copy::h9115f048f2203467) in archive /wrkdirs/usr/ports/lang/rust-nightly/work/rustc-nightly-src/build/i686-unknown-freebsd/stage1/lib/rustlib/i686-unknown-freebsd/lib/libstd-9bd70afd58e204b7.rlib
          clang-cpp: error: linker command failed with exit code 1 (use -v to see invocation)

error: aborting due to previous error

http://beefy17.nyi.freebsd.org/data/head-i386-default/p523508_s356869/logs/rust-nightly-1.42.0.20200118.log
2020-01-19 06:53:15 +00:00
Tobias Kortkamp 31a186d154 lang/rust: Simplify makesum and MASTER_SITES 2020-01-18 09:56:06 +00:00
Tobias Kortkamp 50c841a2c2 lang/rust-nightly: Update to 1.42.0.20200118 2020-01-18 09:49:47 +00:00
Tobias Kortkamp 83096313be lang/rust: Add COMPAT_FREEBSD11 canary
This attempts to provide a nicer error message for the subset of
users who build their own kernels without COMPAT_FREEBSD11 and then
attempt to build lang/rust.  The Rust ecosystem currently uses
pre-ino64 syscalls, so building lang/rust without COMPAT_FREEBSD11
is not going to work.

The error message for this is non-obvious and there is a new bug
for this at least every 1-2 months.  Hopefully this will improve
the situation a little.

Cargo and Gecko ports are similarly affected, so add the pre-build
check to them too.

Reviewed by:	jbeich, mikael.urankar@gmail.com
Tested by:	madpilot (negative case)
Approved by:	gecko (jbeich)
Differential Revision:	https://reviews.freebsd.org/D23100
2020-01-13 18:36:04 +00:00
Tobias Kortkamp cab5226369 lang/rust: increase build verbosity and produce better build logs 2020-01-11 08:35:05 +00:00
Tobias Kortkamp f998d9199b lang/rust: Simplify do-configure and garbage collect files/config.toml 2020-01-07 07:01:46 +00:00
Tobias Kortkamp 6474c40f73 lang/rust: Update to 1.40.0
- 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/12/19/Rust-1.40.0.html
Tested by:	mikael.urankar@gmail.com, tobik
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D22843
2019-12-19 16:14:48 +00:00
Tobias Kortkamp 2436e87863 lang/rust: Respect ONLY_FOR_ARCHS in makesum
lang/rust-nightly does not have powerpc64 in it and unconditionally
running makesum for the powerpc64 ELFv2 bootstraps breaks there.

PR:		242342
Reported by:	jbeich
2019-12-01 18:36:53 +00:00
Tobias Kortkamp 820d36692d lang/rust: Remove PPC_ABI kludge after r518658 2019-11-30 02:02:29 +00:00
Tobias Kortkamp 24db7d8caa lang/rust, Mk/Uses/cargo.mk: Drop gmake build dependency for backtrace-sys
The backtrace-sys crate no longer needs gmake since 0.1.20.
sysutils/flowgger still uses backtrace-sys-0.1.14.  Since it is the
only USES=cargo port left that needs it, move the gmake dependency
directly to it instead.

lang/rust currently has backtrace-sys-0.1.30.  It also vendors
jemalloc-sys (which also needs gmake to build) but it is hidden
behind rustc's jemalloc feature which we do not currently activate.
It should be safe to remove gmake in lang/rust too.

PR:		242267
Reported by:	mikael.urankar@gmail.com
2019-11-29 22:12:35 +00:00
Tobias Kortkamp 04a24a9085 lang/rust: Add missing bits for powerpc64 ELFv2 support via PPC_ABI
Submitted by:	Mikaël Urankar <mikael.urankar@gmail.com>
Differential Revision:	https://reviews.freebsd.org/D20792
2019-11-19 09:28:13 +00:00
Jan Beich 6131485198 lang/rust{,-nightly}: switch to .tar.xz bootstraps
Decreases total size by ~325 MiB in lang/rust.

Approved by:	tobik (rust)
Differential Revision:	https://reviews.freebsd.org/D22422
2019-11-17 08:30:39 +00:00