9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: ron minnich <rminnich@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] Building Go on Plan 9
Date: Fri,  2 Dec 2011 09:21:06 -0800	[thread overview]
Message-ID: <CAP6exYKLJLJo_s17jtj8629FRZr1sU8TChzp+hMjFe29F7ToXw@mail.gmail.com> (raw)
In-Reply-To: <CA+N-5bbncjaqb9S-WnOz64iyhEyoyMfVmYMyVbnHeLOa0QMXfw@mail.gmail.com>

On Fri, Dec 2, 2011 at 12:49 AM, Francisco J Ballesteros <nemo@lsub.org> wrote:
> Well, that's actually the approach Ron would choose for nix.
> IIRC, there were a bunch of mkfiles added to the std. go tree
> to make it compile, but I may be mistaken.
> Ron knows better.

My first hope was pretty much what others have said here: parallel
mkfiles to the Makefiles, because I expected they would change slowly
if at all. Andrey and I did get this going, and a simple
mk install
in go/src
sufficed to build and install all Go packages and produce some working
binaries, however that approach is not going to be accepted, because
it requires mkfiles in the Go source tree.

For the record, it takes a surprisingly small amount of effort to make
this work, once you know what is going on. Oh, and, there are some
bugs in the Go source that are uncovered when one builds on NIX. I've
submitted one fix and have one or two more in the works. The work has
not been in vain.

I think we need to be realistic about how much we can influence the Go
mainline source. I keep seeing comments on 9fans about how we can
change the way the Go source is written/built/managed, and those
comments envision some signiifcant changes. To repeat, I have been
told in no uncertain terms that changing the way Go is set up to
accommodate great Plan 9 ideas is just not going to happen, and that
our "footprint" in the Go source tree must remain very small. I think
that is the correct approach on the part of the Go team.

We have made minor changes on NIX to accomodate Go. Simple examples:
/*/mkfile
have an entry for the name of the Go compiler. There is a /go directory.

Based on the Python experience, where Plan 9's python is always far
behind the leading edge, I still believe that it is best if the
following always worked:

hg clone the-official-go-tree go
cd go/src
./some-shell-script

I do not think it makes sense to have Go source distributed as part of
the Plan 9 distro or contrib mechanism as that approach has not worked
well (in my view) for Python. Again, what I'd like to have is a Go
that always builds on Plan 9 from the mainline go source tree,
without having to dump in lots of patch files and other junk or change
the Makefiles. Andrey and I worked toward a "build with zero changes"
model. We did not get done and decided to wait for Go 1 anyway because
the number of Makefiles will be greatly reduced in Go 1 -- I expect
there will be less than 10 or so.

I believe the Go authors will accept a single shell script or two and
a go/9/include tree as part of the standard distro, so we need to
think in those terms. What I have in go/9/include today are some u.h
files, and that and a very simple set of changes should suffice to let
us build Go on Plan 9 with *zero* changes from the standard go source.

I hope that last paragraph was not too confusing.

Thanks

ron



  reply	other threads:[~2011-12-02 17:21 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-01 17:48 Anthony Martin
2011-12-01 17:51 ` erik quanstrom
2011-12-01 18:00 ` John Floren
2011-12-01 18:05   ` Stanley Lieber
2011-12-01 18:14   ` Anthony Martin
2011-12-01 18:19     ` Charles Forsyth
2011-12-01 18:25       ` Lyndon Nerenberg
2011-12-01 19:07         ` Anthony Martin
2011-12-01 19:54           ` Lyndon Nerenberg
2011-12-02  3:39             ` Lucio De Re
2011-12-02 14:33               ` Anthony Martin
2011-12-02 14:57                 ` erik quanstrom
2011-12-02 15:23                   ` Anthony Martin
2011-12-02 17:14                   ` Skip Tavakkolian
2011-12-02 15:19                 ` Lyndon Nerenberg
2011-12-02 15:59                 ` Lucio De Re
2011-12-02 16:09                   ` Lucio De Re
2011-12-02 17:24                 ` ron minnich
2011-12-02 17:55                   ` Lyndon Nerenberg
2011-12-02 17:58                     ` Francisco J Ballesteros
2011-12-02 18:19                       ` ron minnich
     [not found]                       ` <CAP6exYKKqsc0Kwyhxp_LiXf0oRUJ79UYWZM=Ugp2WPZ7TZATwQ@mail.gmail.c>
2011-12-02 21:42                         ` erik quanstrom
2011-12-02 22:12                           ` andrey mirtchovski
2011-12-02 22:13                             ` andrey mirtchovski
2011-12-02 17:58                     ` Lyndon Nerenberg
2011-12-02 18:01                     ` erik quanstrom
2011-12-02  6:34             ` ron minnich
2011-12-02  6:42               ` Lucio De Re
2011-12-02  8:49                 ` Francisco J Ballesteros
2011-12-02 17:21                   ` ron minnich [this message]
2011-12-01 18:28       ` Anthony Martin
2011-12-01 18:30         ` erik quanstrom
2011-12-01 18:45           ` Anthony Martin
2011-12-01 18:48             ` Anthony Martin
2011-12-01 18:18 ` Anthony Martin
2011-12-02 14:40   ` Pavel Zholkover
2011-12-02 14:57     ` Anthony Martin
2011-12-02 20:25 ` [9fans] go v. mk Lyndon Nerenberg
2011-12-02 20:37   ` ron minnich
2011-12-03  0:06   ` Steve Simon
2011-12-03  0:11     ` Lyndon Nerenberg
2011-12-03  0:12     ` ron minnich
2011-12-05  0:32       ` Federico Benavento
2011-12-05  0:44         ` John Floren
2011-12-05 12:20           ` Federico Benavento
2011-12-27 14:38   ` Aram Hăvărneanu
2011-12-01 19:20 [9fans] Building Go on Plan 9 lsub

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAP6exYKLJLJo_s17jtj8629FRZr1sU8TChzp+hMjFe29F7ToXw@mail.gmail.com \
    --to=rminnich@gmail.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).