On Fri, 23 Feb 2018 13:56:58 +0100 Petr Pisar <ppisar@xxxxxxxxxx> wrote: > It's a long time I sent a message here. And because your read my new > message, it means something is wrong. Here it is: > > GCC won't be in the minimal build root > <https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot> > since Fedora 29. That affects Perl packages that executes gcc at > build time > <https://ignatenkobrain.fedorapeople.org/gcc-removal-pkgs.txt>. > > Many of them use ExtUtils::CBuilder > <https://ignatenkobrain.fedorapeople.org/gcc-removal.txt> and thus > Paul proposed adding dependency on gcc to perl-ExtUtils-CBuilder > <https://bugzilla.redhat.com/show_bug.cgi?id=1547165> instead of > adding it to each of the affected spec file as C guidelines recommends > <https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B#BuildRequires_and_Requires>. > > It's true that the only reason for ExtUils::CBuilder existence is to > build C code. Thus it is reasonable to require gcc from this package. > > (ExtUils::CBuilder also supports C++ and I think it makes sense to > require both gcc and gcc-c++.) > > But if perl-ExtUtils-CBuilder will require gcc, then all > Module::Build driven packages (403) will pull in gcc because current > perl-Module-Build requires it. In reality there is only 59 > architecture specific packages that uses Module::Build. > > So it's tempting to remove the ExtUtils::CBuilder dependency from > perl-Module-Build. Can we do it? > > "XS Extensions" section in Module::Build::Authoring reads: > > Modules which need to compile XS code should list > "ExtUtils::CBuilder" as a "build_requires" element. > > Contrary to that Module-Build requires ExtUtils::CBuilder in it's > META data. Thus I don't believe CPAN distribution authors or Fedora > packagers do that. And indeed Fedora has 36 Module::Build packages > that are missing ExtUtils::CBuilder build-dependency: > > perl-Alien-ROOT > perl-Alien-wxWidgets > perl-Authen-DecHpwd > perl-Boost-Geometry-Utils > perl-Config-Augeas > perl-Crypt-MySQL > perl-Crypt-ScryptKDF > perl-Data-Pond > perl-Devel-GoFaster > perl-File-Map > perl-Hash-FieldHash > perl-HTML-Escape > perl-IO-Interface > perl-JavaScript-Minifier-XS > perl-Judy > perl-KinoSearch1 > perl-Lexical-SealRequireHints > perl-Lexical-Var > perl-Lchown > perl-Lingua-Stem-Snowball > perl-Net-IDN-Encode > perl-Net-LibIDN2 > perl-Params-Classify > perl-Params-Validate > perl-Parse-DMIDecode > perl-PerlIO-buffersize > perl-PerlIO-Layers > perl-RPM2 > perl-Scalar-String > perl-SDL > perl-Socket-Netlink > perl-Text-Xslate > perl-Thread-SigMask > perl-Time-timegm > perl-Unicode-CaseFold > remctl > > I think it makes sense to implement this change: > > (1) Add gcc and gcc-c++ dependency to perl-ExtUtils-CBuilder. > (2) Replace ExtUtils::CBuilder hard dependency with a weak dependency > at Recommends level in perl-Module-Build. > (3) Add ExtUtils::CBuilder build-time dependency to those 36 packages. > (4) Add gcc weak dependency at Recommends level to > perl-ExtUtils-MakeMaker. (4) Add gcc build dependency to rest (mostly > ExtUtils::MakeMaker-driven) spec files where it is missing. > > Do you agree? Do you have a different opinion? Do you have a better > plan? That looks very reasonable to me. Paul. _______________________________________________ perl-devel mailing list -- perl-devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to perl-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx