Commit Graph

75 Commits

Author SHA1 Message Date
Mikael Urankar 13c484cc67 lang/rust: reroll the armv7 bootstrap
The current one fails to build Rust.

PR:		251254
Reported by:	mmel
2021-01-30 17:21:47 +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 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 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
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 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
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 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 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 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
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 06ac63b008 lang/rust: fix powerpc64 elfv2 bootstrap
Apparently there were some issues with the previous one.

PR:		243253
Submitted by:	mikael.urankar@gmail.com
Reported by:	jhibbits, pkubaj
Tested by:	pkubaj
2020-01-11 08:24:17 +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
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
Tobias Kortkamp 2fe5565445 lang/rust: Update to 1.39.0
- Force rebuild all consumers to catch regressions early
- Partially apply D20792 in preparation for PPC_ABI support
- Add LibreSSL 3.0.x support [1]

Thanks to Mikaël Urankar for providing updated bootstraps for
aarch64, armv6, armv7, powerpc64.

Changes:	https://blog.rust-lang.org/2019/11/07/Rust-1.39.0.html
PR:		241411 [1]
Tested by:	mikael.urankar@gmail.com, tobik
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D22240
2019-11-07 18:07:20 +00:00
Tobias Kortkamp deaa22d85c lang/rust: Update to 1.38.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/09/26/Rust-1.38.0.html
Tested by:	jbeich, mikael.urankar@gmail.com, tobik
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D21778
2019-09-27 09:35:20 +00:00
Tobias Kortkamp 7589599b53 lang/rust: Unbreak on armv6
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]:
https://github.com/rust-lang-nursery/compiler-builtins/commit/aa41e0d25fcb2b11b9b5c269846dd70547f2a787

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
2019-09-01 07:26:54 +00:00
Tobias Kortkamp 40666d2b8f lang/rust: Update to 1.37.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/08/15/Rust-1.37.0.html
Tested by:	jbeich, tobik, greg@unrelenting.technology (aarch64)
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D21247
2019-08-15 14:30:16 +00:00
Tobias Kortkamp f69160b440 lang/rust: Update to 1.36.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/07/04/Rust-1.36.0.html
Tested by:	jbeich, mikael.urankar@gmail.com
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D20810
2019-07-04 14:41:57 +00:00
Tobias Kortkamp f30ebc2bec lang/rust: Update to 1.35.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/05/23/Rust-1.35.0.html
Reviewed by:	jbeich
Tested by:	pkubaj (powerpc64), mikael.urankar@gmail.com (aarch64)
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D20332
2019-05-24 03:25:11 +00:00
Tobias Kortkamp 6bd3ed2a9b lang/rust: Update to 1.34.2
- While here add patches from [1] for LibreSSL 2.9.1 support

[1] https://github.com/sfackler/rust-openssl/pull/1097

Changes:	https://blog.rust-lang.org/2019/05/13/Security-advisory.html
Changes:	https://blog.rust-lang.org/2019/05/14/Rust-1.34.2.html
PR:		237495 [1]
Security:	37528379-76a8-11e9-a4fd-00012e582166
2019-05-15 03:12:15 +00:00
Tobias Kortkamp 6c5e524edf lang/rust: Update to 1.34.1
- Add stdsimd patches from D19940 to attempt to unbreak powerpc64, armv{6,7} [1]

Changes:	https://blog.rust-lang.org/2019/04/25/Rust-1.34.1.html
PR:		237507 [1]
Submitted by:	mikael.urankar@gmail.com [1]
Reviewed by:	jbeich [1]
Tested by:	pkubaj (stdsimd patches with 1.34.0 on powerpc64) [1]
With hat:	rust
Differential Revision:	https://reviews.freebsd.org/D19940 [1]
2019-04-26 04:28:47 +00:00
Tobias Kortkamp 67b6dd1b42 lang/rust: Update to 1.34.0
- 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
2019-04-11 19:39:28 +00:00
Jan Beich 87378368c4 lang/rust: update to 1.33.0
- www/firefox temporarily loses SIMD in charset conversion, see
  https://bugzilla.mozilla.org/show_bug.cgi?id=1521249
- Force rebuild all consumers to catch regressions early

Changes:	https://blog.rust-lang.org/2019/02/28/Rust-1.33.0.html
Tested by:	Mikaël Urankar (aarch64, armv6, armv7, powerpc64), Piotr Kubaj (powerpc64)
Approved by:	rust (tobik)
Differential Revision:	https://reviews.freebsd.org/D19354
2019-02-28 18:51:45 +00:00
Tobias Kortkamp ea2b4d789b lang/rust: Add aarch64, armv{6,7}, and powerpc64 bootstraps
PR:		216143, 228892
Submitted by:	Mikaël Urankar <mikael.urankar@gmail.com>
Differential Revision:	https://reviews.freebsd.org/D18367
2019-02-18 15:30:39 +00:00
Jan Beich 6f333b0b12 lang/rust: update to 1.32.0
- devel/racer no longer needs to dowgrade rustc-ap-syntax
- Force rebuild all consumers to catch regressions early

Changes:	https://blog.rust-lang.org/2019/01/17/Rust-1.32.0.html
Approved by:	rust (tobik)
Differential Revision:	https://reviews.freebsd.org/D18858
2019-01-17 19:50:38 +00:00
Tobias Kortkamp d6cb3d9218 lang/rust: Update to 1.31.1
- 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
2018-12-21 10:37:09 +00:00
Jan Beich 7c64203f67 lang/rust: update to 1.31.0
- devel/racer no longer needs to dowgrade rustc-ap-syntax
- Force rebuild all consumers to catch regressions early

Changes:	https://blog.rust-lang.org/2018/12/06/Rust-1.31.0.html
Approved by:	rust (tobik)
Differential Revision:	https://reviews.freebsd.org/D18427
2018-12-06 17:11:14 +00:00
Jean-Sébastien Pédron d53d5a0590 lang/rust: Update to 1.30.1
Release notes:
* https://blog.rust-lang.org/2018/11/08/Rust-1.30.1.html
2018-11-09 23:32:39 +00:00
Jan Beich d12ed11522 lang/rust: update to 1.30.0
- Force rebuild all consumers to catch regressions early

Changes:	https://blog.rust-lang.org/2018/10/25/Rust-1.30.0.html
Approved by:	rust (tobik)
MFH:		2018Q4 (less rust versions to support)
Differential Revision:	https://reviews.freebsd.org/D17695
2018-10-25 21:59:37 +00:00
Jan Beich 2e8d729d62 lang/rust: update to 1.29.2
- Force rebuild all consumers in case some are affected by miscompilation

Changes:	https://blog.rust-lang.org/2018/10/12/Rust-1.29.2.html
PR:		229826 (follow up)
Approved by:	rust (tobik)
MFH:		2018Q4
Differential Revision:	https://reviews.freebsd.org/D17477
2018-10-12 19:01:02 +00:00
Jan Beich a9d287a5ea lang/rust: update to 1.29.1
- Force rebuild all consumers as standard library is statically linked

Changes:	https://blog.rust-lang.org/2018/09/25/Rust-1.29.1.html
PR:		229826 (follow up)
Approved by:	dumbbell
Differential Revision:	https://reviews.freebsd.org/D17337
2018-09-28 17:59:24 +00:00
Jean-Sébastien Pédron aa8061d1c1 lang/rust: Update to 1.29.0
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
2018-09-16 07:57:08 +00:00
Jean-Sébastien Pédron 80e30d6133 lang/rust: Update to 1.27.1
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
2018-07-19 20:57:09 +00:00
Jean-Sébastien Pédron 4f60577fd4 lang/rust: Update to 1.26.2
Release notes:
* https://blog.rust-lang.org/2018/05/29/Rust-1.26.1.html
* https://blog.rust-lang.org/2018/06/05/Rust-1.26.2.html
2018-06-09 09:28:57 +00:00
Jean-Sébastien Pédron 12721bb2ad lang/rust: Update to 1.26.0
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.
2018-05-15 13:43:34 +00:00
Bryan Drewery 18dac0b76c Update to 1.25.0.
- 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]
2018-04-16 21:35:26 +00:00
Jean-Sébastien Pédron 9882c6b366 lang/rust: Update to 1.24.1
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.
2018-03-22 18:14:21 +00:00
Jean-Sébastien Pédron 989f546e02 lang/rust: Update to 1.24.0
The announcement is available on Rust blog:
https://blog.rust-lang.org/2018/02/15/Rust-1.24.html

PR:		225582
2018-02-19 21:53:01 +00:00
Jean-Sébastien Pédron 9d417de57c lang/rust: Update to 1.23.0
Firefox 57.0 failed to build with Rust 1.23.0 with the following error:

    error: unused import: `std::ascii::AsciiExt`
      --> /wrkdirs/usr/ports/www/firefox/work/firefox-57.0.4/servo/components/style/gecko_string_cache/mod.rs:16:5
       |
    16 | use std::ascii::AsciiExt;
       |     ^^^^^^^^^^^^^^^^^^^^
       |
    note: lint level defined here
      --> /wrkdirs/usr/ports/www/firefox/work/firefox-57.0.4/servo/components/style/lib.rs:26:9
       |
    26 | #![deny(warnings)]
       |         ^^^^^^^^
       = note: #[deny(unused_imports)] implied by #[deny(warnings)]

Now that Firefox is updated to 58.0, the build succeeds.
2018-01-25 08:07:58 +00:00
Jean-Sébastien Pédron ba01899161 lang/rust: Update to 1.22.1
Support for LibreSSL up-to 2.6.3 is now included, thus we can remove the
patches to the `openssl` and `openssl-sys` crates.

The renewed bootstrap for aarch64 was created on 11.0-RELEASE, instead
of 11.1-STABLE. It should allow it to run on all 11.x and thus fix the
build on 11.0-RELEASE. [1]

PR:		223009 [1]
2017-11-27 08:20:32 +00:00
Jean-Sébastien Pédron 76740e13d8 lang/rust: Update to 1.21.0
The official bootstraps wouldn't work: rustc was stalled on a mutex
while compiling a crate early in the build. This was solved by creating
a new bootstraps for "rustc" and "rust-std" from the existing FreeBSD
package. We keep using the official "cargo" bootstrap.

PR:		223123
2017-10-28 09:13:21 +00:00
Jean-Sébastien Pédron 97c4fb35a8 lang/rust: Update to 1.20.0
This patch only upgrades the port to Rust 1.20.0. The PR also covers a
build failure with the latest LibreSSL, which is not addressed here.

PR:		222359
Reported by:	Charlie Li <ml+freebsd-bugs@vishwin.info>
2017-10-04 08:13:38 +00:00
Jean-Sébastien Pédron 0cc13b3d48 lang/rust: Install Cargo + use bundled crates
This port now provides Cargo. This is the recommended now because Cargo
won't be provided separately in the future.

To build Cargo, we set `extended = true` in `config.toml`. As a side
effect, this flag also installs Rust source code. The port has a new
`SOURCES` option (disabled by default) to keep those sources.

As a consequence of this, `devel/cargo` is removed. Several ports
and Makefiles in Mk were updated to depend on `lang/rust` instead of
`devel/cargo`.

The other big change in this patch is the use of the bundled crates,
instead of relying on Cargo's registry (which was part of the distfiles,
in order to allow offline builds). So now, we don't need to prepare the
registry when updating this port.

This has several other benefits:
    * It fixes the build with sudo(8).
    * It fixes the use of the ino-64 patch (it was not applied to the
      registry, thus not used).

Compilation errors were fixed in the ino-64 patch.

Various `.cargo-checksum.json` files are updated after the sources are
patched (FBSD10_FIX, ino-64, and so on). This fixes builds which were
failing with errors such as:

    error: the listed checksum of `.../rustc-1.19.0-src/src/vendor/lzma-sys/xz-5.2.3/build-aux/config.rpath` has changed:
    expected: c8b4c017079da9dfb3086a0583e60ffe736184d89005dc5973f0bb0fd17c04bb
    actual:   561b00eb30ecaef2c9da17bc195e7d2a7ea63facea38ea9849fbb0ed340bebba

PR:		221088
Reported by:	joneum@, nwhitehorn@, romain@,
		Ekaterina Vaartis <vaartis@cock.li>,
		david@catwhisker.org,
		fullermd@over-yonder.net,
		rum1cro@yandex.ru,
		w.schwarzenfeld@utanet.at
Differential Revision:	https://reviews.freebsd.org/D11783
2017-09-15 18:01:17 +00:00
Jean-Sébastien Pédron 771fbc02f4 lang/rust: Update to 1.19.0
The main change in the port is the switch from configure+make to the
`x.py` build script. This is the recommended way of building Rust. It
takes a configuration file, `config.toml`, which, in the port case,
indicates:

 * where to install things;
 * which release channel to use;
 * where to find Python and llvm-config;
 * if documentation should be also built.

The build process should now honor ${MAKE_JOBS_NUMBER} instead of always
using all available CPU cores.

The Cargo registry archive is significantly larger. It includes the
whole registry index (not only the crates needed by Rust). If the index
is missing, Cargo wants to download it from crates.io and I couldn't
find a way to convince it skip it.

New bootstraps for FreeBSD/aarch64 were prepared for this update. Those
are based on Rust 1.18.0 and Cargo 0.19.0.

CONFLICTS_BUILD with installed lang/rust and lang/rust-nightly is
commented out for now. I couldn't see any build failure with an installed
lang/rust so it looks promising. But I couldn't test with an installed
lang/rust-nightly because the latter is marked BROKEN for now. Once it's
restored, I'll do more testing and hopefully completely remove this
CONFLICTS_BUILD variables.
2017-07-28 10:18:54 +00:00