Page MenuHomeFreeBSD

lang/rust-nightly: Update to 1.9.0.20160318
ClosedPublic

Authored by dumbbell on Mar 28 2016, 3:18 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Dec 4, 12:45 AM
Unknown Object (File)
Fri, Nov 29, 1:41 AM
Unknown Object (File)
Fri, Nov 29, 1:41 AM
Unknown Object (File)
Fri, Nov 29, 1:40 AM
Unknown Object (File)
Fri, Nov 29, 1:39 AM
Unknown Object (File)
Fri, Nov 29, 1:39 AM
Unknown Object (File)
Fri, Nov 29, 1:20 AM
Unknown Object (File)
Nov 12 2024, 11:40 AM
Subscribers

Details

Summary

Beside the update from upstream, this should help us prepare a new stage0 bootstrap for later versions.

While here, I imported many changes made to lang/rust.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

dumbbell retitled this revision from to lang/rust-nightly: Update to 1.9.0.20160318.
dumbbell updated this object.
dumbbell edited the test plan for this revision. (Show Details)
dumbbell added reviewers: asomers, koobs, riggs, will.

Looks fine but pkg-plist is still wrong, it misses new files. Maybe also copy TEST_TARGET piece from lang/rust.

===> Checking for items in STAGEDIR missing from pkg-plist
Error: Orphaned: lib/librustc_const_eval-%%RUST_VSN_HASH%%.so
Error: Orphaned: lib/librustc_metadata-%%RUST_VSN_HASH%%.so
Error: Orphaned: lib/librustc_passes-%%RUST_VSN_HASH%%.so
Error: Orphaned: lib/librustc_plugin-%%RUST_VSN_HASH%%.so
Error: Orphaned: lib/libsyntax_ext-%%RUST_VSN_HASH%%.so
Error: Orphaned: lib/rustlib/manifest-rust-std-%%RUST_TARGET%%
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_const_eval-%%RUST_VSN_HASH%%.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_const_eval-%%RUST_VSN_HASH%%.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_metadata-%%RUST_VSN_HASH%%.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_passes-%%RUST_VSN_HASH%%.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_plugin-%%RUST_VSN_HASH%%.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libsyntax_ext-%%RUST_VSN_HASH%%.so
lang/rust-nightly/Makefile
173 ↗(On Diff #14675)

Is this new in -nightly or affects lang/rust as well?

175 ↗(On Diff #14675)

Convert to post-install-DOCS-on:. See 5.12.3.13 in Porter's Handbook or 20150701 entry in /usr/ports/CHANGES for details.

Address @jbeich comments

  • Fix pkg-plist (orphaned files)
  • Include D5770
  • Use post-install-DOCS-on for DOCS-specific commands

For the latter, I had to add DOCS to the OPTIONS.

dumbbell added inline comments.
lang/rust-nightly/Makefile
173 ↗(On Diff #14675)

It looks like new, though I didn't try to build lang/rust lately.

jbeich added a reviewer: jbeich.
This revision is now accepted and ready to land.Mar 29 2016, 12:07 PM
lang/rust-nightly/Makefile
76 ↗(On Diff #14681)

The build will fail if llvm was not built with the Lit option. Does Ports have anyway to specify which options dependencies must be built with?

configure: error: program '/usr/local/llvm36/bin/FileCheck' is missing, please install it

lang/rust-nightly/Makefile
76 ↗(On Diff #14681)

Does Ports have anyway to specify which options dependencies must be built with?

Not yet. It's long desired feature[1]. There's a recent attempt to implement it via pkg(8) support for flavors and subpackages. But before that happens ports have to work around by depending on a specific file, testing features via pre-configure, making the options default or creating slaves (heavy build unlike subpackages).

[1] https://lists.freebsd.org/pipermail/freebsd-ports/2005-April/022878.html

lang/rust-nightly/Makefile:76 The build will fail if llvm was not built with the Lit option.

LIT option is enabled by default in devel/llvm* ports. Also, lang/rust-nightly builds fine against either llvm36 or llvm38 but not llvm37 yet because of bug 208248.

configure: error: program '/usr/local/llvm36/bin/FileCheck' is missing, please install it

Which version are you testing? Both rP411819 and D5770 have

PORT_LLVM_BUILD_DEPENDS=	${LLVM_PREFIX}/bin/FileCheck:${PORTSDIR}/devel/llvm${LLVM_VER}

which aborts build until llvm version with FileCheck utility is installed.

asomers edited edge metadata.
asomers added inline comments.
lang/rust-nightly/Makefile
76 ↗(On Diff #14681)

I'm testing 10.2-RELEASE with your patch. The build doesn't actually abort if FileCheck isn't installed; it just tries to rebuild llvm but doesn't check afterwards that FileCheck was actually installed. I had earlier disabled LIT for llvm to eliminate the Python dependency. It doesn't sound like there's much we can do about this problem ATM.

lang/rust-nightly/Makefile
92 ↗(On Diff #14704)

Other ways to fix ${ARCH} poisoning from bsd.port.mk:

  • devel/llvm36: files/patch-utils_llvm-build_llvmbuild_main.py (also used by lang/rust)
  • devel/llvm38: CONFIGURE_TARGET:=${ARCH:C/amd64/x86_64/:C/armv6hf/armv6/}-portbld-${OPSYS:tl}${OSREL}

https://lists.freebsd.org/pipermail/freebsd-ports/2015-December/101284.html

76 ↗(On Diff #14681)

Aborting before build recurses would be more ugly:

pre-configure:
# .if !exists() evaluates too early before the dependency has a chance to be installed
	@if ! hash FileCheck 2>/dev/null; then \
		${ECHO_MSG} "${PKGNAME}: Rebuild devel/llvm${LLVM_VER} with LIT option enabled."; \
		exit 1; \
	fi
This revision was automatically updated to reflect the committed changes.