From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 332871381F3 for ; Wed, 1 May 2013 22:23:48 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 921FDE099F; Wed, 1 May 2013 22:23:44 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id E3269E099F for ; Wed, 1 May 2013 22:23:43 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id C12A533E0A1 for ; Wed, 1 May 2013 22:23:42 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 584D5E4763 for ; Wed, 1 May 2013 22:23:40 +0000 (UTC) From: "Kent Fredric" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Kent Fredric" Message-ID: <1367339543.97a9f54ae24685b93b209ad1878c309436de5847.kent@gentoo> Subject: [gentoo-commits] proj/perl-overlay:master commit in: scripts/, scripts/lib/ X-VCS-Repository: proj/perl-overlay X-VCS-Files: scripts/gen_metadata.pl scripts/lib/deptools.pm scripts/virtualmap.pl X-VCS-Directories: scripts/ scripts/lib/ X-VCS-Committer: kent X-VCS-Committer-Name: Kent Fredric X-VCS-Revision: 97a9f54ae24685b93b209ad1878c309436de5847 X-VCS-Branch: master Date: Wed, 1 May 2013 22:23:40 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 8ab14649-4108-4bfb-bd87-d688224d185b X-Archives-Hash: 029bba1ba9b27631288b786d7b6a2206 commit: 97a9f54ae24685b93b209ad1878c309436de5847 Author: Kent Fredric gmail com> AuthorDate: Tue Apr 30 16:32:23 2013 +0000 Commit: Kent Fredric gmail com> CommitDate: Tue Apr 30 16:32:23 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=97a9f54a [scripts] deptools.pm : add ExtUtils-Depends to exception list --- scripts/gen_metadata.pl | 79 ++++++++++++++++++++++++++++++++++++ scripts/lib/deptools.pm | 59 ++++++++++++++------------- scripts/virtualmap.pl | 102 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 211 insertions(+), 29 deletions(-) diff --git a/scripts/gen_metadata.pl b/scripts/gen_metadata.pl new file mode 100644 index 0000000..ba31fd8 --- /dev/null +++ b/scripts/gen_metadata.pl @@ -0,0 +1,79 @@ +use 5.12.2; +use strict; +use warnings; + + +use FindBin; +use lib "$FindBin::Bin/lib"; +use env::gentoo::perl_experimental; +use optparse; +use utf8; +use XML::Smart; + +my $env = env::gentoo::perl_experimental->new(); +my $opts = optparse->new( + argv => \@ARGV, + help => sub { print ; return } +); + +my $root = $env->root; +use Path::Class::Dir; + +my $cwd = Path::Class::Dir->new('.')->absolute; + +my $package_dir = $cwd; + +if( $opts->has_long_opt('package-dir') ) { + $package_dir = Path::Class::Dir->new($opts->long_opt('package-dir'))->absolute; +} +if( not scalar grep { not $_->is_dir and $_->basename =~ /\.ebuild$/ } $package_dir->children ) { + die "Sorry, there are no .ebuild files in this directory, not going to create a metadata.xml file here!"; +} + +if( $opts->has_long_opt('new') ) { + say "Generating a new metdata.xml"; + if ( -e $package_dir->file('metadata.xml')->stat ){ + # die "Error: metadata.xml already exists here"; + } + my $herd = 'perl'; + my $maintainer_name; + my $maintainer_email; + my $cpan_id; + + if( $opts->has_long_opt('herd') ) { + $herd = $opts->long_opt('herd'); + } + if( $opts->has_long_opt('maintainer-name') ){ + $maintainer_name = $opts->long_opt('maintainer-name'); + } + if( $opts->has_long_opt('maintainer-email') ){ + $maintainer_email = $opts->long_opt('maintainer-email'); + } + if( $opts->has_long_opt('cpan-id') ) { + $cpan_id = $opts->long_opt('cpan-id'); + } + my $xml = XML::Smart->new(''); + $xml->{pkgmetadata}->{herd}->[0] = $herd; + # $xml->{pkgmetadata}->{herd}->set_node(1); + if ( defined $maintainer_name ) { + $xml->{pkgmetadata}->{maintainer}->{name} = $maintainer_name; + # $xml->{pkgmetadata}->{maintainer}->{name}->set_node(1); + } + if( defined $maintainer_email ) { + $xml->{pkgmetadata}->{maintainer}->{email} = $maintainer_email; + # $xml->{pkgmetadata}->{maintainer}->{email}->set_node(1); + } + if( defined $cpan_id ) { + $xml->{pkgmetadata}->{upstream}->{'remote-id'}->content($cpan_id); + $xml->{pkgmetadata}->{upstream}->{'remote-id'}->{type} = 'cpan'; + } + + $xml->apply_dtd('http://www.gentoo.org/dtd/metadata.dtd'); + + print scalar $xml->data( nodtd => 1, meta => { 'script' => 'perl-experimental/scripts/gen_metadata.pl' } ); +} + + +__DATA__ + +__END__ diff --git a/scripts/lib/deptools.pm b/scripts/lib/deptools.pm index 2618ae7..8bd5595 100644 --- a/scripts/lib/deptools.pm +++ b/scripts/lib/deptools.pm @@ -40,35 +40,36 @@ sub _vmap_perl_native { # ::gentoo Exceptions sub _vmap_perl_strange { return ( - 'App-SVN-Bisect' => 'dev-util/App-SVN-Bisect', - 'Autodia' => 'dev-utils/autodia', - 'BioPerl' => 'sci-biology/bioperl', - 'BioPerl-DB' => 'sci-biology/bioperl-db', - 'BioPerl-Network' => 'sci-biology/bioperl-network', - 'BioPerl-Run' => 'sci-biology/bioperl-run', - 'CGI-Simple' => perl 'Cgi-Simple', - 'Config-General' => perl 'config-general', - 'Crypt-CBC' => perl 'crypt-cbc', - 'Digest' => virtual 'digest-base', - 'Date-Manip' => perl 'DateManip', - 'GBrowse' => 'sci-biology/GBrowse', - 'Glib' => perl 'glib-perl', - 'I18N-LangTags' => virtual 'i18n-langtags', - 'Image-ExifTool' => 'media-libs/exiftool', - 'Locale-Maketext' => virtual 'locale-maketext', - 'Net-Ping' => virtual 'net-ping', - 'Net-Server' => perl 'net-server', - 'Padre' => 'app-editors/padre', - 'PathTools' => virtual 'File-Spec', - 'Perl-Tidy' => perl 'perltidy', - 'Pod-Parser' => virtual 'PodParser', - 'SVK' => 'dev-vcs/svk', - 'Set-Scalar' => perl 'set-scalar', - 'Snapback2' => 'app-backup/snapback2', - 'Text-Template' => perl 'text-template', - 'XML-XSH2' => 'app-editors/XML-XSH2', - 'YAML' => perl 'yaml', - 'ack' => 'sys-apps/ack', + 'App-SVN-Bisect' => 'dev-util/App-SVN-Bisect', + 'Autodia' => 'dev-utils/autodia', + 'BioPerl' => 'sci-biology/bioperl', + 'BioPerl-DB' => 'sci-biology/bioperl-db', + 'BioPerl-Network' => 'sci-biology/bioperl-network', + 'BioPerl-Run' => 'sci-biology/bioperl-run', + 'CGI-Simple' => perl 'Cgi-Simple', + 'Config-General' => perl 'config-general', + 'Crypt-CBC' => perl 'crypt-cbc', + 'Date-Manip' => perl 'DateManip', + 'Digest' => virtual 'digest-base', + 'ExtUtils-Depends' => perl 'extutils-depends', + 'GBrowse' => 'sci-biology/GBrowse', + 'Glib' => perl 'glib-perl', + 'I18N-LangTags' => virtual 'i18n-langtags', + 'Image-ExifTool' => 'media-libs/exiftool', + 'Locale-Maketext' => virtual 'locale-maketext', + 'Net-Ping' => virtual 'net-ping', + 'Net-Server' => perl 'net-server', + 'Padre' => 'app-editors/padre', + 'PathTools' => virtual 'File-Spec', + 'Perl-Tidy' => perl 'perltidy', + 'Pod-Parser' => virtual 'PodParser', + 'SVK' => 'dev-vcs/svk', + 'Set-Scalar' => perl 'set-scalar', + 'Snapback2' => 'app-backup/snapback2', + 'Text-Template' => perl 'text-template', + 'XML-XSH2' => 'app-editors/XML-XSH2', + 'YAML' => perl 'yaml', + 'ack' => 'sys-apps/ack', ); } diff --git a/scripts/virtualmap.pl b/scripts/virtualmap.pl new file mode 100644 index 0000000..2ace064 --- /dev/null +++ b/scripts/virtualmap.pl @@ -0,0 +1,102 @@ + +{ + + package VirtualRecord; + use 5.16.0; + use Moo; + + has virtual_name => ( is => rw =>, required => 1, ); + has virtual_corepackage => ( is => rw =>, required => 1, ); + has virtual_check_module => ( is => rw =>, required => 1, ); + has repo => ( is => rw =>, required => 1, ); + + +} +{ + package VDB; + use 5.16.0; + use Quote::Sub; + has items => ( is => rw => , default => quote_sub(q{ [] }); + + sub add_item { + my ( $self , @args ) = @_ ; + my $rec = VirtualRecord->new( + virtual_name => $args[0], + virtual_corepackage => $args[1], + virtual_check_moodule => $args[2], + repo => $args[3]; + ); + push @{ $self->items }, $rec; + } + sub add_items { + my ( $self, @args ) = @_; + for my $rec ( @args ){ + $self->add_item( @{$rec} ); + } + } +} + +sub atom_expand { + my $atom = shift; + my $package = $atom =~ s/::/-/gr; + my $virtual = $package =~ s/^/perl-/r; + return ( $virtual, $package, $atom ); +} +my $vdb = VDB->new(); +$vdb->add_items( + ( map { [ atom_expand($_), 'perl-experimental' ] } qw( + Archive::Extract + B::Debug + B::Lint + constant + CPAN + CPANPLUS + CPANPLUS::Dist::Build + Devel::DProf + Devel::PPPort + Devel::SelfStubber + Dumpvalue + Exporter + ExtUtils::MakeMaker + File::Fetch + Filter::Simple + HTTP::Tiny + if + IPC::SysV + Log::Message + Log::Message::Simple + Math::Complex + Module::CoreList + NEXT + Object::Accessor + Pod::LaTeX + Pod::Perldoc + Pod::Plainer + SelfLoader + Term::UI + Unicode::Collate + Unicode::Normalize + )), + [ 'perl-i18n-langtags' , 'i18n-langtags', 'I18N::LangTags' , 'perl-experimental'] +); +$vdb->add_items( + ( map { [ atom_expand($_), 'gentoo' ] } qw( + Archive::Tar + Attribute::Handlers + AutoLoader + CGI + Class::ISA + Compress::Raw::Bzip2 + Compress::Raw::Zlib + CPAN::Meta + CPAN::Meta::Requirements + CPAN::Meta::YAML + Data::Dumper + DB_File + )), + [ 'perl-digest-base' , 'digest-base', 'Digest' , 'gentoo'], + ( map { [ atom_expand($_), 'gentoo' ] } qw( + )), + +); +