[csw-devel] SF.net SVN: gar:[18642] csw/mgar/pkg/cpan/makemake
dmichelsen at users.sourceforge.net
dmichelsen at users.sourceforge.net
Thu Jul 5 13:46:45 CEST 2012
Revision: 18642
http://gar.svn.sourceforge.net/gar/?rev=18642&view=rev
Author: dmichelsen
Date: 2012-07-05 11:46:44 +0000 (Thu, 05 Jul 2012)
Log Message:
-----------
cpan/makemake: Honour META.json, minor fixes
Modified Paths:
--------------
csw/mgar/pkg/cpan/makemake
Modified: csw/mgar/pkg/cpan/makemake
===================================================================
--- csw/mgar/pkg/cpan/makemake 2012-07-05 09:53:52 UTC (rev 18641)
+++ csw/mgar/pkg/cpan/makemake 2012-07-05 11:46:44 UTC (rev 18642)
@@ -6,6 +6,12 @@
# It generate My-Module/trunk/Makefile and modified it accordingly. If the Makefile is already there it
# it overwritten and can be inspected with "svn diff".
+# TBD:
+# - some packages require a newer version of Module::Build than the one from Perl, but
+# the one provided from CSWpm-module-build
+# - package name is inferred from the requested module, e.g. System::Log::Syslog whereas the module file
+# is called System-Log. That one should also be used for the main package.
+
use strict;
use warnings;
use feature ':5.10';
@@ -110,11 +116,19 @@
my $license_resource;
my $description;
say STDERR "Processing META.yml";
+my $meta;
if ( -f "$distdir/META.yml" ) {
- my $meta = LoadFile("$distdir/META.yml");
+ $meta = LoadFile("$distdir/META.yml");
+} elsif( -f "$distdir/META.json" ) {
+ open my $fh, "$distdir/META.json";
+ local $/;
+ my $contents = <$fh>;
+ $meta = decode_json( $contents );
+}
+if( $meta ) {
$description = $meta->{abstract} if ( exists $meta->{abstract} );
- $license = $meta->{license};
+ $license = ref( $meta->{license} ) ? join( ' and ', @{$meta->{license}} ) : $meta->{license};
$license_resource = $meta->{resources}->{license};
my $req = $meta->{requires};
@@ -126,7 +140,6 @@
# @recommended_pkgs = dep_pkgs($recommends);
say STDERR "- runtime dependencies";
@runtime_dep_pkgs = dep_pkgs($req);
-
}
$description //= $mod->description; # Changed to defined from false or
@@ -398,6 +411,7 @@
$modpath =~ s,::,/,g;
$modpath .= '.pm';
+ mkdir '/tmp/makemake';
my $pm = new Parallel::ForkManager( 15, "/tmp/makemake" );
$pm -> run_on_finish ( # called BEFORE the first call to start()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the devel
mailing list