|
37 | 37 | broken => [qw( |
38 | 38 | Archive::Zip@1.65 DBD::mysql@4.052 |
39 | 39 | )], |
40 | | - # breaking EV, hence AnyEvent; might it be better to apply https://github.com/Perl/perl5/issues/22353? |
41 | | - temporary => [qw( ExtUtils::ParseXS@3.51 )], |
42 | | - extra => [qw( JSON::XS Starman Imager::File::WEBP Imager::File::AVIF Plack::Middleware::ReverseProxy Devel::CheckLib )], |
43 | | - addons => [qw( |
| 40 | + extra => [qw( JSON::XS Starman Imager::File::WEBP Imager::File::AVIF Plack::Middleware::ReverseProxy Devel::CheckLib )], |
| 41 | + addons => [qw( |
44 | 42 | AnyEvent::FTP::Server Class::Method::Modifiers Capture::Tiny Moo File::chdir |
45 | 43 | Net::LDAP Linux::Pid Data::Section::Simple |
46 | 44 | )], |
47 | 45 | bcompat => [qw( pQuery )], |
48 | 46 | make_mt => [qw( JavaScript::Minifier CSS::Minifier )], |
49 | 47 | temp => [qw( Fluent::Logger )], |
50 | 48 | }, |
51 | | - gem => { |
| 49 | + # cf. https://github.com/Perl/perl5/issues/22353 |
| 50 | + patch => [qw(EV-4.36)], |
| 51 | + gem => { |
52 | 52 | fluentd => [qw(fluentd:1.18.0)], |
53 | 53 | }, |
54 | 54 | }, |
|
78 | 78 | broken => [qw( |
79 | 79 | Archive::Zip@1.65 DBD::mysql@4.052 |
80 | 80 | )], |
81 | | - # breaking EV, hence AnyEvent; might it be better to apply https://github.com/Perl/perl5/issues/22353? |
82 | | - temporary => [qw( ExtUtils::ParseXS@3.51 )], |
83 | | - extra => [qw( JSON::XS Starman Imager::File::WEBP Imager::File::AVIF Plack::Middleware::ReverseProxy Devel::CheckLib )], |
84 | | - addons => [qw( |
| 81 | + extra => [qw( JSON::XS Starman Imager::File::WEBP Imager::File::AVIF Plack::Middleware::ReverseProxy Devel::CheckLib )], |
| 82 | + addons => [qw( |
85 | 83 | AnyEvent::FTP::Server Class::Method::Modifiers Capture::Tiny Moo File::chdir |
86 | 84 | Net::LDAP Linux::Pid Data::Section::Simple |
87 | 85 | )], |
88 | 86 | bcompat => [qw( pQuery )], |
89 | 87 | make_mt => [qw( JavaScript::Minifier CSS::Minifier )], |
90 | 88 | temp => [qw( Fluent::Logger )], |
91 | 89 | }, |
92 | | - gem => { |
| 90 | + # cf. https://github.com/Perl/perl5/issues/22353 |
| 91 | + patch => [qw(EV-4.36)], |
| 92 | + gem => { |
93 | 93 | fluentd => [qw(fluentd:1.18.0)], |
94 | 94 | }, |
95 | 95 | }, |
|
113 | 113 | }, |
114 | 114 | cpan => { |
115 | 115 | # cf. https://rt.cpan.org/Public/Bug/Display.html?id=156899 |
116 | | - no_test => [qw( GD XML::LibXML Web::Query )], |
| 116 | + no_test => [qw( GD XML::LibXML Web::Query )], |
117 | 117 | _replace => { |
118 | 118 | 'Imager::File::AVIF' => '', # test fails |
119 | 119 | }, |
|
178 | 178 | make => { |
179 | 179 | ruby => $ruby_version, |
180 | 180 | }, |
181 | | - phpunit => 9, |
| 181 | + phpunit => 9, |
182 | 182 | use_archive => 1, |
183 | 183 | }, |
184 | 184 | noble => { |
|
192 | 192 | mysql84 => 'https://dev.mysql.com/get/mysql-apt-config_0.8.36-1_all.deb', |
193 | 193 | }, |
194 | 194 | cpan => { |
195 | | - no_test => [qw(GD)], |
| 195 | + no_test => [qw(GD)], |
196 | 196 | _replace => { |
197 | 197 | 'Imager::File::AVIF' => '', |
198 | 198 | }, |
|
215 | 215 | images => [qw( libomp-devel )], |
216 | 216 | }, |
217 | 217 | cpan => { |
218 | | - broken => [qw( EV )], # needs ExtUtils::ParseXS 3.51 |
219 | | - no_test => [qw( App::Prove::Plugin::MySQLPool )], |
220 | | - bump_parse_xs => [qw( ExtUtils::ParseXS )], # Imager needs the latest version of ParseXS |
| 218 | + no_test => [qw( App::Prove::Plugin::MySQLPool )], |
221 | 219 | _replace => { |
222 | | - 'Imager::File::AVIF' => '', # test fails |
| 220 | + 'Imager::File::AVIF' => '', # test fails |
223 | 221 | }, |
224 | 222 | }, |
225 | 223 | patch => ['Test-mysqld-1.0030', 'Crypt-DES-2.07', 'Data-MessagePack-Stream-1.05', 'YAML-Syck-1.36'], |
|
263 | 261 | images => [qw( libomp-devel )], |
264 | 262 | }, |
265 | 263 | cpan => { |
266 | | - broken => [qw( EV )], # needs ExtUtils::ParseXS 3.51 |
267 | | - no_test => [qw( App::Prove::Plugin::MySQLPool )], |
268 | | - bump_parse_xs => [qw( ExtUtils::ParseXS )], # Imager needs the latest version of ParseXS |
| 264 | + no_test => [qw( App::Prove::Plugin::MySQLPool )], |
269 | 265 | _replace => { |
270 | | - 'Imager::File::AVIF' => '', # test fails |
| 266 | + 'Imager::File::AVIF' => '', # test fails |
271 | 267 | }, |
272 | 268 | }, |
273 | 269 | patch => ['Test-mysqld-1.0030', 'Crypt-DES-2.07', 'Data-MessagePack-Stream-1.05', 'YAML-Syck-1.36'], |
|
311 | 307 | images => [qw( libomp-devel )], |
312 | 308 | }, |
313 | 309 | cpan => { |
314 | | - no_test => [qw( App::Prove::Plugin::MySQLPool )], |
| 310 | + no_test => [qw( App::Prove::Plugin::MySQLPool )], |
315 | 311 | _replace => { |
316 | | - 'Imager::File::AVIF' => '', # test fails |
| 312 | + 'Imager::File::AVIF' => '', # test fails |
317 | 313 | }, |
318 | 314 | }, |
319 | | - make_dummy_cert => '/usr/bin', |
320 | | - make => { |
| 315 | + make_dummy_cert => '/usr/bin', |
| 316 | + make => { |
321 | 317 | # package is broken for unknown reason |
322 | 318 | GraphicsMagick => '1.3.43', |
323 | 319 | }, |
|
351 | 347 | images => [qw( libomp-devel )], |
352 | 348 | }, |
353 | 349 | cpan => { |
354 | | - no_test => [qw( App::Prove::Plugin::MySQLPool )], |
| 350 | + no_test => [qw( App::Prove::Plugin::MySQLPool )], |
355 | 351 | _replace => { |
356 | | - 'Imager::File::AVIF' => '', # test fails |
| 352 | + 'Imager::File::AVIF' => '', # test fails |
357 | 353 | }, |
358 | 354 | }, |
359 | 355 | make_dummy_cert => '/usr/bin', |
|
398 | 394 | # seems broken with the current gcc/clang, and the patch for 1.05 does not work |
399 | 395 | # but let's wait and see... |
400 | 396 | temporary => [qw(Data::MessagePack::Stream@1.04)], |
401 | | - _replace => { |
402 | | - 'Imager::File::AVIF' => '', # test fails |
| 397 | + _replace => { |
| 398 | + 'Imager::File::AVIF' => '', # test fails |
403 | 399 | }, |
404 | 400 | }, |
405 | 401 | patch => ['Test-mysqld-1.0030', 'Crypt-DES-2.07'], |
|
409 | 405 | GraphicsMagick => '1.3.43', |
410 | 406 | }, |
411 | 407 | remi => { |
412 | | - rpm => 'https://www.rpmfind.net/linux/remi/fedora/40/remi/x86_64/remi-release-40-1.fc40.remi.noarch.rpm', |
| 408 | + rpm => 'https://ftp.riken.jp/Linux/remi/fedora/40/remi/x86_64/remi-release-40-1.fc40.remi.noarch.rpm', |
413 | 409 | module => { |
414 | 410 | reset => 'php', |
415 | 411 | enable => 'php:remi-8.2', |
|
440 | 436 | # seems broken with the current gcc/clang, and the patch for 1.05 does not work |
441 | 437 | # but let's wait and see... |
442 | 438 | temporary => [qw(Data::MessagePack::Stream@1.04)], |
443 | | - _replace => { |
444 | | - 'Imager::File::AVIF' => '', # test fails |
| 439 | + _replace => { |
| 440 | + 'Imager::File::AVIF' => '', # test fails |
445 | 441 | }, |
446 | 442 | }, |
447 | 443 | patch => ['Test-mysqld-1.0030'], |
|
483 | 479 | base => 'centos', |
484 | 480 | yum => { |
485 | 481 | _replace => { |
486 | | - 'mysql' => 'community-mysql', |
487 | | - 'mysql-server' => 'community-mysql-server', |
488 | | - 'mysql-devel' => 'community-mysql-devel', |
489 | | - 'procps' => 'perl-Unix-Process', |
490 | | - 'phpunit' => '', |
| 482 | + 'mysql' => 'community-mysql', |
| 483 | + 'mysql-server' => 'community-mysql-server', |
| 484 | + 'mysql-devel' => 'community-mysql-devel', |
| 485 | + 'procps' => 'perl-Unix-Process', |
| 486 | + 'phpunit' => '', |
491 | 487 | 'libheif-devel' => '', |
492 | 488 | }, |
493 | 489 | base => [qw( glibc-langpack-en glibc-langpack-ja )], |
|
503 | 499 | base => 'centos', |
504 | 500 | yum => { |
505 | 501 | _replace => { |
506 | | - 'mysql' => 'community-mysql', |
507 | | - 'mysql-server' => 'community-mysql-server', |
508 | | - 'mysql-devel' => 'community-mysql-devel', |
509 | | - 'procps' => 'perl-Unix-Process', |
510 | | - 'phpunit' => '', |
511 | | - 'ruby' => '', |
512 | | - 'ruby-devel' => '', |
| 502 | + 'mysql' => 'community-mysql', |
| 503 | + 'mysql-server' => 'community-mysql-server', |
| 504 | + 'mysql-devel' => 'community-mysql-devel', |
| 505 | + 'procps' => 'perl-Unix-Process', |
| 506 | + 'phpunit' => '', |
| 507 | + 'ruby' => '', |
| 508 | + 'ruby-devel' => '', |
513 | 509 | 'libavif-devel' => '', |
514 | 510 | 'libheif-devel' => '', |
515 | 511 | }, |
|
980 | 976 | 'Imager::File::AVIF' => '', |
981 | 977 | }, |
982 | 978 | }, |
983 | | - patch => ['Test-mysqld-1.0030'], |
984 | | - make => { |
| 979 | + patch => ['Test-mysqld-1.0030'], |
| 980 | + make => { |
985 | 981 | ruby => '3.1.6', |
986 | 982 | }, |
987 | 983 | make_dummy_cert => '/usr/bin', |
|
1097 | 1093 | 'App::Prove::Plugin::MySQLPool' => '', |
1098 | 1094 | 'Test::mysqld' => '', |
1099 | 1095 | 'DBD::mysql@4.052' => '', |
1100 | | - 'Imager::File::AVIF' => '', # test fails |
| 1096 | + 'Imager::File::AVIF' => '', # test fails |
1101 | 1097 | }, |
1102 | 1098 | db => [qw( DBD::Pg Test::PostgreSQL )], |
1103 | 1099 | }, |
@@ -1199,18 +1195,23 @@ sub merge_conf { |
1199 | 1195 | my %conf = %{ $Conf{$name} // {} }; |
1200 | 1196 | my $base = $conf{base} or return \%conf; |
1201 | 1197 | for my $key (keys %{ $Conf{$base} }) { |
1202 | | - my %replace = %{ delete $conf{$key}{_replace} || {} }; |
1203 | | - for my $subkey (keys %{ $Conf{$base}{$key} }) { |
1204 | | - my @values = @{ $conf{$key}{$subkey} || [] }; |
1205 | | - for my $value (@{ $Conf{$base}{$key}{$subkey} }) { |
1206 | | - if (exists $replace{$value}) { |
1207 | | - my $new_value = $replace{$value}; |
1208 | | - push @values, $new_value if $new_value; |
1209 | | - } else { |
1210 | | - push @values, $value; |
| 1198 | + if (ref $Conf{$base}{$key} eq 'HASH') { |
| 1199 | + my %replace = %{ delete $conf{$key}{_replace} || {} }; |
| 1200 | + for my $subkey (keys %{ $Conf{$base}{$key} }) { |
| 1201 | + my @values = @{ $conf{$key}{$subkey} || [] }; |
| 1202 | + for my $value (@{ $Conf{$base}{$key}{$subkey} }) { |
| 1203 | + if (exists $replace{$value}) { |
| 1204 | + my $new_value = $replace{$value}; |
| 1205 | + push @values, $new_value if $new_value; |
| 1206 | + } else { |
| 1207 | + push @values, $value; |
| 1208 | + } |
1211 | 1209 | } |
| 1210 | + $conf{$key}{$subkey} = \@values if @values; |
1212 | 1211 | } |
1213 | | - $conf{$key}{$subkey} = \@values if @values; |
| 1212 | + } |
| 1213 | + if (ref $Conf{$base}{$key} eq 'ARRAY') { |
| 1214 | + push @{ $conf{$key} //= [] }, @{ $Conf{$base}{$key} }; |
1214 | 1215 | } |
1215 | 1216 | } |
1216 | 1217 | $conf{cpanm} = 'cpanm'; |
|
0 commit comments