Page MenuHomeFreeBSD

lang/rust, lang/rust-nightly: Conflict with itself
ClosedPublic

Authored by dumbbell on Jul 29 2015, 8:34 AM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Dec 25, 5:41 AM
Unknown Object (File)
Sun, Dec 15, 1:23 PM
Unknown Object (File)
Thu, Dec 12, 5:54 PM
Unknown Object (File)
Nov 29 2024, 1:47 AM
Unknown Object (File)
Nov 29 2024, 1:47 AM
Unknown Object (File)
Nov 29 2024, 1:24 AM
Unknown Object (File)
Nov 25 2024, 4:36 PM
Unknown Object (File)
Oct 30 2024, 12:58 PM

Details

Summary

The standard CONFLICTS mechanism excludes the port itself. The problem is Rust fails to build if a previous non-compatible version is installed.

I copied the original CONFLICTS mechanism in the pre-fetch target and remove the origin comparison. The goal is to keep the standard behaviour beside the origin comparison.

Another change in lang/rust only is "backported" from rust-nightly: the hash appended to libraries is computed in the Makefile and it becomes a variable in the PLIST. I plan to commit this change separately.

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, lang/rust-nightly: Conflict with itself.
dumbbell updated this object.
dumbbell edited the test plan for this revision. (Show Details)
dumbbell added reviewers: kwm, jonathan.
kwm requested changes to this revision.Jul 29 2015, 8:50 AM
kwm edited edge metadata.

You forgot to replace the hashes in the plist with the %%RUST_VSN_HASH%% variable

This revision now requires changes to proceed.Jul 29 2015, 8:50 AM
dumbbell edited edge metadata.

Include lang/rust/pkg-plist in the review

Another change in lang/rust only is "backported" from rust-nightly: the hash appended to libraries is computed in the Makefile and it becomes a variable in the PLIST. I plan to commit this change separately.

Can you also include RUST_TARGET change from freebsd-ports#34? The combined commit message may look like

lang/rust{,-nightly}: sync and improve pkg-plist substitutions

- Compute VSN hash dynamically in lang/rust as well
- Rename VSN macro in lang/rust to RUST_VSN_HASH in lang/rust-nightly
  to avoid gratuitous difference
- Do not hard-code target-triple to help DragonFly [1]

GitHub:             freebsd-ports#34 (based on) [1]
Submitted by:       Michael Neumann <mneumann@ntecs.de> [1]
dumbbell edited edge metadata.

Rebase on latest HEAD + add freebsd-ports#34 pull request

Note that I didn't tested it in Poudriere as Poudriere triggers a panic for several weeks.

Add freebsd-ports#34 pull request to rust-nightly too

Looks good, so since the dfly ignore is gone, I take it this port is now dfly enabled? Then we can remove the -dfly ports too?

@kwm: Yes, it works on Dragonfly. And yes, we will remove the rust-dragonfly port at some point in time in favor of rust/rust-nightly.

kwm requested changes to this revision.Sep 8 2015, 9:29 PM
kwm edited edge metadata.
> Compressing man pages (compress-man)
> Running Q/A tests (stage-qa)
> Checking for pkg-plist issues (check-plist)

> Parsing plist

> Checking for items in STAGEDIR missing from pkg-plist

Error: Orphaned: lib/libarena-62abc69f.so
Error: Orphaned: lib/libflate-62abc69f.so
Error: Orphaned: lib/libfmt_macros-62abc69f.so
Error: Orphaned: lib/libgetopts-62abc69f.so
Error: Orphaned: lib/libgraphviz-62abc69f.so
Error: Orphaned: lib/liblog-62abc69f.so
Error: Orphaned: lib/librbml-62abc69f.so
Error: Orphaned: lib/librustc-62abc69f.so
Error: Orphaned: lib/librustc_back-62abc69f.so
Error: Orphaned: lib/librustc_borrowck-62abc69f.so
Error: Orphaned: lib/librustc_data_structures-62abc69f.so
Error: Orphaned: lib/librustc_driver-62abc69f.so
Error: Orphaned: lib/librustc_lint-62abc69f.so
Error: Orphaned: lib/librustc_llvm-62abc69f.so
Error: Orphaned: lib/librustc_privacy-62abc69f.so
Error: Orphaned: lib/librustc_resolve-62abc69f.so
Error: Orphaned: lib/librustc_trans-62abc69f.so
Error: Orphaned: lib/librustc_typeck-62abc69f.so
Error: Orphaned: lib/librustdoc-62abc69f.so
Error: Orphaned: lib/libserialize-62abc69f.so
Error: Orphaned: lib/libstd-62abc69f.so
Error: Orphaned: lib/libsyntax-62abc69f.so
Error: Orphaned: lib/libterm-62abc69f.so
Error: Orphaned: lib/libtest-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/liballoc-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libarena-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libarena-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libcollections-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libcore-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libflate-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libflate-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libfmt_macros-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libgetopts-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libgetopts-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libgraphviz-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libgraphviz-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/liblibc-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/liblog-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/liblog-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librand-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librbml-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librbml-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_back-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_bitflags-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_borrowck-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_data_structures-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_driver-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_lint-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_llvm-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_privacy-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_resolve-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_trans-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_typeck-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustc_unicode-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/librustdoc-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libserialize-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libserialize-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libstd-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libstd-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libsyntax-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libterm-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libterm-62abc69f.so
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libtest-62abc69f.rlib
Error: Orphaned: lib/rustlib/%%RUST_TARGET%%/lib/libtest-62abc69f.so

> Checking for items in pkg-plist which are not in STAGEDIR

Error: Missing: lib/libarena-%%RUST_VSN_HASH%%.so
Error: Missing: lib/libflate-%%RUST_VSN_HASH%%.so
Error: Missing: lib/libfmt_macros-%%RUST_VSN_HASH%%.so
Error: Missing: lib/libgetopts-%%RUST_VSN_HASH%%.so
Error: Missing: lib/libgraphviz-%%RUST_VSN_HASH%%.so
Error: Missing: lib/liblog-%%RUST_VSN_HASH%%.so
Error: Missing: lib/librbml-%%RUST_VSN_HASH%%.so
Error: Missing: lib/librustc-%%RUST_VSN_HASH%%.so
Error: Missing: lib/librustc_back-%%RUST_VSN_HASH%%.so
Error: Missing: lib/librustc_borrowck-%%RUST_VSN_HASH%%.so
Error: Missing: lib/librustc_data_structures-%%RUST_VSN_HASH%%.so
Error: Missing: lib/librustc_driver-%%RUST_VSN_HASH%%.so
Error: Missing: lib/librustc_lint-%%RUST_VSN_HASH%%.so
Error: Missing: lib/librustc_llvm-%%RUST_VSN_HASH%%.so
Error: Missing: lib/librustc_privacy-%%RUST_VSN_HASH%%.so
Error: Missing: lib/librustc_resolve-%%RUST_VSN_HASH%%.so
Error: Missing: lib/librustc_trans-%%RUST_VSN_HASH%%.so
Error: Missing: lib/librustc_typeck-%%RUST_VSN_HASH%%.so
Error: Missing: lib/librustdoc-%%RUST_VSN_HASH%%.so
Error: Missing: lib/libserialize-%%RUST_VSN_HASH%%.so
Error: Missing: lib/libstd-%%RUST_VSN_HASH%%.so
Error: Missing: lib/libsyntax-%%RUST_VSN_HASH%%.so
Error: Missing: lib/libterm-%%RUST_VSN_HASH%%.so
Error: Missing: lib/libtest-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/liballoc-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libarena-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libarena-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libcollections-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libcore-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libflate-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libflate-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libfmt_macros-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libgetopts-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libgetopts-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libgraphviz-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libgraphviz-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/liblibc-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/liblog-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/liblog-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librand-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librbml-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librbml-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librustc-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librustc_back-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librustc_bitflags-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librustc_borrowck-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librustc_data_structures-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librustc_driver-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librustc_lint-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librustc_llvm-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librustc_privacy-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librustc_resolve-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librustc_trans-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librustc_typeck-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librustc_unicode-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/librustdoc-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libserialize-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libserialize-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libstd-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libstd-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libsyntax-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libterm-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libterm-%%RUST_VSN_HASH%%.so
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libtest-%%RUST_VSN_HASH%%.rlib
Error: Missing: lib/rustlib/%%RUST_TARGET%%/lib/libtest-%%RUST_VSN_HASH%%.so

> Error: Plist issues found.

  • Error code 1

Stop.
make: stopped in /usr/ports/lang/rust

>> Error: check-plist failures detected
>> Cleaning up wrkdir

> Cleaning for rust-1.2.0

build of lang/rust ended at Tue Sep 8 21:27:14 UTC 2015
build time: 00:38:42
! build failure encountered !

and

> Compressing man pages (compress-man)
> Running Q/A tests (stage-qa)

Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit
Error: Bad linking on [libedit.so.7] please add USES=libedit

  • Error code 1

Stop.
make: stopped in /usr/ports/lang/rust-nightly

>> Error: stage-qa failures detected
>> Cleaning up wrkdir
This revision now requires changes to proceed.Sep 8 2015, 9:29 PM
dumbbell edited edge metadata.

Fix computation of RUST_VSN_HASH

dumbbell edited edge metadata.

Fix linking to libedit from ports

I copied the patch-mk_main.mk patch from lang/rust to fix the "Error: Bad linking on [libedit.so.7] please add USES=libedit" error.

kwm edited edge metadata.

LGTM_1_preview_featured.jpg (472×628 px, 280 KB)

This revision is now accepted and ready to land.Sep 12 2015, 11:43 AM
This revision was automatically updated to reflect the committed changes.