Bug 146058 - [PATCH] update devel/p5-Module-Build from 0.3601 to 0.3607
Summary: [PATCH] update devel/p5-Module-Build from 0.3601 to 0.3607
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Cheng-Lung Sung
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-26 10:20 UTC by Eric Freeman
Modified: 2010-05-16 04:00 UTC (History)
0 users

See Also:


Attachments
file.diff (1.47 KB, patch)
2010-04-26 10:20 UTC, Eric Freeman
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Freeman 2010-04-26 10:20:02 UTC
The current release of p5-Module-Build has a small bug in it which was introduced at some point after 0.35.  I noticed it when sending in another Perl port that used this module to build and didn't have any initial problems (with my old version of Module::Build) until I submitted and the port was build against a current tree.  For details of that see ports/145386.  That port is essentially dependent on an update to the Module::Build one.

I've contacted the maintainer twice with no reply (over a period of a couple of weeks) so have submitted this patch to update the existing port to version 0.3607.

Basically during the prerequisites check done in Module::Build, version numbers are matched using
the following function:

sub _simple_prereq {
  return $_[0] =~ /^[0-9_]+\.?[0-9_]*$/; # crudly, a decimal literal
}

That's called from a simple loop that checks the versions:

for my $p ( $req, $breq ) {
    for my $k (keys %$p) {
      die "Prereq '$p->{$k}' for '$k' is not supported by
Module::Build::Compat\n"
        unless _simple_prereq($p->{$k});
    }
  }

Unfortunately my port of File::BOM (and other future ports I imagine) include the perl version as a
prerequisite, so in my case File::BOM fails with the following error:

  Prereq '5.8.3' for 'perl' is not supported by Module::Build::Compat

The latest version of Module::Build has a small fix to stop this problem,
which essentially ignores "simple" version number checks when the perquisite
is 'perl'.  That loop from above becomes:

for my $p ( $req, $breq ) {
    for my $k (keys %$p) {
      next if $k eq 'perl';
      die "Prereq '$p->{$k}' for '$k' is not supported by
Module::Build::Compat\n"
        unless _simple_prereq($p->{$k});
    }
  }

How-To-Repeat: Try installing my uncommitted port here: ports/145386
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2010-04-26 10:20:30 UTC
Responsible Changed
From-To: freebsd-ports-bugs->clsung

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 dfilter service freebsd_committer freebsd_triage 2010-05-16 03:50:43 UTC
wxs         2010-05-16 02:50:34 UTC

  FreeBSD ports repository

  Modified files:
    devel/p5-Module-Build Makefile distinfo 
  Log:
  Update to .3607
  
  PR:             ports/146058
  Submitted by:   Eric Freeman <freebsdports@chillibear.com>
  Approved by:    clsung@ (maintainer timeout)
  
  Revision  Changes    Path
  1.56      +4 -2      ports/devel/p5-Module-Build/Makefile
  1.43      +3 -3      ports/devel/p5-Module-Build/distinfo
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 3 Wesley Shields freebsd_committer freebsd_triage 2010-05-16 03:51:55 UTC
State Changed
From-To: open->closed

Committed. Thanks!