Newbie questions

[… Chad mentions RubyGems …]

Will this include a builder like perl’s MakeMaker[1] or its successor
Module::Build[2]?

Currently, no. We are first targetting pure-Ruby libraries and
platform-dependent binary distributions. Eventually I think we will have to
cover building from source. Personally, I would like to see Rake move in
the direction of supporting source builds, but I have only a little
experience in details of building cross platform C programs.

[…] I’ve also been pushing an update[3] of the META Specification[4]
that CPAN is now being populated with.

I’m curious as to whether you’ve considered meta data for ruby
distributions,

Yes. It is stored as YAML in the RubyGem.

and is there a chance Ruby and Perl can use the same
format for meta data (which is simply YAML file with certain defined
fields that describe a distribution). If I can help in any
way let me know.

Where can we see what the Perl definition. It would be interesting to
compare.

···

From: Randy W. Sims [mailto:RandyS@ThePierianSpring.org]


– Jim Weirich / Compuware
– FWP Capture Services

The current spec is at http://module-build.sourceforge.net/META-spec.html

The proposal for next version is at
http://www.thepierianspring.org/META-spec.html

Current usage statistics are http://www.thepierianspring.org/meta.stats

Randy.

···

On 12/17/2003 12:30 AM, Weirich, James wrote:

From: Randy W. Sims [mailto:RandyS@ThePierianSpring.org]

[… Chad mentions RubyGems …]

Will this include a builder like perl’s MakeMaker[1] or its successor
Module::Build[2]?

Currently, no. We are first targetting pure-Ruby libraries and
platform-dependent binary distributions. Eventually I think we will have to
cover building from source. Personally, I would like to see Rake move in
the direction of supporting source builds, but I have only a little
experience in details of building cross platform C programs.

[…] I’ve also been pushing an update[3] of the META Specification[4]
that CPAN is now being populated with.

I’m curious as to whether you’ve considered meta data for ruby
distributions,

Yes. It is stored as YAML in the RubyGem.

and is there a chance Ruby and Perl can use the same
format for meta data (which is simply YAML file with certain defined
fields that describe a distribution). If I can help in any
way let me know.

Where can we see what the Perl definition. It would be interesting to
compare.

I’ve looked briefly at RubyGem (and Rake). Looks great. I didn’t find
any reference to YAML yet; I was hoping to take a peek. Am I looking in
the wrong place? I think it would be great if there was a common
specification for meta data about distributions.

Regards,
Randy.

···

On 12/17/2003 12:30 AM, Weirich, James wrote:

[…] I’ve also been pushing an update[3] of the META Specification[4]
that CPAN is now being populated with.

I’m curious as to whether you’ve considered meta data for ruby
distributions,

Yes. It is stored as YAML in the RubyGem.

On 12/17/2003 12:30 AM, Weirich, James wrote:

>

>>[…] I’ve also been pushing an update[3] of the META Specification[4]

>>that CPAN is now being populated with.

>>

>>I’m curious as to whether you’ve considered meta data for ruby

>>distributions,

>

>

> Yes. It is stored as YAML in the RubyGem.

>

···

On Thu, 18 Dec 2003, Randy W. Sims wrote:

I’ve looked briefly at RubyGem (and Rake). Looks great. I didn’t find

any reference to YAML yet; I was hoping to take a peek. Am I looking in

the wrong place? I think it would be great if there was a common

specification for meta data about distributions.

Hi Randy.

When you say “distributions” are you talking about modules or Ruby
itself? If you want to know more about ruby gems, try:
http://rubygems.rubyforge.org. Let us know if you don’t see what you’re
looking for there. The documentation is very much a work in progress.

Chad

Hi Chad,

I was referring to distributions. Both of the perl build tools MakeMaker
and Module::Build produce a file, ‘META.yml’ that is placed inside of
every module distribution on CPAN. The meta data is there for CPAN,
PAUSE, and other tools easily gather information about module
distributions to aid searching, indexing, etc. From looking at the site
mentioned it looks like you keep that info in a ruby script
http://rubygems.rubyforge.org/wiki/wiki.pl?GemSpecification; not in
YAML. Maybe I misunderstood James or he misunderstood me when I
mentioned meta data?

Thanks,
Randy.

···

On 12/17/2003 8:23 PM, Chad Fowler wrote:

On Thu, 18 Dec 2003, Randy W. Sims wrote:

On 12/17/2003 12:30 AM, Weirich, James wrote:

>

>>[…] I’ve also been pushing an update[3] of the META Specification[4]

>>that CPAN is now being populated with.

>>

>>I’m curious as to whether you’ve considered meta data for ruby

>>distributions,

>

>

> Yes. It is stored as YAML in the RubyGem.

>

I’ve looked briefly at RubyGem (and Rake). Looks great. I didn’t find

any reference to YAML yet; I was hoping to take a peek. Am I looking in

the wrong place? I think it would be great if there was a common

specification for meta data about distributions.

Hi Randy.

When you say “distributions” are you talking about modules or Ruby
itself? If you want to know more about ruby gems, try:
http://rubygems.rubyforge.org. Let us know if you don’t see what you’re
looking for there. The documentation is very much a work in progress.

Chad

On 12/17/2003 8:23 PM, Chad Fowler wrote:

> On Thu, 18 Dec 2003, Randy W. Sims wrote:

>

> # On 12/17/2003 12:30 AM, Weirich, James wrote:

> # >

> # >>[…] I’ve also been pushing an update[3] of the META Specification[4]

> # >>that CPAN is now being populated with.

> # >>

> # >>I’m curious as to whether you’ve considered meta data for ruby

> # >>distributions,

> # >

> # >

> # > Yes. It is stored as YAML in the RubyGem.

> # >

>

> # I’ve looked briefly at RubyGem (and Rake). Looks great. I didn’t find

> # any reference to YAML yet; I was hoping to take a peek. Am I looking in

> # the wrong place? I think it would be great if there was a common

> # specification for meta data about distributions.

>

>

> Hi Randy.

>

> When you say “distributions” are you talking about modules or Ruby

> itself? If you want to know more about ruby gems, try:

> http://rubygems.rubyforge.org. Let us know if you don’t see what you’re

> looking for there. The documentation is very much a work in progress.

>

> Chad

···

On Thu, 18 Dec 2003, Randy W. Sims wrote:

Hi Chad,

I was referring to distributions.

hehe. “When I said ‘distributions’, I meant ‘distributions’.” :slight_smile:

Both of the perl build tools MakeMaker

and Module::Build produce a file, ‘META.yml’ that is placed inside of

every module distribution on CPAN. The meta data is there for CPAN,

PAUSE, and other tools easily gather information about module

distributions to aid searching, indexing, etc. From looking at the site

mentioned it looks like you keep that info in a ruby script

http://rubygems.rubyforge.org/wiki/wiki.pl?GemSpecification;

The Ruby script is really a pre-YAML form. You specify the gem spec in
Ruby, but it generates YAML when you actually create the gem. We didn’t
want to have to hand-code YAML, since it’s much easier to generate YAML
from Ruby objects. So, the Ruby you see is a generator for the real
metadata format.

Chad

hehe. “When I said ‘distributions’, I meant ‘distributions’.” :slight_smile:

Oops, sorry. When I said distribution, I meant modules.

Both of the perl build tools MakeMaker

and Module::Build produce a file, ‘META.yml’ that is placed inside of

every module distribution on CPAN. The meta data is there for CPAN,

PAUSE, and other tools easily gather information about module

distributions to aid searching, indexing, etc. From looking at the site

mentioned it looks like you keep that info in a ruby script

http://rubygems.rubyforge.org/wiki/wiki.pl?GemSpecification;

The Ruby script is really a pre-YAML form. You specify the gem spec in
Ruby, but it generates YAML when you actually create the gem. We didn’t
want to have to hand-code YAML, since it’s much easier to generate YAML
from Ruby objects. So, the Ruby you see is a generator for the real
metadata format.

Chad

Yeah, that’s how it works in MakeMaker and Module::Build. So I guess the
YAML would look something like:

name: Foo::Bar
version: 0.01
platform: MSWin32
date: 20031217T2200-0400
summary: This module goes foo.
require_paths:

  • path/foo
  • path/bar
    autorequire: somefile.rb
    author: John Doe
    email: jd@somewhere.com
    homepage: http://www.foo-bar.org
    description: |
    This is a long
    long description
    of what this module
    does.

This compares to the proposed META.yml specification where working on
for perl like:
name → name
version → version
platform → requires_os|excludes_os
date →
summary → abstract
require_paths → ?
autorequire → ?
author → authored_by
email → authored_by
homepage →
description →

And the META.yml would look like:
name: Foo::Bar
version: 0.01
requires_os: MSWin32
abstract: This module goes foo.
authored_by:

(See http://www.thepierianspring.org/META-spec.html#synopsis for a
more representative example.)

Would a common spec be beneficial?

Randy.

···

On 12/17/2003 9:49 PM, Chad Fowler wrote:

On Thu, 18 Dec 2003, Randy W. Sims wrote: