Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#62858 closed defect (fixed)

rust declares both a library dependency on path:lib/libssl.dylib:openssl and a build dependency on port:openssl which blocks use of libressl

Reported by: bK4gYuRo Owned by: herbygillot (Herby Gillot)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: herbygillot (Herby Gillot), bK4gYuRo
Port: rust

Description

Per email from Ryan Schmidt https://marc.info/?l=macports-users&m=162068938923093&w=2:

Often, when someone adds a port to MacPorts that requires openssl or an openssl-compatible library like libressl, they write the dependency as "port:openssl". This prevents libressl from being used. Currently there are a small number of ports in this situation:

$ port echo depends:'port:openssl($|\s)'
calendar-contacts-server
libaes_siv
netdata
netdata-dashboard
ntpsec
ophcrack
rizin
squid4
sslscan
rust
msodbcsql17

Often, this occurs simply because the contributor was not aware of the issue, and switching the dependency to "path:lib/libssl.dylib:openssl" is all that's needed to allow libressl to be used if desired. Rarely, there are specific reasons why libressl is not compatible with a project; in that case, the Portfile should contain a comment line near the "port:openssl" dependency that explains why.

In the case of rust, it declares both a library dependency on path:lib/libssl.dylib:openssl and a build dependency on port:openssl, which seems like nonsense to me:

$ port -v deps rust
Full Name: rust @1.52.1_0
Build Dependencies:   bin:git:git, path:bin/cmake:cmake, port:cctools, port:python39, port:openssl, port:pkgconfig, port:ninja, port:gmake, port:ccache
Library Dependencies: port:libffi, path:lib/libssl.dylib:openssl

It seems like removing the port:openssl build dependency would be the correct thing to do, but I haven't tried to figure out why it's the way it is.

I recommend filing bug reports for any of these ports that do not already indicate in their comments a specific reason for incompatibility with libressl.

Change History (3)

comment:1 Changed 3 years ago by bK4gYuRo

Cc: bK4gYuRo added

comment:2 Changed 3 years ago by herbygillot (Herby Gillot)

Owner: set to herbygillot
Resolution: fixed
Status: newclosed

In d48bc5a9d1b2bba02bd93ffd0130743f3d9cac92/macports-ports (master):

rust: standardize SSL dependency, allow for use of LibreSSL

Fixes: #62858

comment:3 Changed 3 years ago by herbygillot (Herby Gillot)

This was more oversight than intentional. Fix applied.

Note: See TracTickets for help on using tickets.