Thanks Ryan!

I have filed https://trac.macports.org/ticket/62858 for rust.

> On May 10, 2021, at 4:30 PM, Ryan Schmidt <ryandes...@macports.org> wrote:
> 
> You've summed up the situation nicely.
> 
> 
> On May 9, 2021, at 21:18, Kastus Shchuka wrote:
> 
>> Macports has ports of both openssl and libressl but they are mutually 
>> exclusive as they install overlapping files. Binary precompiled packages are 
>> built with openssl, so folks using libressl have to build  ports depending 
>> on libssl from source. Not convinient, but still manageable.
> 
> Correct, our current situation with openssl and libressl is not optimal, not 
> really what I would like to have. See https://trac.macports.org/ticket/54744. 
> Nobody has volunteered to fix the situation. Anyone is welcome to do so. It 
> would involve coming up with a proposal, discussing it on the macports-dev 
> mailing list and reaching consensus about what should be done, and then doing 
> it.
> 
> 
>> Openssl keeps adding new features which are not immediately available in 
>> libressl. That affects programs using libssl. Quite often ports require 
>> libressl-specific patches just to be able to be built with libressl. Some 
>> ports declare explicit dependency on openssl, and if I have libressl 
>> installed, I am stuck in this situation, as openssl cannot be installed 
>> alongside with libressl.
>> 
>> The most recent example: 
>> 
>> port sync && port outdated showed py38-cryptography and py39-cryptography as 
>> outdated 
>> 
>> py38-cryptography              2.9.2_0 < 3.4.7_1
>> py39-cryptography              2.9.2_0 < 3.4.7_1         
>> 
>> Binary packages are built with openssl, so rev-upgrade attempts to rebuild 
>> them. It worked with version 2.9.2, but 3.4.7 pulls in rust and cargo. 
>> Pre-built rust has to be rev-upgraded because of libssl, and fails to build 
>> as it requires openssl, and I have libressl installed, and it conflicts with 
>> openssl. This is where I hit the wall.
>> 
>> I am not using py-cryptography directly, I need py38/39-cryptography as a 
>> dependency of ansible. It looks like if I want to continue using ansible on 
>> this system and have it managed by macports, I have to give up on libressl 
>> and install openssl. Or install ansible outside of macports. I guess there 
>> are more ports in such situation.
> 
> 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.
> 
> 
>> Is macports as a project going to drop support for libressl? (Several linux 
>> distros, e.g. gentoo and void, did it recently). 
>> It would be nice to have libressl in macports, but if the project does not 
>> have resources to support it, would it be better just to state that 
>> explicitly? It would prevent unnecessary expectations.
> 
> I don't think anyone's expressed any interest in dropping libressl support 
> before. I wasn't aware that any Linux distros had dropped support for it, but 
> I don't know anything else about what Linux distros are doing either. Do you 
> know why they dropped libressl?

Reply via email to