|
From: | Brandon J. Van Every |
Subject: | Re: [Chicken-users] Creating custom distribution |
Date: | Sun, 18 Jun 2006 02:02:53 -0700 |
User-agent: | Thunderbird 1.5.0.4 (Windows/20060516) |
Jim Miller wrote:
I'm currently using chicken in a development environment that has no connection to the internet, never will, and the deployment environments don't have access either, never will. I'd like to create a custom chicken distribution that basically includes a whole nursery and that runs chicken setup on the eggs in the nursery. I know that I can construct a Makefile, or better yet a scheme program, that will do this for me but it feels cleaner to have it done as part of the top level install.
Your problem is a bit beyond my experience. Oddly enough, aside from editing a few Chicken internals to get the CMake build working, I really haven't done any Scheme coding, nor have I done anything with eggs yet. But if you care about cross-platform stuff at all, you may want to learn CMake and work on extending Chicken's capabilities that way. I've already got it building on all platforms, and installing on all platforms, if a "make install" or running a Visual Studio project is an acceptable method of installation.
Additionally, there's cross-platform installation tool called "cpack" that comes with CMake. It's still early days for it, there's really no documentation, but if you're willing to talk to people on the CMake list they can help you with it. Don't be shy about talking to them; they are the best open source group around as far as helping people, and William Hoffman was responsible for the 1st cut of the CMake build last fall. I'm saying they're darned generous people and can really turn things around, docs or no docs. Anyways, cpack spews out packaging instructions for native installers on different platforms or some such. The CMake idea as applied to installers, basically.
So my point is, CMake can in principle be an end-to-end solution for your problem. But you'd need to go up the learning curve, and I don't have all those capabilities implemented already. The beauty of open source is possibly I can rope other people into contributing to such things, as they personally have need of them.
I wish I could say that the CMake build is thoroughly tested, but it isn't. I just checked in some "fixes" for various double quoting problems, and I really don't know if they're fixes, or if they just make the C compiler stop complaining. The build is really darn close though. This quoting problem is the last thing in the way of doing everything the standard ./configure build does.
I don't have full Nursery support implemented yet. I do have nsample getting built regularly, I just don't use it. Also I have a two-stage bootstrap compile, so the right structure is in place to run nsample and make the substitutions. It's easy for me to add the nsample capability at this point, but I don't have the few hours it would take me to do it right now. Gotta crank out signatures really really hard until July 4th or so.
If this is in the ballpark of solutions you're interested in, I would suggest reading INSTALL-CMake.txt. See if those instructions are good enough to get you building Chicken. Now there's a Chicken-and-egg problem here that this doc is in the Darcs repository, but actually explains how you get the Darcs repository :-), so I've attached it to this e-mail.
I would comment that CMake is Chicken's future, someday, when all capabilities are in place, everything is thoroughly tested, and behaving so wonderfully that we couldn't possibly desire ./configure anymore. Felix works on the CMake build a little, adding flags here and there. I do the heavy lifting. Unless I hit the road to gather more signatures, 100% capability is going to be in place by early August, if not sooner. After that, it's matter of getting people to use it, test it, and adopt it. I'll worry about what steps need to be taken for that when I can honestly say, "Yeah, it works great, we're running test suites all the time and it does fine." Chicken doesn't currently have a test suite BTW. Getting a simple one in place to start with is part of my agenda, so that I can get people confident in the CMake build.
Cheers, Brandon Van Every
[Prev in Thread] | Current Thread | [Next in Thread] |