The versions of dependancies in the ebuild generated by g-cpan are different from actual dependancies specified in the META file of the Perl package. Sometimes the ebuild requires a higher version, sometimes it allows a lower version. From the example below, Capture::Tiny 0.24 is required but the Perl package but the ebuild requires 0.28. Data::Compare 1.24 is required by the Perl package, but the ebuild allows 1.22. THIS IS THE SERIOUS ONE. Upstream explicitly required a higher version than the ebuild is created with. In either case, the ebuild version requirements should exactly match the version requirements (or lack thereof) specified by upstream. Reproducible: Always Steps to Reproduce: 1. execute g-cpan -g Kafka 2. Check the dependancies in the ebuild file generated against the META.json file in the Perl package. Actual Results: DEPEND=">=dev-perl/Proc-ProcessTable-0.480.0 >=perl-gcpan/Compress-Snappy-0.24 >=dev-perl/Const-Fast-0.14.0 >=dev-perl/File-HomeDir-1.0.0 >=dev-perl/Try-Tiny-0.190.0 >=dev-perl/Sys-SigAction-0.210.0 >=dev-perl/Test-Deep-0.115.0 dev-perl/string-crc32 >=perl-gcpan/Data-HexDump-Range-0.13.71 >=dev-perl/Capture-Tiny-0.280.0 >=perl-gcpan/Scalar-Util-Numeric-0.40 >=dev-perl/Data-Compare-1.220.0 dev-perl/Test-TCP >=dev-perl/List-MoreUtils-0.413.0 >=dev-perl/Config-IniFiles-2.830.0 >=dev-perl/Test-Exception-0.320.0 >=dev-perl/Test-NoWarnings-1.40.0 >=dev-perl/Sub-Install-0.926.0 >=dev-perl/Clone-0.370.0 >=dev-perl/Exception-Class-1.390.0 >=dev-perl/Proc-Daemon-0.190.0 >=dev-perl/Params-Util-1.60.0 dev-lang/perl” Expected Results: From the META.json of the ebuild: "runtime" : { "requires" : { "Carp" : "1.3301", "Compress::Snappy" : "0.23", "Const::Fast" : "0.014", "Data::Compare" : "1.24", "Data::HexDump::Range" : "0.13", "Exception::Class" : "1.37", "Exporter" : "5.70", "IO::Compress::Gzip" : "2.064", "IO::Uncompress::Gunzip" : "2.064", "List::MoreUtils" : "0.33", "List::Util" : "1.38", "Params::Util" : "1.07", "Scalar::Util" : "1.38", "Scalar::Util::Numeric" : "0.22", "Socket" : "2.013", "String::CRC32" : "1.5", "Sys::SigAction" : "0.21", "Time::HiRes" : "1.9726", "Try::Tiny" : "0.21", "perl" : "5.010" } }, "test" : { "requires" : { "Capture::Tiny" : "0.24", "Carp" : "1.3301", "Clone" : "0.36", "Config::IniFiles" : "2.83", "Const::Fast" : "0.014", "Cwd" : "3.40", "Data::Dumper" : "2.151", "Exporter" : "5.70", "File::HomeDir" : "1.00", "File::Path" : "2.09", "File::Spec" : "3.40", "File::Spec::Functions" : "3.40", "IO::File" : "1.16", "IO::Socket::INET" : "1.33", "List::Util" : "1.38", "Net::EmptyPort" : "0", "Params::Util" : "1.07", "Proc::Daemon" : "0.14", "Proc::ProcessTable" : "0.51", "Scalar::Util" : "1.38", "Scalar::Util::Numeric" : "0.22", "Socket" : "2.013", "Sub::Install" : "0.927", "Sys::SigAction" : "0.21", "Test::Deep" : "0.112", "Test::Exception" : "0.32", "Test::More" : "1.001003", "Test::NoWarnings" : "1.04", "Test::TCP" : "2.11", "Time::HiRes" : "1.9726", "Try::Tiny" : "0.21" } } I have also seen g-cpan add version requirements to the ebuild when none are specified in the Perl package. It appears that g-cpan may be using the current versions in the portage tree to determine the requirements.
See also: https://github.com/gentoo-perl/g-cpan/issues/32