diff options
Diffstat (limited to 'meta/recipes-devtools/go/go-native.inc')
-rw-r--r-- | meta/recipes-devtools/go/go-native.inc | 48 |
1 files changed, 27 insertions, 21 deletions
diff --git a/meta/recipes-devtools/go/go-native.inc b/meta/recipes-devtools/go/go-native.inc index c21f8fda78..9eb2b3211f 100644 --- a/meta/recipes-devtools/go/go-native.inc +++ b/meta/recipes-devtools/go/go-native.inc @@ -1,16 +1,28 @@ +# Use immediate assingment here to get the original (/usr/lib) +# instead of the one rewritten by native.bbclass. +nonstaging_libdir := "${libdir}" + inherit native -BOOTSTRAP ?= "" +SRC_URI_append = " http://golang.org/dl/go1.4.3.src.tar.gz;name=bootstrap;subdir=go1.4" +SRC_URI[bootstrap.md5sum] = "dfb604511115dd402a77a553a5923a04" +SRC_URI[bootstrap.sha256sum] = "9947fc705b0b841b5938c48b22dc33e9647ec0752bae66e50278df4f23f64959" + export GOOS = "${BUILD_GOOS}" export GOARCH = "${BUILD_GOARCH}" -export GOROOT_FINAL = "${STAGING_LIBDIR_NATIVE}/go${BOOTSTRAP}" -export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go1.4" +CC = "${@d.getVar('BUILD_CC', True).strip()}" + export CGO_ENABLED = "1" -do_configure[noexec] = "1" +do_configure() { + cd ${WORKDIR}/go1.4/go/src + CGO_ENABLED=0 GOROOT=${WORKDIR}/go1.4/go ./make.bash +} do_compile() { export GOBIN="${B}/bin" + export GOROOT_FINAL="${nonstaging_libdir}/go" + export GOROOT_BOOTSTRAP="${WORKDIR}/go1.4/go" rm -rf ${GOBIN} mkdir ${GOBIN} @@ -18,7 +30,7 @@ do_compile() { mkdir -p ${WORKDIR}/build-tmp cd src - CGO_ENABLED=0 ./make.bash --host-only + ./make.bash --host-only } make_wrapper() { @@ -26,31 +38,25 @@ make_wrapper() { cat <<END >${D}${bindir}/$2$3 #!/bin/bash here=\`dirname \$0\` -export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go$3\`}" -\$here/../lib/go$3/bin/$1 "\$@" +export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}" +\$here/../lib/go/bin/$1 "\$@" END - chmod +x ${D}${bindir}/$2$3 + chmod +x ${D}${bindir}/$2 } do_install() { - install -d ${D}${libdir}/go${BOOTSTRAP} - cp -a ${B}/pkg ${D}${libdir}/go${BOOTSTRAP}/ - install -d ${D}${libdir}/go${BOOTSTRAP}/src + install -d ${D}${libdir}/go + cp --preserve=mode,timestamps -R ${B}/pkg ${D}${libdir}/go/ + install -d ${D}${libdir}/go/src (cd ${S}/src; for d in *; do \ - [ -d $d ] && cp -a ${S}/src/$d ${D}${libdir}/go${BOOTSTRAP}/src/; \ + [ -d $d ] && cp -a ${S}/src/$d ${D}${libdir}/go/src/; \ done) - install -d ${D}${bindir} ${D}${libdir}/go${BOOTSTRAP}/bin + install -d ${D}${bindir} ${D}${libdir}/go/bin for f in ${B}/bin/* do base=`basename $f` - install -m755 $f ${D}${libdir}/go${BOOTSTRAP}/bin - make_wrapper $base $base ${BOOTSTRAP} + install -m755 $f ${D}${libdir}/go/bin + make_wrapper $base $base done } - -do_package[noexec] = "1" -do_packagedata[noexec] = "1" -do_package_write_ipk[noexec] = "1" -do_package_write_deb[noexec] = "1" -do_package_write_rpm[noexec] = "1" |