tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Multiple/Split Master Sites?

Adam Hoka wrote:
You may have a look at wip/sbcl and wip/sbcl-boot in pkgsrc-wip.
( if you dont know the wip project)

I really don't mean this to sound rude, but I'm unable to think of a more diplomatic way to put this at the moment. Please forgive me, and filter that part out if you can...

Have you actually read what I wrote, and looked at your suggestion? Did you notice that huge block of comments in both the pkgsrc and wip Makefiles that says CLisp probably won't work? Do you know of another Common Lisp system that you can get/build with only tools on the host system and otherwise in pkgsrc somewhere? (And it should work on PPC and SPARC systems as well, since those ports were recently added to SBCL.)

So to restate: SBCL needs a Common Lisp system to build, CLisp doesn't quite cut it. gcc-ada is in the same situation, you need a working Ada compiler to build it, and there aren't that many laying around. Currently these packages depend on the user finding and installing such a system, and altering the package makefile appropriately. Only then can the package be built.

The GCC package itself would be in the same boat if pkgsrc didn't depend on a specific set of tools (like an ANSI C compiler) already being available on the host. Ever try building GCC on an old Solaris system that had the compiler unbundled? Grabbing the gcc sources wasn't quite enough to do anything useful.

I would like to use a previous version of the package being built to build the next version. Something along the lines of "chroot lang/sbcl/work; pkg_add sbcl-X.X.X.tgz, although it is much more likely to just untar the package in the work directory, or maybe in work/buildtools or some such.

This requires a few changes. First, a master site for the binary package that can be fetched based on OS/arch, and second the ability to fetch the source from a different master site. An alternative would be to add some bootstrap fetching, building, and updating targets to the makefile, which is sort of what wip/sbcl-boot was for. But why reinvent the wheel? Those bootstrapping tools are exactly the same as the package we are trying to build.


Home | Main Index | Thread Index | Old Index