[MacPorts] #63581: conf2struct does not lock down which perl version it uses (was: sslh cannot build because it depends on conf2struct that depends on p5.26-conf-libconfig (port not available))
MacPorts
noreply at macports.org
Thu Oct 7 08:13:14 UTC 2021
#63581: conf2struct does not lock down which perl version it uses
--------------------------+----------------------
Reporter: pagecp | Owner: amake
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.7.1
Resolution: | Keywords:
Port: conf2struct |
--------------------------+----------------------
Changes (by ryandesign):
* status: new => assigned
* owner: (none) => amake
* port: sslh => conf2struct
Old description:
> sslh cannot build because it depends on conf2struct that depends on p5.26
> -conf-libconfig that is not available on macports 2.7.1 (Mac OS X
> 10.14.6)
>
> % port -v install sslh
> ---> Computing dependencies for sslh..
> Error: Dependency 'p5.26-conf-libconfig' not found.
> Error: Follow https://guide.macports.org/#project.tickets if you believe
> there is a bug.
> Error: Processing of port sslh failed
>
> % port info sslh
> sslh @1.22c (net, security, www)
>
> Description: sslh lets one accept both HTTPS and SSH connections
> on the same port. It makes it possible to connect to an SSH server
> on port 443 (e.g. from inside a corporate firewall)
> while still serving HTTPS on that port.
> Homepage: http://rutschle.net/tech/sslh/README.html
>
> Build Dependencies: conf2struct
> Library Dependencies: libconfig-hr, pcre
> Platforms: darwin
> License: GPL-2+
> Maintainers: Email: amake at macports.org, GitHub: amake
> Policy: openmaintainer
>
> % port info conf2struct
> conf2struct @1.5 (devel)
>
> Description: Create C parsers for libconfig and command-line,
> which get read directly to a `struct`
> Homepage: https://github.com/yrutschle/conf2struct
>
> Library Dependencies: libconfig-hr, p5.26-conf-libconfig
> Platforms: darwin
> License: BSD
> Maintainers: Email: amake at macports.org, GitHub: amake
> Policy: openmaintainer
>
> % port info p5.26-conf-libconfig
> Error: Port p5.26-conf-libconfig not found
New description:
sslh cannot build because it depends on conf2struct that depends on p5.26
-conf-libconfig that is not available on macports 2.7.1 (Mac OS X 10.14.6)
{{{
% port -v install sslh
---> Computing dependencies for sslh..
Error: Dependency 'p5.26-conf-libconfig' not found.
Error: Follow https://guide.macports.org/#project.tickets if you believe
there is a bug.
Error: Processing of port sslh failed
}}}
{{{
% port info sslh
sslh @1.22c (net, security, www)
Description: sslh lets one accept both HTTPS and SSH connections
on the same port. It makes it possible to connect to an SSH server
on port 443 (e.g. from inside a corporate firewall)
while still serving HTTPS on that port.
Homepage: http://rutschle.net/tech/sslh/README.html
Build Dependencies: conf2struct
Library Dependencies: libconfig-hr, pcre
Platforms: darwin
License: GPL-2+
Maintainers: Email: amake at macports.org, GitHub: amake
Policy: openmaintainer
}}}
{{{
% port info conf2struct
conf2struct @1.5 (devel)
Description: Create C parsers for libconfig and command-line,
which get read directly to a `struct`
Homepage: https://github.com/yrutschle/conf2struct
Library Dependencies: libconfig-hr, p5.26-conf-libconfig
Platforms: darwin
License: BSD
Maintainers: Email: amake at macports.org, GitHub: amake
Policy: openmaintainer
}}}
{{{
% port info p5.26-conf-libconfig
Error: Port p5.26-conf-libconfig not found
}}}
--
Comment:
On my system, conf2struct depends on p5.28-conf-libconfig which does
exist.
The conf2struct portfile does not mention a perl version explicitly; it
just uses whatever value of `perl5.major` is exported by the perl5
portgroup. That value is based on the variant of the perl5 port that you
have installed, so you have likely installed the perl5 port with the
+perl5_26 variant. To fix the problem, reinstall the perl5 port with the
+perl5_28 variant. Since that is currently its default variant, you can
accomplish this by just running `sudo port install perl5`. This would
probably be a good idea to do anyway since perl 5.26 is old. (Perl 5.28 is
old too but it is still the default version used in MacPorts. Once
MacPorts moves to a newer default version, the perl5 port should
automatically upgrade to that new variant for you when you upgrade ports,
now that MacPorts distinguishes between variants you requested explicitly
and variants which were merely selected by default.)
In fact the conf2struct port probably ''should'' mention a perl version
(such as 5.28) specifically since the perl version does get baked into the
files that conf2struct installs.
--
Ticket URL: <https://trac.macports.org/ticket/63581#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list