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
- Remove no-op patch file (builds just fine with -Werror as it seems)
- In BATCH or PACKAGE_BUILDING modes, produce verbose build logs
- Rework post-extract target: do not extract bootstrap compiler ourselves,
put it into expected download directory instead; this also allows us to
optimize away RUST_TARGET knob and post-patch hack
- Since the port is for FreeBSD 10+, no need to explicitly depend on
libexecinfo.so
- Use OPTIONS helpers, perform some other minor Makefile cleanups
- Augment port description text while I am here