diff options
author | Tianon Gravi <admwiggin@gmail.com> | 2015-01-15 11:54:00 -0700 |
---|---|---|
committer | Tianon Gravi <admwiggin@gmail.com> | 2015-01-15 11:54:00 -0700 |
commit | f154da9e12608589e8d5f0508f908a0c3e88a1bb (patch) | |
tree | f8255d51e10c6f1e0ed69702200b966c9556a431 /misc/nacl/mkzip.go | |
parent | 8d8329ed5dfb9622c82a9fbec6fd99a580f9c9f6 (diff) | |
download | golang-upstream/1.4.tar.gz |
Imported Upstream version 1.4upstream/1.4
Diffstat (limited to 'misc/nacl/mkzip.go')
-rw-r--r-- | misc/nacl/mkzip.go | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/misc/nacl/mkzip.go b/misc/nacl/mkzip.go index 7b2de7d47..aaf37f120 100644 --- a/misc/nacl/mkzip.go +++ b/misc/nacl/mkzip.go @@ -71,7 +71,13 @@ func main() { var w io.Writer = zf if *gopackage != "" { - fmt.Fprintf(zf, "package %s\n\nfunc init() {\n\tunzip(\"", *gopackage) + fmt.Fprintf(zf, `package %s +import "sync" +func init() { + var once sync.Once + fsinit = func() { + once.Do(func() { + unzip("`, *gopackage) gw := &goWriter{b: bufio.NewWriter(w)} defer func() { if err := gw.Close(); err != nil { @@ -214,7 +220,7 @@ func (w *goWriter) Write(b []byte) (int, error) { } func (w *goWriter) Close() error { - fmt.Fprintf(w.b, "\")\n}\n") + fmt.Fprintf(w.b, "\")\n\t\t})\n\t}\n}") w.b.Flush() return nil } |