Ken Williams | 4 Nov 2006 04:56
Favicon

Re: CBuilder's link_executable on Windows


On Oct 31, 2006, at 10:21 AM, Marvin Humphrey wrote:

> Greets,
>
> Is there anything in particular standing in the way of implementing  
> CBuilder's link_executable on Windows?  It would be convenient for  
> me to have, so I'd like to look into adding it.

Personally I'm not aware of anything, but Randy Sims was the one that  
did most of the compiler work on Windows.

  -Ken

Sendu Bala | 10 Nov 2006 14:03
Picon
Favicon

optional_features possible?

I currently have a setup like:

my $build = Module::Build->new(
   #...
   recommends => {'Module' => 0}
)

I can then use ./Build distmeta to generate a META.yml file with content 
like:

requires:
     Module: 0

Is it possible to get Module::Build to generate the optional_features 
syntax instead? So I want:

optional_features:
   - foo:
       description: Provides the ability to blah.
       requires:
         Module: 0

Also, where can I find full documentation for all of the methods 
available? Eg. I couldn't find anything that even told me all the 
possible options you can supply to Module::Build->new(), having looked 
in these places:

http://search.cpan.org/~kwilliams/Module-Build-0.2805/lib/Module/Build.pm
http://search.cpan.org/~kwilliams/Module-Build-0.2805/lib/Module/Build/Authoring.pod
http://search.cpan.org/~kwilliams/Module-Build-0.2805/lib/Module/Build/Cookbook.pm
(Continue reading)

Chris Dolan | 11 Nov 2006 23:56

DOAP - description of a project

At the Chicago hackathon, I learned about DOAP, an XML/RDF standard  
for project description.  Apparently, this standard is used by Apache  
and soon to be used by Google.    It's intended to make projects more  
generically searchable.  This might be a useful thing for M::B to  
output via the distmeta action.  It's slightly redundant with  
META.yml, but covers slightly higher-level concepts, like SVN and  
mailing list URLs.  Opinions?

http://usefulinc.com/doap
http://svn.usefulinc.com/svn/repos/trunk/doap/examples

Chris

Eric Wilhelm | 12 Nov 2006 07:22
Picon

Re: DOAP - description of a project

# from Chris Dolan
# on Saturday 11 November 2006 02:56 pm:

>This might be a useful thing for M::B to  
>output via the distmeta action.  It's slightly redundant with  
>META.yml, but covers slightly higher-level concepts, like SVN and  
>mailing list URLs.  Opinions?

Sounds like a great application for a plugin.

--Eric
--

-- 
We who cut mere stones must always be envisioning cathedrals.
--Quarry worker's creed
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------

Andreas J. Koenig | 12 Nov 2006 17:48
Picon

MB 0.2805/version.pm broken on older bleadperls

When I try to install Module::Build for bleadperl  <at> 24713 (a version
from 2005-06-06) then I can't due to the error below. Anybody know the
reason and has an idea for a fix?

Don't tell me that I shall install a newer version of version.pm: This
fails because it depends on Module::Build :(

  % /home/src/perl/repoperls/installed-perls/perl/pMJJunk/perl-5.8.0 <at> 24713/bin/perl Build.PL
  Checking whether your kit is complete...
  Looks good

  Checking prerequisites...
  Invalid version object at (eval 8) line 282.
  %

If running through the debugger helps...

  1195:     if ($modname eq 'perl') {
  Module::Build::Base::check_installed_status(lib/Module/Build/Base.pm:1198):
  1198:     } elsif (eval { no strict; $status{have} = ${"${modname}::VERSION"} }) {
  Module::Build::Base::check_installed_status(lib/Module/Build/Base.pm:1198):
  1198:     } elsif (eval { no strict; $status{have} = ${"${modname}::VERSION"} }) {
  Module::Build::Base::check_installed_status(lib/Module/Build/Base.pm:1215):
  1215:     my  <at> conditions = $self->_parse_conditions($spec);
  Module::Build::Base::_parse_conditions(lib/Module/Build/Base.pm:1182):
  1182:     my ($self, $spec) =  <at> _;
  Module::Build::Base::_parse_conditions(lib/Module/Build/Base.pm:1184):
  1184:     if ($spec =~ /^\s*([\w.]+)\s*$/) { # A plain number, maybe with dots, letters, and underscores
  Module::Build::Base::_parse_conditions(lib/Module/Build/Base.pm:1185):
  1185:       return (">= $spec");
(Continue reading)

John Peacock | 12 Nov 2006 18:30

Re: MB 0.2805/version.pm broken on older bleadperls

Andreas J. Koenig wrote:
> When I try to install Module::Build for bleadperl  <at> 24713 (a version
> from 2005-06-06) then I can't due to the error below. Anybody know the
> reason and has an idea for a fix?

Why that rev in particular?  Is this related to your query on p5p about 24714
breaking Term::Readline::Gnu by chance?  The problem is that version.pm was
integrated into bleadperl before that point, and with a very early version
(0.42), so I'm not really sure how well the embedded version code in
Module::Build is going to play with the already-existing version code in bleadperl.

> Don't tell me that I shall install a newer version of version.pm: This
> fails because it depends on Module::Build :(

And you couldn't anyways, because the CPAN version.pm is strictly a
compatibility module for non-bleadperl releases (i.e. it is a noop for bleadperl).

I backrev'd my p4 checkout to that rev and I'll try to build bleadperl and then
get Module::Build to play nice if I can.  It's kind of a stretch, though, to try
and maintain compatibility with random bleadperl releases, which by default and
design are not intended to be considered stable releases.

John

--

-- 
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Blvd
Suite H
(Continue reading)

Eric Wilhelm | 12 Nov 2006 19:54
Picon

Re: DOAP - description of a project

# from Adam Kennedy
# on Sunday 12 November 2006 03:01 am:

>Although you'd have to ask, why would you only need this
>fuctionality as an optional extra on some hosts, instead of either a)
> On all of them b) on none

It isn't needed on any install-only host.

--Eric
--

-- 
The more you learn about Linux, the more you hate Windows.
--Gary Varnell
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------

Andreas J. Koenig | 12 Nov 2006 19:59
Picon

Re: MB 0.2805/version.pm broken on older bleadperls

>>>>> On Sun, 12 Nov 2006 12:30:46 -0500, John Peacock <jpeacock <at> rowman.com> said:

  > Andreas J. Koenig wrote:
 >> When I try to install Module::Build for bleadperl  <at> 24713 (a version
 >> from 2005-06-06) then I can't due to the error below. Anybody know the
 >> reason and has an idea for a fix?

  > Why that rev in particular?  Is this related to your query on p5p about 24714
  > breaking Term::Readline::Gnu by chance?

Yes. I discover such problems only when I'm running a binary search to
find a breakage.

  > The problem is that version.pm was integrated into bleadperl
  > before that point, and with a very early version (0.42), so I'm
  > not really sure how well the embedded version code in
  > Module::Build is going to play with the already-existing version
  > code in bleadperl.

 >> Don't tell me that I shall install a newer version of version.pm: This
 >> fails because it depends on Module::Build :(

  > And you couldn't anyways, because the CPAN version.pm is strictly a
  > compatibility module for non-bleadperl releases (i.e. it is a noop for bleadperl).

  > I backrev'd my p4 checkout to that rev and I'll try to build bleadperl and then
  > get Module::Build to play nice if I can.  It's kind of a stretch, though, to try
  > and maintain compatibility with random bleadperl releases, which by default and
  > design are not intended to be considered stable releases.

(Continue reading)

John Peacock | 12 Nov 2006 20:05

Re: MB 0.2805/version.pm broken on older bleadperls

John Peacock wrote:
> I backrev'd my p4 checkout to that rev and I'll try to build bleadperl and then
> get Module::Build to play nice if I can.  It's kind of a stretch, though, to try
> and maintain compatibility with random bleadperl releases, which by default and
> design are not intended to be considered stable releases.

OK, here's the story:  back in 2005-06-06, the version object was much simpler
(it was just a blessed array).  And $^V returned one of those simpler version
objects at that time, which Module::Build's version.pm code has no clue how to
deal with (it expects version objects to be hashes, not arrays).  We can special
case this in the Module::Build code, but I'm really not sure it's worth putting
it in the released code, since bleadperl has moved on from that time in an
incompatible fashion.

For your testing purposes only, apply the following patch:

=== lib/Module/Build/Base.pm
==================================================================
--- lib/Module/Build/Base.pm    (revision 1980)
+++ lib/Module/Build/Base.pm    (local)
 <at>  <at>  -1168,7 +1168,7  <at>  <at> 
   # Check the current perl interpreter
   # It's much more convenient to use $] here than $^V, but 'man
   # perlvar' says I'm not supposed to.  Bloody tyrant.
-  return $^V ? $self->perl_version_to_float(sprintf "%vd", $^V) : $];
+  return $];
 }

which will avoid the test that is freaking out.  This could be applied to the
M::B core (as $] and $^V will produce equivalent version objects), but I
(Continue reading)

Andreas J. Koenig | 12 Nov 2006 22:12
Picon

Re: MB 0.2805/version.pm broken on older bleadperls

>>>>> On Sun, 12 Nov 2006 14:05:25 -0500, John Peacock <jpeacock <at> rowman.com> said:

  > --- lib/Module/Build/Base.pm    (revision 1980)
  > +++ lib/Module/Build/Base.pm    (local)

Thanks! I've uploaded it to CPAN as
ANDK/patches/Module-Build-0.2805-JPEACOCK-01.patch.gz

  >  <at>  <at>  -1168,7 +1168,7  <at>  <at> 
  >    # Check the current perl interpreter
  >    # It's much more convenient to use $] here than $^V, but 'man
  >    # perlvar' says I'm not supposed to.  Bloody tyrant.
  > -  return $^V ? $self->perl_version_to_float(sprintf "%vd", $^V) : $];
  > +  return $];
  >  }

  > which will avoid the test that is freaking out.  This could be applied to the
  > M::B core (as $] and $^V will produce equivalent version objects), but I
  > wouldn't recommend it just to support a now-expired bleadperl...

Is there a price to pay?

--

-- 
andreas


Gmane