Package, a future replacement for setup.rb and mkmf.rb

"Bill Kelly" <billk@cts.com> writes:

From: "Christian Neukirchen" <chneukirchen@gmail.com>

I don't think making the installer work on windows "perfectly" would
be a hard job. For building extensions, things look a bit
different... I'd certainly need a win32 expert for that.

How well does extconf.rb work on win32?

Pretty well, actually.

Occasionally some minor glitches, like I was trying to build
rbtree-0.1.3 on win32 the other day, and it was mysteriously
failing during extconf... Turned out one line in rbtree's
extconf.rb was the problem:

$CFLAGS << ' -std=c89 -pedantic -Wall -Wno-long-long'

...Unconditionally adding gnu-specific flags to $CFLAGS
regardless of platform. After commenting out that line,
rbtree built just fine on windows.

That is good to know, I guess you used MSVC then?

···

Regards,

Bill

--
Christian Neukirchen <chneukirchen@gmail.com> http://chneukirchen.org

It's time to hold the second meeting of the Omaha Ruby User's Group. This meeting is just a simple get together like the last one. The only planned topic is to be bring your favorite pieces of Ruby code or your curiousity. Hope to see a lot of people there! Make sure you sign up on the mailing list. Visit us at:
http://www.blainebuxton.com/orug

Here's the information of the when and where:

When:
June 6, 2005

Where:
Panera @ Eagle Run Shopping Center
13410 West Maple Road
Omaha, NE 68164

···

------------------------------------------------
Blaine Buxton, Mad Scientist In Training
Emperor of Planet Alto Dorado
http://www.blainebuxton.com

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/

gabriele renzi <surrender_it@remove-yahoo.it> writes:

Christian Neukirchen ha scritto:

Austin Ziegler <halostatue@gmail.com> writes:

But now, I'll ask you: Are you satisfied with the way installing Ruby
extensions and libraries works? Do you think there is a place for
Package? Do you have further improvements or can provide alternative
ideas?

I think that there is room for improvement, definitely. However, if
you're going to do extension support with this, it absolutely *must*
work perfectly well on Windows. It has to work better than setup.rb,
and setup.rb works mostly well for that. Gems, much less so.

I don't think making the installer work on windows "perfectly" would
be a hard job. For building extensions, things look a bit
different... I'd certainly need a win32 expert for that.
How well does extconf.rb work on win32?

definitely fine.
But it would be great to have a builtin way to trick it so that
extensions can be built with a different compiler than the one used
for ruby (tipically mingw extensions for mswin ruby)

I think that's an issue pure Ruby code can't change... can it?

···

On 6/4/05, Christian Neukirchen <chneukirchen@gmail.com> wrote:

--
Christian Neukirchen <chneukirchen@gmail.com> http://chneukirchen.org

ES <ruby-ml@magical-cat.org> writes:

ES <ruby-ml@magical-cat.org> writes:

Re: naming. Since 'Package', as mentioned, may be ever so slightly
misleading, perhaps call it 'Kit' or something? If you want to get
fancier, my pick for my own package manager (whenever I got around
to it) was 'Oblong' (extra points for the reference).

While I agree that Package is not a perfect name, Kit isn't better IMO.
It should be a word where everyone can imagine what it is... but there
is no concept of a "kit" in Ruby.

Still looking for alternatives...

···

Le 5/6/2005, "Christian Neukirchen" <chneukirchen@gmail.com> a écrit:

Le 4/6/2005, "Christian Neukirchen" <chneukirchen@gmail.com> a écrit:

E

--
Christian Neukirchen <chneukirchen@gmail.com> http://chneukirchen.org

ES <ruby-ml@magical-cat.org> writes:

ES <ruby-ml@magical-cat.org> writes:

Re: naming. Since 'Package', as mentioned, may be ever so slightly
misleading, perhaps call it 'Kit' or something? If you want to get
fancier, my pick for my own package manager (whenever I got around
to it) was 'Oblong' (extra points for the reference).

While I agree that Package is not a perfect name, Kit isn't better IMO.
It should be a word where everyone can imagine what it is... but there
is no concept of a "kit" in Ruby.

Still looking for alternatives...

Seeing as Aoki-san combined his efforts to setup.rb,
'Install' or 'Installer' would be available.

I personally do not think 'Package' is a bad name (because that is
what it is), but it may cause confusion since the existing package
_managers_ are ambiguously named. Perhaps you should just brave
those waters and go with it.

A less-bureaucratic and more-dastardly pet name could of course
come in handy. That, or a cute logo (which is known to drastically
improve the quality of software).

E

--
Christian Neukirchen

E

···

Le 5/6/2005, "Christian Neukirchen" <chneukirchen@gmail.com> a écrit:

Le 5/6/2005, "Christian Neukirchen" <chneukirchen@gmail.com> a écrit:

Le 4/6/2005, "Christian Neukirchen" <chneukirchen@gmail.com> a écrit:

--
template<typename duck>
void quack(duck& d) { d.quack(); }

Christian Neukirchen ha scritto:

How well does extconf.rb work on win32?

definitely fine.
But it would be great to have a builtin way to trick it so that
extensions can be built with a different compiler than the one used
for ruby (tipically mingw extensions for mswin ruby)

I think that's an issue pure Ruby code can't change... can it?

I don't know.
I am guessing there is some place where extconf.rb/mkmf.rb check values from rbconfig and generate the makefile stuff based on it,
the fake-mingw32 module seem to basically change this values.

I am thinking of some thing like
if ruby_built_with_mingw
  output gcc code
elsif ruby_built_with_msvc
  output cl code
end

and thinking of adding one additional check like
if suggested_from_cli_compiler then output code for suggested compiler

fake-ming32 is a C module, so it may confirm your impression.

OTOH, it may be a C module just because extconf/mkmf are already in place, and faking must happen at a lower level.

Sorry for my inability to give real useful informations :confused:

Please, do not reply to a random mail to skip the step of having to type
the address. It distorts threads by inserting non-related mail for mail
clients that do support them.

Thanks,

Paul

···

On Mon, Jun 06, 2005 at 04:47:24AM +0900, Blaine Buxton wrote:

It's time to hold the second meeting of the Omaha Ruby User's Group. This
meeting is just a simple get together like the last one. The only planned
topic is to be bring your favorite pieces of Ruby code or your curiousity.
Hope to see a lot of people there! Make sure you sign up on the mailing
list. Visit us at:
http://www.blainebuxton.com/orug

--
Student @ Eindhoven | email: paul@luon.net
University of Technology, The Netherlands | JID: paul@luon.net

Using the Power of Debian GNU/Linux <<< | GnuPG key ID: 0x50064181

gabriele renzi <surrender_it@remove-yahoo.it> writes:

Christian Neukirchen ha scritto:

How well does extconf.rb work on win32?

definitely fine.
But it would be great to have a builtin way to trick it so that
extensions can be built with a different compiler than the one used
for ruby (tipically mingw extensions for mswin ruby)

I think that's an issue pure Ruby code can't change... can it?

I don't know.
I am guessing there is some place where extconf.rb/mkmf.rb check
values from rbconfig and generate the makefile stuff based on it,
the fake-mingw32 module seem to basically change this values.

I am thinking of some thing like
if ruby_built_with_mingw
  output gcc code
elsif ruby_built_with_msvc
  output cl code
end

But would it be possible to run extensions built with mingw32 on a
MSVC ruby?

···

and thinking of adding one additional check like
if suggested_from_cli_compiler then output code for suggested compiler

fake-ming32 is a C module, so it may confirm your impression.

OTOH, it may be a C module just because extconf/mkmf are already in
place, and faking must happen at a lower level.

Sorry for my inability to give real useful informations :confused:

--
Christian Neukirchen <chneukirchen@gmail.com> http://chneukirchen.org

Christian Neukirchen ha scritto:

But would it be possible to run extensions built with mingw32 on a
MSVC ruby?

I think nobu said in a recent thread that if ruby is built with msvc7 it does not work with mingw extensions (*yet*).
Anyway in the past they almost always worked flawlessly.