Opened 3 years ago
Last modified 3 years ago
#64928 assigned defect
upt @0.12: The package List::Util could not be found by frontend cpan
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | Korusuke (Karan Sheth) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.2 |
Keywords: | Cc: | reneeotten (Renee Otten) | |
Port: | upt |
Description
I am trying to create a port for App::ccdiff. Some of its dependencies like Test::More and List::Util are not yet in MacPorts but I'm not able to get upt to create Portfiles for them. Am I doing something wrong? It's also confusing that I get a different error each time I run it.
$ upt package -f cpan -b macports --debug App::ccdiff -r -o out/ [INFO ] [Backend] Creating MacPorts package for App::ccdiff [INFO ] [Backend] Dist file found at usual location [INFO ] [Backend] Found license Apache-2.0 [INFO ] [Backend] Creating the directory structure in out/ [INFO ] [Backend] Created out/perl/p5-app-ccdiff [INFO ] [Backend] Creating the Portfile [INFO ] [Backend] Checking MacPorts tree for port p5-getopt-long [INFO ] [Backend] Current MacPorts Version for p5-getopt-long is 2.520.0 [INFO ] [Backend] Dependency Getopt::Long (): currently packaged, no specific version is required. Not packaging it. [INFO ] [Backend] Checking MacPorts tree for port p5-term-ansicolor [INFO ] [Backend] Current MacPorts Version for p5-term-ansicolor is 5.10.0 [INFO ] [Backend] Dependency Term::ANSIColor (): currently packaged, no specific version is required. Not packaging it. [INFO ] [Backend] Checking MacPorts tree for port p5-algorithm-diff [INFO ] [Backend] Current MacPorts Version for p5-algorithm-diff is 1.201.0 [INFO ] [Backend] Dependency Algorithm::Diff (>=1.190.100): at least one compatible version found in ['1.201.0']. Not packaging it. [INFO ] [Backend] Checking MacPorts tree for port p5-list-util [INFO ] [Backend] p5-list-util not found in MacPorts tree [INFO ] [Backend] Dependency List::Util (): currently not packaged. Packaging it. The package List::Util could not be found by frontend cpan
$ upt package -f cpan -b macports --debug App::ccdiff -r -o out/ [INFO ] [Backend] Creating MacPorts package for App::ccdiff [INFO ] [Backend] Dist file found at usual location [INFO ] [Backend] Found license Apache-2.0 [INFO ] [Backend] Creating the directory structure in out/ [INFO ] [Backend] Created out/perl/p5-app-ccdiff [INFO ] [Backend] Creating the Portfile [INFO ] [Backend] Checking MacPorts tree for port p5-capture-tiny [INFO ] [Backend] Current MacPorts Version for p5-capture-tiny is 0.480.0 [INFO ] [Backend] Dependency Capture::Tiny (): currently packaged, no specific version is required. Not packaging it. [INFO ] [Backend] Checking MacPorts tree for port p5-test-more [INFO ] [Backend] p5-test-more not found in MacPorts tree [INFO ] [Backend] Dependency Test::More (): currently not packaged. Packaging it. The package Test::More could not be found by frontend cpan
$ upt package -f cpan -b macports --debug App::ccdiff -r -o out/ [INFO ] [Backend] Creating MacPorts package for App::ccdiff [INFO ] [Backend] Dist file found at usual location [INFO ] [Backend] Found license Apache-2.0 [INFO ] [Backend] Creating the directory structure in out/ [INFO ] [Backend] Created out/perl/p5-app-ccdiff [INFO ] [Backend] Creating the Portfile [INFO ] [Backend] Checking MacPorts tree for port p5-config [INFO ] [Backend] p5-config not found in MacPorts tree [INFO ] [Backend] Dependency Config (): currently not packaged. Packaging it. The package Config could not be found by frontend cpan
$ upt package -f cpan -b macports --debug App::ccdiff -r -o out/ [INFO ] [Backend] Creating MacPorts package for App::ccdiff [INFO ] [Backend] Dist file found at usual location [INFO ] [Backend] Found license Apache-2.0 [INFO ] [Backend] Creating the directory structure in out/ [INFO ] [Backend] Created out/perl/p5-app-ccdiff [INFO ] [Backend] Creating the Portfile [INFO ] [Backend] Checking MacPorts tree for port p5-extutils-makemaker [INFO ] [Backend] Current MacPorts Version for p5-extutils-makemaker is 7.640.0 [INFO ] [Backend] Dependency ExtUtils::MakeMaker (): currently packaged, no specific version is required. Not packaging it. [INFO ] [Backend] Checking MacPorts tree for port p5-charnames [INFO ] [Backend] p5-charnames not found in MacPorts tree [INFO ] [Backend] Dependency charnames (): currently not packaged. Packaging it. The package charnames could not be found by frontend cpan
Change History (4)
comment:1 follow-up: 2 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
comment:2 follow-up: 4 Changed 3 years ago by reneeotten (Renee Otten)
Replying to ryandesign:
I think I've understood that "Config" and "charnames" are things bundled with perl already so I don't need to worry about making ports for those. So it's just List::Util and Test::More. But I don't understand why upt says it can't find them when they're right there on metacpan. Is upt looking at a different web site?
upt
is looking at https://fastapi.metacpan.org/v1/release/<name>
, where name
is the package name that has the ::
replaced by -
. I'm by no means a Perl expert, but it seems to me the issue here is that List::Utils
is not the actual package name, but a module provided by Scalar-List-Utils
; so that's likely what you'll need to package. Similarly, Test::More
is a module provided by Test-Simple
.
[edit: both these ports are already present in MacPorts: `p5-scalar-list-utils` and `p5-test-simple`]
Regarding the varying error message - I cannot really remember anymore from a few summers ago, but the recursive option might not be deterministic (i.e., it appears to check the dependencies in a semi-random order). One could look into that to find out if that's indeed true and fix it.
comment:3 Changed 3 years ago by reneeotten (Renee Otten)
Cc: | reneeotten added |
---|
comment:4 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to reneeotten:
it seems to me the issue here is that
List::Utils
is not the actual package name, but a module provided byScalar-List-Utils
; so that's likely what you'll need to package. Similarly,Test::More
is a module provided byTest-Simple
.[edit: both these ports are already present in MacPorts: `p5-scalar-list-utils` and `p5-test-simple`]
Thanks! That must be it.
So, should upt be able to recognize and handle this situation?
Or is App::ccdiff at fault for specifying a "nonexistent" dependency?
I think I've understood that "Config" and "charnames" are things bundled with perl already so I don't need to worry about making ports for those. So it's just List::Util and Test::More. But I don't understand why upt says it can't find them when they're right there on metacpan. Is upt looking at a different web site?