actions.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # Licensed under the GNU General Public License, version 3.
  5. # See the file http://www.gnu.org/licenses/gpl.txt
  6. from pisi.actionsapi import pisitools
  7. from pisi.actionsapi import autotools
  8. from pisi.actionsapi import shelltools
  9. from pisi.actionsapi import get
  10. NoStrip = ["/"]
  11. def build():
  12. shelltools.export("go_platform","linux-amd64")
  13. shelltools.export("go_linker","/lib/ld-linux-x86-64.so.2")
  14. shelltools.export("GOROOT", "%s/go-go1.9.2" % get.workDIR()) #0
  15. shelltools.export("GOBIN", "$GOROOT/bin") #1
  16. shelltools.export("GOPATH", "%s" % get.workDIR())
  17. shelltools.export("GOROOT_FINAL", "/usr/lib/go")
  18. shelltools.export("GOROOT_BOOTSTRAP", "%s/go-go1.9.2/go-linux-amd64-bootstrap" % get.workDIR()) #2
  19. shelltools.export("GOOS","linux")
  20. shelltools.export("GOARCH","amd64")
  21. shelltools.cd("src")
  22. shelltools.system("./make.bash")
  23. #shelltools.cd("%s/go-go1.6.3" % get.workDIR())
  24. #shelltools.system("$GOROOT/bin/go get -d golang.org/x/tools/cmd/godoc")
  25. #shelltools.system("$GOROOT/bin/go build -o $GOPATH/godoc golang.org/x/tools/cmd/godoc")
  26. #for tool in ["godex", "godoc", "goimports", "gomvpkg", "gorename", "gotype", "benchcmp", "bundle", "callgraph", "digraph", "eg", "fiximports", "html2article", "oracle", #"present", "ssadump", "stress", "stringer"]:
  27. # shelltools.system("$GOROOT/bin/go get -d golang.org/x/tools/cmd/%s" % tool)
  28. # shelltools.system("$GOROOT/bin/go build -v -x -o $GOROOT/pkg/tool/$GOOS\_$GOARCH/%s golang.org/x/tools/cmd/%s" % (tool, tool))
  29. def install():
  30. shelltools.export("GOROOT_FINAL", "/usr/lib/go")
  31. shelltools.cd("%s/go-go1.9.2" % get.workDIR())
  32. pisitools.dodir("/usr/lib/go")
  33. shelltools.system("cp -r api bin doc lib pkg src %s/usr/lib/go" % get.installDIR())
  34. shelltools.system("chown -R root:root %s/usr" % get.installDIR())
  35. pisitools.dosym("/usr/lib/go/bin/go", "/usr/bin/go")
  36. pisitools.dosym("/usr/lib/go/bin/gofmt", "/usr/bin/gofmt")
  37. pisitools.dosym("/usr/lib/go/doc", "/usr/share/doc/%s/doc" % get.srcNAME())
  38. pisitools.dosym("/usr/lib/go/api", "/usr/share/doc/%s/api" % get.srcNAME())
  39. shelltools.system("cp -r misc %s/usr/lib/go" % get.installDIR())
  40. pisitools.removeDir("/usr/lib/go/pkg/bootstrap")
  41. # remove testdata, which hit cave fix-linkage
  42. pisitools.remove("/usr/lib/go/src/debug/elf/testdata/gcc-386-freebsd-exec")
  43. pisitools.removeDir("/usr/lib/go/pkg/obj")
  44. # dirty fix thanks @erturk
  45. pisitools.removeDir("/usr/lib/go/pkg/linux_amd64")
  46. pisitools.dodoc("VERSION", "LICENSE", "PATENTS", "README*", "AUTHORS", "CONTRIBUTORS")