[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