Several libraries have their filename computed and based on the absolute
path to source files. Therefore, we need to generate the PLIST. Rust
installer already produces manifests listing files it installs. The port
now uses those files to complete `${TMPPLIST}`.
While the port built fine in Poudriere, it failed when built directly on
the host (regular make or with portmaster(1)) or using a different tool
such as Synth. This commit fixes the build for those methods.
Handling of DOCS-specific files is also unified with normal files. This
gets rid of code duplication.
How to do reproducible builds will be studied later.
PR: 217309
Reported by: Several people on freebsd-ports@ or Bugzilla
Tested by: Almost everyone who reported the issue
Approved by: antoine (mentor), riggs (maintainer of lang/rust)
Differential Revision: https://reviews.freebsd.org/D9816
Add a pkg-message to these ports advising users to mount procfs to see
backtraces.
Reviewed by: dumbbell, riggs
Approved by: dumbbell (ports)
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D9838
Both versions of Rust seen changes to their build system. Now they
require a bootstrap of Cargo and thus, a snapshot of Cargo's registry.
Each library has its own suffix instead of a common suffix for a given
version of Rust. Thus all future updates of the ports will include
changes to their plist.
$DISTFILES are now all under the `rust` directory in `$DISTDIR`. A
similar change will be committed to devel/cargo later.
lang/rust-nightly is enabled on i386 (bugzilla 216143). The source
snapshot also contains everything to build it on aarch64, but enabling
it will be committed later.
PR: 216143
Approved by: riggs, bapt (mentor), antoine (mentor)
Differential Revision: https://reviews.freebsd.org/D9286
Release 1.12.1 is a maintenance release which fixes some
regressions in the 1.12.0 version, including memory corruption
under certain conditions. Details can be found in the release
announcement: https://blog.rust-lang.org/2016/10/20/Rust-1.12.1.html
MFH: 2016Q4
A custom bootstrap compiler package had to be created for DragonFly using
FreeBSD's as a model since upstream did not provide one for DF this time.
Approved by: riggs (maintainer)
Language changes require very recent stage0 snapshots to build
rust 1.8.0. Upstream forgot to make these snapshots known to the
build system. While this was patched for FreeBSD in r413501, it
was missed for DragonFly. This changeset fixes this.
* rust: drop no longer used RUST_SOURCE variable
* rust: apply rust-nightly FIXME comment about stage-qa (strip)
* rust-nightly: properly conflict for install with rust package
* rust-nightly: inherit |make test| support from r401025
* rust-nightly: as DOCSDIR is the same drop unnecessary DOCS option
Approved by: riggs, dumbbell (maintainers)
Differential Revision: https://reviews.freebsd.org/D5789
- Provide target for 'make test': Use bundled rust regression test suite
- Use bundled LLVM for now: Built with it, rust passes more regression tests
- Bump PORTREVISION
A newer version of Rust fails to build if an older version is installed
because the build process picks libraries in %%LOCALBASE%%/lib before
those from the build directory.
In the pkg-plist of both ports, `x86_64-unknown-freebsd` is now a
variable automatically set in the Makefile. This avoids the need for a
separate port for DragonFlyBSD. [1]
Still in the pkg-plist, RUST_VSN_HASH is automatically computed in the
lang/rust's Makefile, like it was already done for lang/rust-nightly.
lang/rust-nightly USES libedit. patch-mk_main.mk was copied from
lang/rust so the correct library is picked (ie. the one from Ports, not
the one from the base). This was already fixed in lang/rust.
lang/rust includes bsd.port.options.mk and bsd.port.mk, instead of
bsd.port.pre.mk and bsd.port.post.mk. This was already fixed in
lang/rust-nightly.
Both ports are now closer to each other.
PR: 202869 [1]
Submitted by: Michael Neumann <mneumann@ntecs.de> [1]
Reviewed by: kwm
Approved by: kwm
Differential Revision: https://reviews.freebsd.org/D3234
Dependencies are updated: Perl is not a dependency at all and Python is
a build dependency only.
Rust may fail to build if a previous version is already installed
because the bootstrapped rustc puts "-L/usr/local/lib" at the beginning
of the linker flags. Therefore, mark rust as a CONFLICTS_BUILD with
itself.
Fix the build as a normal user by setting permissions on all directories
to 0755 [1].
Be closer to the standalone installer's file hierarchy by installing
files such as "components", "manifest-rustc" and "uninstall.sh".
Add "files/patch-src_librustc__back_target_freebsd__base.rs"
to remove "-L/usr/local/lib", "-L/usr/local/lib/gcc46" and
"-L/usr/local/lib/gcc44" from the builtin linker flags.
Differential Revision: https://reviews.freebsd.org/D2466
Submitted by: Chris Hutchinson [1]
Reviewed by: jonathan, kwm
Approved by: jonathan