Opened 2 years ago

Closed 2 years ago

#65429 closed defect (fixed)

p5.34-module-build depends on itself

Reported by: ballapete (Peter "Pete" Dyballa) Owned by: jmroot (Joshua Root)
Priority: Normal Milestone:
Component: ports Version: 2.7.2
Keywords: Cc: jmroot (Joshua Root)
Port: p5-module-build

Description

To get rid of older Perl versions I edited Portfile to use recent version Perl 5.34. Invoking port -vds build intltool I get the report that the modules p5.34-xml-parser p5.34-libwww-perl p5.34-http-daemon p5.34-http-tiny p5.34-io-socket-ip p5.34-module-build p5.34-module-build-tiny p5.34-net-http have a cyclic dependency. But then I invoke (without source)

port -vd install p5.34-xml-parser p5.34-libwww-perl p5.34-http-daemon p5.34-http-tiny p5.34-io-socket-ip p5.34-module-build p5.34-module-build-tiny p5.34-net-http

and I get asked

The following dependencies will be installed: 
 p5.34-http-daemon
 p5.34-io-socket-ip
 p5.34-libwww-perl
 p5.34-net-http
Continue? [Y/n]: 

Why is port not asking the same when it is working with the sources? When I answer 'Y' here all Perl modules are installed and afterwards it succeeds to build intltool. It has a check target which is made successfully. So presumingly it will work with Perl 5.34

Change History (3)

comment:1 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: jmroot added; devans@… removed
Keywords: Monterey removed
Port: p5-module-build added; intltool removed
Summary: While trying to build intltool with Perl 5.34 some modules cannot be installedp5.34-module-build depends on itself

The problem is that p5.34-module-build (and all the other p5-module-build subports) depends on itself:

$ port deps p5.34-module-build
Full Name: p5.34-module-build @0.423.100_0
Build Dependencies:   p5.34-cpan-meta-yaml, p5.34-module-build
Library Dependencies: perl5.34, p5.34-cpan-meta, p5.34-inc-latest, p5.34-module-metadata, p5.34-perl-ostype, p5.34-podlators
$

This happened because of a change in the perl5 portgroup. Presumably the p5-module-build port just needs to be changed to adapt to this.

comment:2 in reply to:  description Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to ballapete:

Why is port not asking the same when it is working with the sources?

p5.x-module-build is (after the aforementioned change to the perl5 portgroup) a build dependency. When you ask MacPorts to build things from source, it must install or upgrade build dependencies first. On the other hand, when MacPorts can use pre-built binaries, then it does not need the build dependencies.

comment:3 Changed 2 years ago by jmroot (Joshua Root)

Owner: set to jmroot
Resolution: fixed
Status: newclosed

In b69c9602aad117be643eb216772e2be3d1a51bc5/macports-ports (master):

p5-module-build: fix circular dep

Closes: #65429

Note: See TracTickets for help on using tickets.