9fans archive / 2008 / 01 / 132 /    prev next

From: "Federico G. Benavento" <benavento@gma...>
Subject: Re: [9fans] Re: ruby port 1.8.1 ready to use
Date: Thu, 10 Jan 2008 07:11:45 -0200

I was bored, so I tried...

the ready to use ruby doesn't have either a mkfile or a Makefile, so
1) I downloaded the latest ruby realease run /n/sources/contrib/fgb/rc/config
and sent the output to rc; I got my config.h and Makefile, then % echo make | ape/psh
but it didn't end there, ruby building process is broken it expects to find files in the current
dir which they aren't.
thinking that this might had been solved in the cvs I 
2) downloaded the latest stable cvs snapshot, same problem, this time I just edited
the Makefile by hand, the thing is that to make the extensions a miniruby creates
the other Makefile's, which end up broken too!
so, I fixed every Makefile by haand and started to compile it

what were the changes?
1) APE doesn't have fchown()
2) lot's of casts (char *) != (unsigned char *)
3) the bignum extension divides by 0, it has something like "One()/Zero()"!

here the fn() that initializes the extensions, just for you to know
which ones are in my ruby

void Init_ext _((void))
{
    init(Init_bigdecimal, "bigdecimal.so");
    init(Init_curses, "curses.so");
    init(Init_digest, "digest.so");
    init(Init_bubblebabble, "digest/bubblebabble.so");
    init(Init_md5, "digest/md5.so");
    init(Init_rmd160, "digest/rmd160.so");
    init(Init_sha1, "digest/sha1.so");
    init(Init_sha2, "digest/sha2.so");
    init(Init_enumerator, "enumerator.so");
    init(Init_etc, "etc.so");
    init(Init_fcntl, "fcntl.so");
    init(Init_wait, "io/wait.so");
    init(Init_nkf, "nkf.so");
    init(Init_openssl, "openssl.so");
    init(Init_pty, "pty.so");
    init(Init_cparse, "racc/cparse.so");
    init(Init_sdbm, "sdbm.so");
    init(Init_stringio, "stringio.so");
    init(Init_strscan, "strscan.so");
    init(Init_syck, "syck.so");
    init(Init_thread, "thread.so");
    init(Init_zlib, "zlib.so");
}

I'll clean it up, create some nice mkfiles and put it in my contrib

oh, btw, I won't send a diff to the author saying "dude, char * isn't the same
as unsigned char *!"

Federico G. Benavento

PS: yes, I know it's confusing

---
/bin/fortune:
The problem is not getting ksh to execute any particular command, the problem is recognizing that there might be a problem.