>From b101a0c7ce6ef1eb41bef786831e58fa4d1b069f Mon Sep 17 00:00:00 2001
From: Amy Fong <[email protected]>
Date: Mon, 27 Jul 2015 14:10:20 -0400
Subject: [PATCH] golang: use oe-meta-go

Update meta-virtualization to use go package from oe-meta-go.
The package golang-cross is go-cross in the oe-meta-go.

Signed-off-by: Amy Fong <[email protected]>
---
 README                                          |   1 +
 recipes-containers/docker/docker_git.bb         |   2 +-
 recipes-devtools/go/files/bsd_svid_source.patch |  37 ------
 recipes-devtools/go/files/ccache.patch          | 147 ------------------------
 recipes-devtools/go/golang-1.3.inc              |   4 -
 recipes-devtools/go/golang-cross.inc            |  61 ----------
 recipes-devtools/go/golang-cross_1.3.bb         |   4 -
 7 files changed, 2 insertions(+), 254 deletions(-)
 delete mode 100644 recipes-devtools/go/files/bsd_svid_source.patch
 delete mode 100644 recipes-devtools/go/files/ccache.patch
 delete mode 100644 recipes-devtools/go/golang-1.3.inc
 delete mode 100644 recipes-devtools/go/golang-cross.inc
 delete mode 100644 recipes-devtools/go/golang-cross_1.3.bb

diff --git a/README b/README
index ae5406d..beb3760 100644
--- a/README
+++ b/README
@@ -20,6 +20,7 @@ layers: meta-oe
        meta-networking
         meta-filesystems
         meta-python
+        oe-meta-go
 
 BBFILE_PRIORITY_openembedded-layer = "4"
 
diff --git a/recipes-containers/docker/docker_git.bb 
b/recipes-containers/docker/docker_git.bb
index ab32235..aa125a3 100644
--- a/recipes-containers/docker/docker_git.bb
+++ b/recipes-containers/docker/docker_git.bb
@@ -36,7 +36,7 @@ S = "${WORKDIR}/git"
 DOCKER_VERSION = "1.6.2"
 PV = "${DOCKER_VERSION}+git${SRCREV}"
 
-DEPENDS = "golang-cross \
+DEPENDS = "go-cross \
     go-cli \
     go-pty \
     go-context \
diff --git a/recipes-devtools/go/files/bsd_svid_source.patch 
b/recipes-devtools/go/files/bsd_svid_source.patch
deleted file mode 100644
index 21e1d4c..0000000
--- a/recipes-devtools/go/files/bsd_svid_source.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-golang-cross: do_compile fails cc1: all warnings being treated as errors
-
-glibc 2.20 deprecates _BSD_SOURCE and _SVID_SOURCE and emits an error
-message.  From patch 16632:
-       libc [PATCH] BZ #16632: Disable _SVID_SOURCE/_BSD_SOURCE warning
-       if _DEFAULT_SOURCE is defined
-
-Since we also need to support glibc before 2.20, from the release notes
-for glibc 2.20, the recommended fix is to define _DEFAULT_SOURCE
-
-(fixed upstream)
-https://groups.google.com/forum/#!topic/golang-codereviews/S4TARFCxu2k
-
-Signed-off-by: Amy Fong <[email protected]>
----
- include/u.h |   10 ++++++++++
- 1 file changed, 10 insertions(+)
-
---- a/include/u.h
-+++ b/include/u.h
-@@ -38,6 +38,16 @@
- #             define __MAKECONTEXT_V2_SOURCE 1
- #     endif
- #endif
-+/**
-+ * in glibc >= 2.20, _BSD_SOURCE and _SVID_SOURCE causes warning
-+ * messages if _DEFAULT_SOURCE is not defined.
-+ *
-+ * From glibc 2.20 release notes, since this application needs _BSD_SOURCE
-+ * and/or _SVID_SOURCE and we must support glibc < 2.19 and
-+ * glibc >= 2.20, then define all 3 (_DEFAULT_SOURCE, _BSD_SOURCE,
-+ * and _SVID_SOURCE) unconditionally
-+ */
-+#define _DEFAULT_SOURCE 1
- #define _BSD_SOURCE 1
- #define _NETBSD_SOURCE 1      /* NetBSD */
- #define _SVID_SOURCE 1
diff --git a/recipes-devtools/go/files/ccache.patch 
b/recipes-devtools/go/files/ccache.patch
deleted file mode 100644
index b7a64bf..0000000
--- a/recipes-devtools/go/files/ccache.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-golang doesn't work with ccache. In the current state, a lot of parsing
-happens where it'll grab the first string in CC or LD and uses that for
-its builds. When ccache is enabled, it results in trying to do builds
-with just ccache. 
-
-The brokeness is seen when building with apps that uses cgo, like docker.
-To enable ccache to work, some string comparisons and changes to parsing
-had to be made.
-
-Signed-off-by: Amy Fong <[email protected]>
-
-Index: go/src/cmd/cgo/gcc.go
-===================================================================
---- go.orig/src/cmd/cgo/gcc.go 2014-06-18 17:26:26.000000000 -0700
-+++ go/src/cmd/cgo/gcc.go      2015-06-18 13:19:08.908877160 -0700
-@@ -712,6 +712,12 @@
- func (p *Package) gccBaseCmd() []string {
-       // Use $CC if set, since that's what the build uses.
-       if ret := strings.Fields(os.Getenv("CC")); len(ret) > 0 {
-+              if strings.Contains(ret[0], "ccache") {
-+                      base_cc := ret[0] + " " + ret[1]
-+                      os.Setenv("CCACHE_CC", ret[1])
-+                      ret[1] = base_cc
-+                      return ret[1:]
-+              }
-               return ret
-       }
-       // Try $GCC if set, since that's what we used to use.
-Index: go/src/pkg/os/exec/lp_unix.go
-===================================================================
---- go.orig/src/pkg/os/exec/lp_unix.go 2014-06-18 17:26:25.000000000 -0700
-+++ go/src/pkg/os/exec/lp_unix.go      2015-06-18 13:19:29.464876331 -0700
-@@ -35,8 +35,14 @@
-       // (only bypass the path if file begins with / or ./ or ../)
-       // but that would not match all the Unix shells.
- 
--      if strings.Contains(file, "/") {
--              err := findExecutable(file)
-+      tmp := file
-+      if strings.Contains(file, " ") {
-+              exec_part := strings.Split(file, " ")[0]
-+              tmp = exec_part
-+      }
-+
-+      if strings.Contains(tmp, "/") {
-+              err := findExecutable(tmp)
-               if err == nil {
-                       return file, nil
-               }
-@@ -51,7 +57,7 @@
-                       // Unix shell semantics: path element "" means "."
-                       dir = "."
-               }
--              path := dir + "/" + file
-+              path := dir + "/" + tmp
-               if err := findExecutable(path); err == nil {
-                       return path, nil
-               }
-Index: go/src/cmd/go/build.go
-===================================================================
---- go.orig/src/cmd/go/build.go        2014-06-18 17:26:26.000000000 -0700
-+++ go/src/cmd/go/build.go     2015-06-18 13:20:08.724874749 -0700
-@@ -2005,8 +2005,15 @@
-       // strings returned are "gcc", "-I", objdir (and cuts them off).
- 
-       compiler := envList(envvar, defcmd)
--      a := []string{compiler[0], "-I", objdir}
--      a = append(a, compiler[1:]...)
-+
-+      a := []string{compiler[0]}
-+      if strings.Contains(compiler[0], "ccache") {
-+              a = append(a, compiler[1], "-I", objdir)
-+              a = append(a, compiler[2:]...)
-+      } else {
-+              a = append(a, "-I", objdir)
-+              a = append(a, compiler[1:]...)
-+      }
- 
-       // Definitely want -fPIC but on Windows gcc complains
-       // "-fPIC ignored for target (all code is position independent)"
-Index: go/src/cmd/ld/lib.c
-===================================================================
---- go.orig/src/cmd/ld/lib.c   2014-06-18 17:26:27.000000000 -0700
-+++ go/src/cmd/ld/lib.c        2015-06-18 13:18:39.564878343 -0700
-@@ -552,7 +552,7 @@
- void
- hostlink(void)
- {
--      char *p, **argv;
-+      char *p, *q, **argv;
-       int c, i, w, n, argc, len;
-       Hostobj *h;
-       Biobuf *f;
-@@ -577,6 +577,19 @@
-       if(extld == nil)
-               extld = "gcc";
-       argv[argc++] = extld;
-+
-+      p = extldflags;
-+      if (strstr(argv[0], "ccache") != NULL) {
-+              while(p != nil) {
-+                      while(*p == ' ')
-+                              *p++ = '\0';
-+                      if(*p == '\0')
-+                              break;
-+                      argv[argc++] = p;
-+                      p = strchr(p + 1, ' ');
-+                      break;
-+              }
-+      }
-       switch(thechar){
-       case '8':
-               argv[argc++] = "-m32";
-@@ -629,12 +642,12 @@
-                       errorexit();
-               }
-               Bseek(f, h->off, 0);
--              p = smprint("%s/%06d.o", tmpdir, i);
--              argv[argc++] = p;
--              w = create(p, 1, 0775);
-+              q = smprint("%s/%06d.o", tmpdir, i);
-+              argv[argc++] = q;
-+              w = create(q, 1, 0775);
-               if(w < 0) {
-                       ctxt->cursym = S;
--                      diag("cannot create %s: %r", p);
-+                      diag("cannot create %s: %r", q);
-                       errorexit();
-               }
-               len = h->len;
-@@ -646,7 +659,7 @@
-               }
-               if(close(w) < 0) {
-                       ctxt->cursym = S;
--                      diag("cannot write %s: %r", p);
-+                      diag("cannot write %s: %r", q);
-                       errorexit();
-               }
-               Bterm(f);
-@@ -656,7 +669,6 @@
-       for(i=0; i<nldflag; i++)
-               argv[argc++] = ldflag[i];
- 
--      p = extldflags;
-       while(p != nil) {
-               while(*p == ' ')
-                       *p++ = '\0';
diff --git a/recipes-devtools/go/golang-1.3.inc 
b/recipes-devtools/go/golang-1.3.inc
deleted file mode 100644
index 5c507b4..0000000
--- a/recipes-devtools/go/golang-1.3.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=591778525c869cdde0ab5a1bf283cd81"
-SRC_URI[md5sum] = "4b66d7249554181c314f139ea78920b1"
-SRC_URI[sha256sum] = 
"eb983e6c5b2b9838f482c5442b1ac1856f610f2b21f3c123b3fedb48ffc35382"
diff --git a/recipes-devtools/go/golang-cross.inc 
b/recipes-devtools/go/golang-cross.inc
deleted file mode 100644
index be2c1eb..0000000
--- a/recipes-devtools/go/golang-cross.inc
+++ /dev/null
@@ -1,61 +0,0 @@
-DESCRIPTION = "Go Programming Language Cross Compiler."
-HOMEPAGE = "golang.org"
-# DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc"
-DEPENDS = "libgcc"
-PROVIDES = "virtual/${TARGET_PREFIX}golang"
-SRC_URI = "\
-       http://golang.org/dl/go${PV}.src.tar.gz \
-       file://bsd_svid_source.patch \
-       file://ccache.patch \
-       "
-
-S="${WORKDIR}/go"
-
-do_compile () {
-       export CC_FOR_TARGET="${CC}"
-       export CXX_FOR_TARGET="${CXX}"
-       # the above should set the right sysroot option, else...:
-       # export CGO_CFLAGS="--sysroot=${STAGING_DIR_HOST}"
-       # export CGO_LDFLAGS="--sysroot=${STAGING_DIR_HOST}"
-
-       export CC="${BUILD_CC}"
-       export GOROOT_FINAL="${libdir}/go"
-       export GOARCH="${TARGET_ARCH}"
-
-       # supported amd64, 386, arm
-       if [ "${TARGET_ARCH}" = "x86_64" ]; then
-               export GOARCH="amd64"
-       fi
-
-       if [ "${TARGET_ARCH}" = "arm" ]
-       then
-               if [ `echo ${TUNE_PKGARCH} | cut -c 1-7` = "cortexa" ]
-               then
-                       echo GOARM 7
-                       export GOARM="7"
-               fi
-       fi
-       export GOOS="linux"
-       export GO_GCFLAGS=""
-       export GO_LDFLAGS=""
-       export GO_CCFLAGS=""
-       export CGO_ENABLED="1"
-       #export CC_FOR_TARGET="${TARGET_SYS}-gcc"
-       #export CXX_FOR_TARGET="${TARGET_SYS}-g++"
-       echo GOARCH ${GOARCH}
-       echo CC_FOR_TARGET ${CC_FOR_TARGET}
-
-       cd src
-       sh -x ./make.bash
-}
-
-do_install () {
-       # Install the executables into build system
-       mkdir -p ${D}${bindir}
-       cp -a bin/go ${D}${bindir}/
-       mkdir -p ${D}${libdir}/go
-       cp -a pkg ${D}${libdir}/go/
-       cp -a include ${D}${libdir}/go/
-       cp -a api ${D}${libdir}/go/
-       cp -a src ${D}${libdir}/go/
-}
diff --git a/recipes-devtools/go/golang-cross_1.3.bb 
b/recipes-devtools/go/golang-cross_1.3.bb
deleted file mode 100644
index fcb0e7a..0000000
--- a/recipes-devtools/go/golang-cross_1.3.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit cross
-
-require golang-cross.inc
-require golang-${PV}.inc
-- 
2.1.4

-- 
_______________________________________________
meta-virtualization mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-virtualization

Reply via email to