From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Wed, 13 Jul 2011 20:31:58 +0200 From: Lucio De Re To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Message-ID: <20110713183158.GL1985@fangle.proxima.alt.za> References: <3c1b4360505c0dbed53b2ebdd2586270@terzarima.net> <20110712151306.GE1985@fangle.proxima.alt.za> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Subject: Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto) Topicbox-Message-UUID: 01140c90-ead7-11e9-9d60-3106f5b1d025 On Tue, Jul 12, 2011 at 08:35:26PM +0200, Francisco J Ballesteros wrote: > If you could put just a tgz at sources I'm willing to test it, > even for updates, I could just unpack the tgz again and rebuild the thing. > although I don't have much spare time these days and it's likely > I wont be able to help other than by testing (sorry about that). > OK, here's my side of things. I've uploaded to sources the /go hierarchy that, to the best of my knowledge, should make it possible for a mildly savvy Plan 9 user to build 8a, 8l and 8c on a 386 platform. The location is /n/sources/contrib/lucio/go and is meant to install in the root (at /go, to be specific). I have hard coded in many mkfiles the assignment ROOT=/go to keep things simple, so it's easiest to go along with this convention until somebody puts some effort into improving is. The test operation I perform is to change directory to /go/src/cmd/8c and execute "mk". It ought to execute without problems, but my Plan 9 platform may have some tweaks that I have forgotten, so it's important to report to me anything unexpected. If "8c" builds correctly, the executable can be "mk install"ed into /go/386/bin, off the cuff I'm notsure that this directory is created, so it may be necessary to check first. I would need to correct the "devproto" file (in "/go") to make sure all target directories are in fact created. To build your own development environment, I suggest: % 9fs sources % disk/mkext -a -s /n/sources/contrib/lucio/go /n/sources/contrib/lucio/go/devproto | disk/mkext -d /go There are many inconsistencies I am vaguely aware of, feel free to remind me and make suggestion on how to improve them. The mkfiles randomly rely on GOROOT et al or make their own decisions about where the sources are installed: they need to be identified, some thought applied and a final approach decided upon. /sys/src/cmd/mk* files are used arbitrarily (these are the ones I remember, others may bite you as well), the idea is that if we need slight variations we ought to target $ROOT/src/cmd/mk* instead, but these are early days and there are inconsistencies lurking. /go/386/include/u.h is particularly of interest: bits of fluff have been tucked away in there to simplify porting and may appear particularly ugly. I will try to document all the important details, but like all programmers, I have a subconscious need to avoid documenting anything at all costs. I will reply to all reasonable questions. Lucio. PS: I assume there are p9p users here who, like me, believe it would be advantageous to add the Go toolchain to the p9p distribution. I'd like to hear from them. I can't give that particular task a high priority, but I'm keen to encourage others to make some progress on that front.