[75658] trunk/dports/lang
singingwolfboy at macports.org
singingwolfboy at macports.org
Wed Feb 2 15:42:55 PST 2011
Revision: 75658
http://trac.macports.org/changeset/75658
Author: singingwolfboy at macports.org
Date: 2011-02-02 15:42:54 -0800 (Wed, 02 Feb 2011)
Log Message:
-----------
New port: go
Added Paths:
-----------
trunk/dports/lang/go/
trunk/dports/lang/go/Portfile
Copied: trunk/dports/lang/go/Portfile (from rev 75061, trunk/dports/lang/go-devel/Portfile)
===================================================================
--- trunk/dports/lang/go/Portfile (rev 0)
+++ trunk/dports/lang/go/Portfile 2011-02-02 23:42:54 UTC (rev 75658)
@@ -0,0 +1,129 @@
+# $Id$
+
+PortSystem 1.0
+
+name go
+conflicts go-devel
+version 2011-02-01
+categories lang
+platforms darwin freebsd linux
+license BSD
+maintainers singingwolfboy
+description compiled, garbage-collected, concurrent programming \
+ language developed by Google Inc.
+long_description \
+ The Go programming language is an open source project to make programmers \
+ more productive. Go is expressive, concise, clean, and efficient. Its \
+ concurrency mechanisms make it easy to write programs that get the most \
+ out of multicore and networked machines, while its novel type system \
+ enables flexible and modular program construction. Go compiles quickly \
+ to machine code yet has the convenience of garbage collection and the \
+ power of run-time reflection. It's a fast, statically typed, compiled \
+ language that feels like a dynamically typed, interpreted language. Go \
+ is developed by Google Inc.
+
+homepage http://golang.org/
+fetch.type hg
+hg.url https://go.googlecode.com/hg/
+hg.tag release.${version}
+
+depends_build bin:bison:bison \
+ bin:make:gmake \
+ bin:awk:gawk \
+ bin:ed:ed
+
+set GOROOT ${worksrcpath}
+set GOBIN ${workpath}/bin
+
+switch ${build_arch} {
+ i386 {
+ set GOARCH 386
+ }
+ x86_64 {
+ set GOARCH amd64
+ }
+ default {
+ # unsupported arch, but GOARCH needs to be set to something to prevent errors
+ set GOARCH x
+ }
+}
+
+pre-fetch {
+ if {"big" == ${os.endian}} {
+ ui_error "${name} can only be used on an Intel Mac or other computer with a little-endian processor."
+ return -code error "incompatible processor"
+ }
+}
+
+use_configure no
+
+pre-build {
+ xinstall -m 755 -d ${GOROOT} ${GOBIN}
+}
+build.dir ${worksrcpath}/src
+build.cmd ./make.bash
+build.target
+build.env GOROOT=${GOROOT} GOBIN=${GOBIN} GOARCH=${GOARCH} \
+ GOROOT_FINAL=${prefix}
+use_parallel_build no
+
+test.run yes
+test.dir ${worksrcpath}/src
+test.cmd ./run.bash
+test.target
+test.env ${build.env}
+
+destroot {
+ # bin files
+ file delete ${destroot}${prefix}/bin
+ file copy ${GOBIN} ${destroot}${prefix}
+
+ # lib files
+ file delete -force ${destroot}${prefix}/lib
+ file copy ${worksrcpath}/lib ${destroot}${prefix}
+
+ # compiled packages
+ file copy ${worksrcpath}/pkg ${destroot}${prefix}
+
+ # include files
+ file copy ${worksrcpath}/include ${destroot}${prefix}/include
+
+ # documentation
+ xinstall -m 755 -d ${destroot}${prefix}/share/doc/
+ file copy ${worksrcpath}/doc ${destroot}${prefix}/share/doc/${name}
+ xinstall -m 644 -W ${worksrcpath} favicon.ico \
+ ${destroot}${prefix}/share/doc/${name}/${name}.ico
+
+ # bash completion
+ xinstall -m 755 -d ${destroot}${prefix}/etc/bash_completion.d
+ xinstall -m 644 -W ${worksrcpath}/misc/bash ${name} \
+ ${destroot}${prefix}/etc/bash_completion.d/${name}
+
+ # emacs syntax highlighting
+ xinstall -m 755 -d ${destroot}${prefix}/share/emacs/site-lisp/
+ eval xinstall -m 644 [glob ${worksrcpath}/misc/emacs/*.el] \
+ ${destroot}${prefix}/share/emacs/site-lisp/
+
+ # vim syntax highlighting
+ set vimdir ${destroot}${prefix}/share/vim/vim73
+ xinstall -m 755 -d ${vimdir}/syntax ${vimdir}/ftdetect ${vimdir}/ftplugin
+ xinstall -m 644 ${worksrcpath}/misc/vim/syntax/go.vim \
+ ${vimdir}/syntax/go.vim
+ xinstall -m 644 ${worksrcpath}/misc/vim/ftdetect/gofiletype.vim \
+ ${vimdir}/ftdetect/go.vim
+ xinstall -m 644 ${worksrcpath}/misc/vim/ftplugin/go/import.vim \
+ ${vimdir}/ftplugin/go.vim
+}
+
+platform darwin {
+ build.env-append GOOS=darwin
+ test.env-append GOOS=darwin
+}
+platform freebsd {
+ build.env-append GOOS=freebsd
+ test.env-append GOOS=freebsd
+}
+platform linux {
+ build.env-append GOOS=linux
+ test.env-append GOOS=linux
+}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20110202/3d289d25/attachment-0001.html>
More information about the macports-changes
mailing list