Update of /cvsroot/fink/experimental/chrisdolan/lib/Fink/CPANPLUS
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27098/lib/Fink/CPANPLUS

Modified Files:
        Module.pm 
Log Message:
mkpkg.pl v1.32
 * initial support for Build.PL
 * bugfixes


Index: Module.pm
===================================================================
RCS file: /cvsroot/fink/experimental/chrisdolan/lib/Fink/CPANPLUS/Module.pm,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- Module.pm   24 Feb 2005 05:47:41 -0000      1.4
+++ Module.pm   2 Mar 2005 04:00:07 -0000       1.5
@@ -7,7 +7,7 @@
 
 my $min_perl_version = 5.008;
 
-# TODO: add buildfile() method like makefile()
+# TODO: fill out buildfile() method like makefile()
 
 # This is a translation from CPAN "dslip" codes to Module::Build YAML codes
 #   From: http://cpan.uwinnipeg.ca/htdocs/faqs/dslip.html
@@ -103,10 +103,12 @@
    my @docfiles = grep !/^(
                            .*\.(pm|pl|PM|PL|bat|xs|c|h|a|bs|so|dylib|pod) |
                            Makefile |
+                           Build |
                            MANIFEST\.SKIP |
                            INSTALL.* |
                            [Ii]nstall.* |
-                           pm_to_blib
+                           pm_to_blib |
+                           typemap
                            )$/x, $self->root_files();
    return @docfiles;
 }
@@ -132,6 +134,14 @@
    return $self->yml->{license} || $self->dslip->{license};
 }
 
+sub version_from
+{
+   my $self = shift;
+   return
+       $self->buildfile->{version_from} ||
+       $self->makefile->{version_from};
+}
+
 sub description
 {
    my $self = shift;
@@ -222,9 +232,9 @@
             $self->{makefile}->{abstract} = substr($2,1);
          }
          # Check if there are any script outputs
-         if ($makefile =~ /([\'\"]?)EXE_FILES\1\s*(?:=>|,)/s)
+         if ($makefile =~ /([\'\"]?)EXE_FILES\1\s*(?:=>|,)\s*(\[\s*\]|)/s)
          {
-            $self->{makefile}->{bin} = 1;
+            $self->{makefile}->{bin} = ($2 ne "");
          }
          # Check for prereqs
          if ($makefile =~ /([\'\"]?)PREREQ_PM\1\s*(?:=>|,)\s*(\{.*?\})/s)
@@ -262,15 +272,34 @@
    return $self->{makefile};
 }
 
+sub buildfile
+{
+   my $self = shift;
+
+   if (!$self->{buildfile})
+   {
+      $self->{buildfile} = {};
+      my $filename = $self->extract_dir()."/Build.PL";
+      if (-f $filename)
+      {
+         my $buildfile = read_file($filename);
+         # ...
+      }
+   }
+   return $self->{buildfile};
+}
+
 sub mainfile
 {
    my $self = shift;
    if (!defined $self->{mainfile})
    {
       $self->{mainfile} = "";
-      if ($self->makefile->{version_from})
+      my $version_from = ($self->buildfile->{version_from} ||
+                          $self->makefile->{version_from});
+      if ($version_from)
       {
-         my $filename = $self->extract_dir."/".$self->makefile->{version_from};
+         my $filename = $self->extract_dir."/".$version_from;
          if (-f $filename)
          {
             $self->{mainfile} = read_file($filename);



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Fink-commits mailing list
Fink-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-commits

Reply via email to