diff options
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 } |