Wednesday, September 11, 2024

Re: rust-{clippy,rustfmt} missing dependency on rust

Matthew Martin <phy1729@gmail.com> writes:

> I'm on a monthish old snapshot. While there's been a bump to libcrypto
> and libssl in the meantime, pkg_add -u usually doesn't break anything.
> On a recent pkg_add -u,
>
>
> Can't install rust-1.81.0 because of libraries
> Direct dependencies for rust-1.80.1->1.81.0 resolve to libssh2-1.11.0 curl-8.9.1p0
> Full dependency tree is curl-8.9.1p0 libssh2-1.11.0 ngtcp2-1.7.0 nghttp2-1.63.0 nghttp3-1.5.0
> rust-clippy-1.80.1p0->1.81.0: ok
> rust-rustfmt-1.80.1p0->1.81.0: ok
>
>
> However when attempting to run clippy or rustfmt,
>
>
> ~% /usr/local/bin/clippy-driver
> ld.so: clippy-driver: can't load library 'libstd-02e247769dc17415.so'
> zsh: killed /usr/local/bin/clippy-driver
> ~% /usr/local/bin/rustfmt
> ld.so: rustfmt: can't load library 'librustc_driver-02e247769dc17411.so'
> zsh: killed /usr/local/bin/rustfmt
>
>
> I think this means rust-clippy and rust-rustfmt are missing a dependency
> on rust-main.

Thanks for the report. There is already a dependency but it isn't enough
constrained (it is a dependency on lang/rust,-main and not on the exact
version).

The following diff should fix that.


diff /home/semarie/repos/openbsd/ports/mystuff/lang/rust
commit - ab1a6945b5c16b0b34c1f64b0b0b10b7226f33ed
path + /home/semarie/repos/openbsd/ports/mystuff/lang/rust
blob - 0bdeb56edbb274d02a471b63e1a88fb4171f5e1f
file + Makefile
--- Makefile
+++ Makefile
@@ -17,6 +17,10 @@ COMMENT-src = Rust source component

V = 1.81.0
DISTNAME = rustc-${V}-src
+REVISION-gdb = 0
+REVISION-clippy = 0
+REVISION-rustfmt = 0
+REVISION-src = 0

# rustc bootstrap version
BV-aarch64 = 1.80.1
@@ -155,15 +159,15 @@ LIB_DEPENDS-main += ${LIB_DEPENDS} \
net/curl \
security/libssh2

-RUN_DEPENDS-gdb += lang/rust,-main \
+RUN_DEPENDS-gdb += ${FULLPKGNAME-main}:${FULLPKGPATH-main} \
devel/gdb
# BUILD_LLDB is defined by /usr/share/mk/bsd.own.mk
.if ${BUILD_LLDB:L} == yes
RUN_DEPENDS-gdb += devel/llvm/17,-lldb
.endif
-RUN_DEPENDS-clippy += lang/rust,-main
-RUN_DEPENDS-rustfmt += lang/rust,-main
-RUN_DEPENDS-src += lang/rust,-main
+RUN_DEPENDS-clippy += ${FULLPKGNAME-main}:${FULLPKGPATH-main}
+RUN_DEPENDS-rustfmt += ${FULLPKGNAME-main}:${FULLPKGPATH-main}
+RUN_DEPENDS-src += ${FULLPKGNAME-main}:${FULLPKGPATH-main}

PKG_ARCH-src = *


Comments or OK ?
--
Sebastien Marie

No comments:

Post a Comment