Subject: self bootstrapping packages?
To: None <tech-pkg@netbsd.org>
From: Jon Buller <jon@Bullers.Net>
List: tech-pkg
Date: 11/11/2007 17:37:57
A rather long time ago someone ported SBCL to NetBSD.  I wanted to play 
with a Common Lisp compiler, so I made a package out of it.

The only trouble was that SBCL needs a Common Lisp system to build 
itself.  I built it by taking the SBCL binary and dropping it in 
/usr/local to bootstrap the package.  CLisp also works at times, but is 
not trustworthy.  The SBCL people are not totally sure if it's their 
code or the CLisp code causing the problems, and the only known test 
case takes tens of minutes to build/run, being the SBCL system itself.

To eliminate this difficulty (and close PR#36885 properly and more 
permanently) without figuring out how to fix the SBCL/CLisp interaction, 
I was wondering if it would be possible to add a make variable saying 
delete this package after it builds but before it installs.  Could I 
simply have a pre-install target that does a pkg_delete of the current 
package?

That sounds really evil, but it's about as simple a way as I can think 
to do it.  With something like that, I could use the previous SBCL 
package to build the new one, delete the previous version, and finally 
install and package the new one.  It appears that lang/gcc-ada might 
benefit from something like this as well.

However, I don't have the set up to do bulk builds, and I'm be a little 
nervous about committing this kind of change and breaking things in some 
odd way.  Any hints, pointers, thoughts, or advice would be appreciated...

Jon