public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [PATCH v1] enable gccgo for all platform
@ 2015-11-02 17:17 Leno Hou
  2015-11-02 17:30 ` William Hubbs
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Leno Hou @ 2015-11-02 17:17 UTC (permalink / raw
  To: gentoo-dev, blueness; +Cc: Leno Hou

1. go compiler only support x86 platform
2. gcc 5 includes go command to build go apps
3. for coreos enablement, it's use gcc 5 to build go apps

Signed-off-by: Leno Hou <lenohou@gmail.com>
---
 app-admin/consul-template/consul-template-0.9.0-r1.ebuild       | 5 ++++-
 app-admin/consul-template/consul-template-0.9.0.ebuild          | 5 ++++-
 app-admin/consul-template/consul-template-9999.ebuild           | 5 ++++-
 app-admin/consul/consul-0.5.2-r1.ebuild                         | 5 ++++-
 app-admin/consul/consul-0.5.2.ebuild                            | 5 ++++-
 app-admin/consul/consul-9999.ebuild                             | 5 ++++-
 app-admin/fleet/fleet-0.11.0-r1.ebuild                          | 5 ++++-
 app-admin/fleet/fleet-0.11.1.ebuild                             | 5 ++++-
 app-admin/fleet/fleet-0.11.5.ebuild                             | 5 ++++-
 app-admin/fleet/fleet-9999.ebuild                               | 5 ++++-
 app-admin/logstash-forwarder/logstash-forwarder-0.4.0-r1.ebuild | 2 +-
 app-admin/mongo-tools/mongo-tools-3.0.5.ebuild                  | 5 ++++-
 app-admin/mongo-tools/mongo-tools-3.0.6.ebuild                  | 5 ++++-
 app-admin/mongo-tools/mongo-tools-3.0.7.ebuild                  | 5 ++++-
 app-crypt/etcd-ca/etcd-ca-0_p20140903.ebuild                    | 2 +-
 app-crypt/etcd-ca/etcd-ca-0_p20150423-r1.ebuild                 | 2 +-
 app-crypt/etcd-ca/etcd-ca-0_p20150423.ebuild                    | 2 +-
 app-emulation/docker/docker-1.6.1.ebuild                        | 5 ++++-
 app-emulation/docker/docker-1.6.2.ebuild                        | 5 ++++-
 app-emulation/docker/docker-1.7.1.ebuild                        | 6 +++++-
 app-emulation/flannel/flannel-0.5.4.ebuild                      | 2 +-
 app-emulation/lxd/lxd-0.16.ebuild                               | 5 ++++-
 app-emulation/lxd/lxd-0.18.ebuild                               | 5 ++++-
 app-emulation/lxd/lxd-0.20.ebuild                               | 5 ++++-
 app-emulation/rkt/rkt-0.8.0.ebuild                              | 5 ++++-
 app-emulation/rkt/rkt-9999.ebuild                               | 5 ++++-
 app-emulation/runc/runc-0.0.2.ebuild                            | 2 +-
 dev-db/etcd/etcd-2.0.10-r1.ebuild                               | 2 +-
 dev-db/etcd/etcd-2.2.1.ebuild                                   | 2 +-
 dev-db/etcdctl/etcdctl-0.4.6-r1.ebuild                          | 2 +-
 dev-db/etcdctl/etcdctl-0.4.6.ebuild                             | 2 +-
 dev-db/go-etcd/go-etcd-0_p20141013-r1.ebuild                    | 2 +-
 dev-db/go-etcd/go-etcd-2.0.0-r1.ebuild                          | 2 +-
 dev-db/go-etcd/go-etcd-2.0.0.ebuild                             | 2 +-
 dev-libs/go-fuse/go-fuse-0_p20140812-r1.ebuild                  | 2 +-
 dev-libs/go-fuse/go-fuse-0_p20150422.ebuild                     | 2 +-
 dev-libs/go-fuse/go-fuse-9999.ebuild                            | 2 +-
 dev-libs/go-usb/go-usb-9999.ebuild                              | 2 +-
 dev-vcs/hub/hub-2.2.0-r1.ebuild                                 | 2 +-
 eclass/golang-base.eclass                                       | 2 +-
 sys-apps/lmctfy/lmctfy-0.5.0-r1.ebuild                          | 5 ++++-
 sys-apps/lmctfy/lmctfy-0.5.0.ebuild                             | 5 ++++-
 sys-fs/etcd-fs/etcd-fs-0_p20140620.ebuild                       | 5 ++++-
 sys-fs/go-mtpfs/go-mtpfs-9999.ebuild                            | 5 ++++-
 44 files changed, 120 insertions(+), 44 deletions(-)

diff --git a/app-admin/consul-template/consul-template-0.9.0-r1.ebuild b/app-admin/consul-template/consul-template-0.9.0-r1.ebuild
index cbc1059..a24ec80 100644
--- a/app-admin/consul-template/consul-template-0.9.0-r1.ebuild
+++ b/app-admin/consul-template/consul-template-0.9.0-r1.ebuild
@@ -14,7 +14,10 @@ LICENSE="MPL-2.0"
 SLOT="0"
 IUSE="test"
 
-DEPEND=">=dev-lang/go-1.4:=
+DEPEND="|| (
+		>=dev-lang/go-1.4:=
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	test? ( dev-go/go-tools )
 	app-admin/consul
 	app-admin/vault"
diff --git a/app-admin/consul-template/consul-template-0.9.0.ebuild b/app-admin/consul-template/consul-template-0.9.0.ebuild
index 80a3de8..c35ed0a 100644
--- a/app-admin/consul-template/consul-template-0.9.0.ebuild
+++ b/app-admin/consul-template/consul-template-0.9.0.ebuild
@@ -14,7 +14,10 @@ LICENSE="MPL-2.0"
 SLOT="0"
 IUSE="test"
 
-DEPEND=">=dev-lang/go-1.4
+DEPEND="|| (
+		>=dev-lang/go-1.4
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	test? ( dev-go/go-tools )
 	app-admin/consul
 	app-admin/vault"
diff --git a/app-admin/consul-template/consul-template-9999.ebuild b/app-admin/consul-template/consul-template-9999.ebuild
index 0dcf7f1..e43a1fd 100644
--- a/app-admin/consul-template/consul-template-9999.ebuild
+++ b/app-admin/consul-template/consul-template-9999.ebuild
@@ -15,7 +15,10 @@ LICENSE="MPL-2.0"
 SLOT="0"
 IUSE="test"
 
-DEPEND=">=dev-lang/go-1.4:=
+DEPEND="|| (
+		>=dev-lang/go-1.4:=
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	test? ( dev-go/go-tools )
 	app-admin/consul
 	app-admin/vault"
diff --git a/app-admin/consul/consul-0.5.2-r1.ebuild b/app-admin/consul/consul-0.5.2-r1.ebuild
index a55ecdf..990bf25 100644
--- a/app-admin/consul/consul-0.5.2-r1.ebuild
+++ b/app-admin/consul/consul-0.5.2-r1.ebuild
@@ -15,7 +15,10 @@ SLOT="0"
 IUSE="test web"
 RESTRICT="test"
 
-DEPEND=">=dev-lang/go-1.4:=
+DEPEND="|| (
+		>=dev-lang/go-1.4:=
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	dev-go/go-crypto:=
 	test? ( dev-go/go-tools )
 	web? (
diff --git a/app-admin/consul/consul-0.5.2.ebuild b/app-admin/consul/consul-0.5.2.ebuild
index 8389045..334dfad 100644
--- a/app-admin/consul/consul-0.5.2.ebuild
+++ b/app-admin/consul/consul-0.5.2.ebuild
@@ -15,7 +15,10 @@ SLOT="0"
 IUSE="test web"
 RESTRICT="test"
 
-DEPEND=">=dev-lang/go-1.4
+DEPEND="|| (
+		>=dev-lang/go-1.4
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	dev-go/go-crypto
 	test? ( dev-go/go-tools )
 	web? (
diff --git a/app-admin/consul/consul-9999.ebuild b/app-admin/consul/consul-9999.ebuild
index 3c38c20..c1fc202 100644
--- a/app-admin/consul/consul-9999.ebuild
+++ b/app-admin/consul/consul-9999.ebuild
@@ -16,7 +16,10 @@ SLOT="0"
 IUSE="test web"
 RESTRICT="test"
 
-DEPEND=">=dev-lang/go-1.4:=
+DEPEND="|| (
+		>=dev-lang/go-1.4:=
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	dev-go/go-crypto:=
 	test? ( dev-go/go-tools )
 	web? (
diff --git a/app-admin/fleet/fleet-0.11.0-r1.ebuild b/app-admin/fleet/fleet-0.11.0-r1.ebuild
index 47e3f92..b2ae87d 100644
--- a/app-admin/fleet/fleet-0.11.0-r1.ebuild
+++ b/app-admin/fleet/fleet-0.11.0-r1.ebuild
@@ -16,7 +16,10 @@ KEYWORDS="~amd64"
 IUSE="doc examples test"
 
 DEPEND="
-	>=dev-lang/go-1.3:=
+	|| (
+		>=dev-lang/go-1.3:=
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	test? ( dev-go/go-tools )
 "
 RDEPEND=""
diff --git a/app-admin/fleet/fleet-0.11.1.ebuild b/app-admin/fleet/fleet-0.11.1.ebuild
index 77c80c4..3ecb644 100644
--- a/app-admin/fleet/fleet-0.11.1.ebuild
+++ b/app-admin/fleet/fleet-0.11.1.ebuild
@@ -16,7 +16,10 @@ KEYWORDS="~amd64"
 IUSE="doc examples test"
 
 DEPEND="
-	>=dev-lang/go-1.3:=
+	|| ( 
+		>=dev-lang/go-1.3:=
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	test? ( dev-go/go-tools )
 "
 RDEPEND=""
diff --git a/app-admin/fleet/fleet-0.11.5.ebuild b/app-admin/fleet/fleet-0.11.5.ebuild
index 07d7fdd..bdd4877 100644
--- a/app-admin/fleet/fleet-0.11.5.ebuild
+++ b/app-admin/fleet/fleet-0.11.5.ebuild
@@ -18,7 +18,10 @@ KEYWORDS="~amd64"
 IUSE="doc examples test"
 
 DEPEND="
-	>=dev-lang/go-1.4:=
+	|| (
+		>=dev-lang/go-1.4:=
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	test? ( dev-go/go-tools )
 "
 RDEPEND=""
diff --git a/app-admin/fleet/fleet-9999.ebuild b/app-admin/fleet/fleet-9999.ebuild
index c203877..9315eb6 100644
--- a/app-admin/fleet/fleet-9999.ebuild
+++ b/app-admin/fleet/fleet-9999.ebuild
@@ -17,7 +17,10 @@ SLOT="0"
 KEYWORDS=""
 IUSE="doc examples test"
 
-DEPEND=">=dev-lang/go-1.3:=
+DEPEND="|| (
+		>=dev-lang/go-1.3:=
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	test? ( dev-go/go-tools )"
 RDEPEND=""
 
diff --git a/app-admin/logstash-forwarder/logstash-forwarder-0.4.0-r1.ebuild b/app-admin/logstash-forwarder/logstash-forwarder-0.4.0-r1.ebuild
index a9dbce5..2c48261 100644
--- a/app-admin/logstash-forwarder/logstash-forwarder-0.4.0-r1.ebuild
+++ b/app-admin/logstash-forwarder/logstash-forwarder-0.4.0-r1.ebuild
@@ -15,7 +15,7 @@ SLOT="0"
 KEYWORDS="~amd64 ~x86"
 IUSE=""
 
-DEPEND="dev-lang/go:="
+DEPEND="|| ( dev-lang/go:= >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND=""
 
 pkg_setup() {
diff --git a/app-admin/mongo-tools/mongo-tools-3.0.5.ebuild b/app-admin/mongo-tools/mongo-tools-3.0.5.ebuild
index 658782f..39d5dd1 100644
--- a/app-admin/mongo-tools/mongo-tools-3.0.5.ebuild
+++ b/app-admin/mongo-tools/mongo-tools-3.0.5.ebuild
@@ -24,7 +24,10 @@ IUSE="sasl ssl"
 
 RDEPEND="!<dev-db/mongodb-3.0.0"
 DEPEND="${RDEPEND}
-	dev-lang/go:=
+	|| (
+		dev-lang/go:=
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	sasl? ( dev-libs/cyrus-sasl )
 	ssl? ( dev-libs/openssl )"
 
diff --git a/app-admin/mongo-tools/mongo-tools-3.0.6.ebuild b/app-admin/mongo-tools/mongo-tools-3.0.6.ebuild
index 658782f..39d5dd1 100644
--- a/app-admin/mongo-tools/mongo-tools-3.0.6.ebuild
+++ b/app-admin/mongo-tools/mongo-tools-3.0.6.ebuild
@@ -24,7 +24,10 @@ IUSE="sasl ssl"
 
 RDEPEND="!<dev-db/mongodb-3.0.0"
 DEPEND="${RDEPEND}
-	dev-lang/go:=
+	|| (
+		dev-lang/go:=
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	sasl? ( dev-libs/cyrus-sasl )
 	ssl? ( dev-libs/openssl )"
 
diff --git a/app-admin/mongo-tools/mongo-tools-3.0.7.ebuild b/app-admin/mongo-tools/mongo-tools-3.0.7.ebuild
index 658782f..39d5dd1 100644
--- a/app-admin/mongo-tools/mongo-tools-3.0.7.ebuild
+++ b/app-admin/mongo-tools/mongo-tools-3.0.7.ebuild
@@ -24,7 +24,10 @@ IUSE="sasl ssl"
 
 RDEPEND="!<dev-db/mongodb-3.0.0"
 DEPEND="${RDEPEND}
-	dev-lang/go:=
+	|| (
+		dev-lang/go:=
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	sasl? ( dev-libs/cyrus-sasl )
 	ssl? ( dev-libs/openssl )"
 
diff --git a/app-crypt/etcd-ca/etcd-ca-0_p20140903.ebuild b/app-crypt/etcd-ca/etcd-ca-0_p20140903.ebuild
index 4c2eed6..11485dd 100644
--- a/app-crypt/etcd-ca/etcd-ca-0_p20140903.ebuild
+++ b/app-crypt/etcd-ca/etcd-ca-0_p20140903.ebuild
@@ -12,7 +12,7 @@ SRC_URI="${HOMEPAGE}/archive/${EGIT_COMMIT}.zip -> ${P}.zip"
 LICENSE="Apache-2.0"
 SLOT="0"
 IUSE="doc"
-DEPEND=">=dev-lang/go-1.2"
+DEPEND="|| ( >=dev-lang/go-1.2 >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND=""
 S=${WORKDIR}/${PN}-${EGIT_COMMIT}
 
diff --git a/app-crypt/etcd-ca/etcd-ca-0_p20150423-r1.ebuild b/app-crypt/etcd-ca/etcd-ca-0_p20150423-r1.ebuild
index 3209ff0..da28762 100644
--- a/app-crypt/etcd-ca/etcd-ca-0_p20150423-r1.ebuild
+++ b/app-crypt/etcd-ca/etcd-ca-0_p20150423-r1.ebuild
@@ -12,7 +12,7 @@ SRC_URI="${HOMEPAGE}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
 LICENSE="Apache-2.0"
 SLOT="0"
 IUSE="doc"
-DEPEND=">=dev-lang/go-1.2:="
+DEPEND="|| ( >=dev-lang/go-1.2:= >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND=""
 S=${WORKDIR}/${PN}-${EGIT_COMMIT}
 
diff --git a/app-crypt/etcd-ca/etcd-ca-0_p20150423.ebuild b/app-crypt/etcd-ca/etcd-ca-0_p20150423.ebuild
index 78d825d..07d5d18 100644
--- a/app-crypt/etcd-ca/etcd-ca-0_p20150423.ebuild
+++ b/app-crypt/etcd-ca/etcd-ca-0_p20150423.ebuild
@@ -12,7 +12,7 @@ SRC_URI="${HOMEPAGE}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
 LICENSE="Apache-2.0"
 SLOT="0"
 IUSE="doc"
-DEPEND=">=dev-lang/go-1.2"
+DEPEND="|| ( >=dev-lang/go-1.2 >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND=""
 S=${WORKDIR}/${PN}-${EGIT_COMMIT}
 
diff --git a/app-emulation/docker/docker-1.6.1.ebuild b/app-emulation/docker/docker-1.6.1.ebuild
index adabf38..16690d6 100644
--- a/app-emulation/docker/docker-1.6.1.ebuild
+++ b/app-emulation/docker/docker-1.6.1.ebuild
@@ -39,7 +39,10 @@ CDEPEND="
 
 DEPEND="
 	${CDEPEND}
-	>=dev-lang/go-1.3
+	|| (
+		>=dev-lang/go-1.3
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	btrfs? (
 		>=sys-fs/btrfs-progs-3.16.1
 	)
diff --git a/app-emulation/docker/docker-1.6.2.ebuild b/app-emulation/docker/docker-1.6.2.ebuild
index 1eb4f5f..db34765 100644
--- a/app-emulation/docker/docker-1.6.2.ebuild
+++ b/app-emulation/docker/docker-1.6.2.ebuild
@@ -39,7 +39,10 @@ CDEPEND="
 
 DEPEND="
 	${CDEPEND}
-	>=dev-lang/go-1.3
+	|| (
+		>=dev-lang/go-1.3
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	btrfs? (
 		>=sys-fs/btrfs-progs-3.16.1
 	)
diff --git a/app-emulation/docker/docker-1.7.1.ebuild b/app-emulation/docker/docker-1.7.1.ebuild
index 6f618a2..43868ec 100644
--- a/app-emulation/docker/docker-1.7.1.ebuild
+++ b/app-emulation/docker/docker-1.7.1.ebuild
@@ -39,7 +39,11 @@ CDEPEND="
 
 DEPEND="
 	${CDEPEND}
-	>=dev-lang/go-1.4:=
+	|| (
+		>=dev-lang/go-1.4:=
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
+	
 	btrfs? (
 		>=sys-fs/btrfs-progs-3.8
 	)
diff --git a/app-emulation/flannel/flannel-0.5.4.ebuild b/app-emulation/flannel/flannel-0.5.4.ebuild
index 4b3992c..3233eb8 100644
--- a/app-emulation/flannel/flannel-0.5.4.ebuild
+++ b/app-emulation/flannel/flannel-0.5.4.ebuild
@@ -15,7 +15,7 @@ LICENSE="Apache-2.0"
 SLOT="0"
 IUSE=""
 
-DEPEND=">=dev-lang/go-1.4:="
+DEPEND="|| ( >=dev-lang/go-1.4:= >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND=""
 
 src_prepare() {
diff --git a/app-emulation/lxd/lxd-0.16.ebuild b/app-emulation/lxd/lxd-0.16.ebuild
index cb20eba..dd01e8c 100644
--- a/app-emulation/lxd/lxd-0.16.ebuild
+++ b/app-emulation/lxd/lxd-0.16.ebuild
@@ -21,7 +21,10 @@ inherit bash-completion-r1 eutils golang-build l10n systemd user vcs-snapshot
 
 DEPEND="
 	dev-go/go-crypto
-	>=dev-lang/go-1.4.2:=
+	|| (
+		>=dev-lang/go-1.4.2:=
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	dev-libs/protobuf
 	dev-vcs/git
 	nls? ( sys-devel/gettext )
diff --git a/app-emulation/lxd/lxd-0.18.ebuild b/app-emulation/lxd/lxd-0.18.ebuild
index fd53d98..559fa54 100644
--- a/app-emulation/lxd/lxd-0.18.ebuild
+++ b/app-emulation/lxd/lxd-0.18.ebuild
@@ -21,7 +21,10 @@ inherit bash-completion-r1 eutils golang-build l10n systemd user vcs-snapshot
 
 DEPEND="
 	dev-go/go-crypto
-	>=dev-lang/go-1.4.2:=
+	|| (
+		>=dev-lang/go-1.4.2:=
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	dev-libs/protobuf
 	dev-vcs/git
 	nls? ( sys-devel/gettext )
diff --git a/app-emulation/lxd/lxd-0.20.ebuild b/app-emulation/lxd/lxd-0.20.ebuild
index ab08cd1..bfb6018 100644
--- a/app-emulation/lxd/lxd-0.20.ebuild
+++ b/app-emulation/lxd/lxd-0.20.ebuild
@@ -21,7 +21,10 @@ inherit bash-completion-r1 eutils golang-build l10n systemd user vcs-snapshot
 
 DEPEND="
 	dev-go/go-crypto
-	>=dev-lang/go-1.4.2:=
+	|| (
+		>=dev-lang/go-1.4.2:=
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	dev-libs/protobuf
 	dev-vcs/git
 	nls? ( sys-devel/gettext )
diff --git a/app-emulation/rkt/rkt-0.8.0.ebuild b/app-emulation/rkt/rkt-0.8.0.ebuild
index e1354ed..3e5faeb 100644
--- a/app-emulation/rkt/rkt-0.8.0.ebuild
+++ b/app-emulation/rkt/rkt-0.8.0.ebuild
@@ -27,7 +27,10 @@ SLOT="0"
 IUSE="doc examples +rkt_stage1_coreos rkt_stage1_src +actool systemd"
 REQUIRED_USE="^^ ( rkt_stage1_coreos rkt_stage1_src )"
 
-DEPEND=">=dev-lang/go-1.4.1
+DEPEND="|| (
+		>=dev-lang/go-1.4.1
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	app-arch/cpio
 	sys-fs/squashfs-tools
 	dev-perl/Capture-Tiny
diff --git a/app-emulation/rkt/rkt-9999.ebuild b/app-emulation/rkt/rkt-9999.ebuild
index fcb665c..8d9c4aa 100644
--- a/app-emulation/rkt/rkt-9999.ebuild
+++ b/app-emulation/rkt/rkt-9999.ebuild
@@ -30,7 +30,10 @@ SLOT="0"
 IUSE="doc examples +rkt_stage1_coreos rkt_stage1_host rkt_stage1_src +actool systemd"
 REQUIRED_USE="^^ ( rkt_stage1_coreos rkt_stage1_host rkt_stage1_src )"
 
-DEPEND=">=dev-lang/go-1.4.1
+DEPEND="|| (
+		>=dev-lang/go-1.4.1
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	app-arch/cpio
 	sys-fs/squashfs-tools
 	dev-perl/Capture-Tiny
diff --git a/app-emulation/runc/runc-0.0.2.ebuild b/app-emulation/runc/runc-0.0.2.ebuild
index f5bb49f..0dcc097 100644
--- a/app-emulation/runc/runc-0.0.2.ebuild
+++ b/app-emulation/runc/runc-0.0.2.ebuild
@@ -23,7 +23,7 @@ LICENSE="Apache-2.0"
 SLOT="0"
 IUSE=""
 
-DEPEND=">=dev-lang/go-1.4:="
+DEPEND="|| ( >=dev-lang/go-1.4:= >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND=""
 
 src_prepare() {
diff --git a/dev-db/etcd/etcd-2.0.10-r1.ebuild b/dev-db/etcd/etcd-2.0.10-r1.ebuild
index 2b7d67d..8a18e0b 100644
--- a/dev-db/etcd/etcd-2.0.10-r1.ebuild
+++ b/dev-db/etcd/etcd-2.0.10-r1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/coreos/etcd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
 LICENSE="Apache-2.0"
 SLOT="0"
 IUSE="doc"
-DEPEND=">=dev-lang/go-1.2:="
+DEPEND="|| ( >=dev-lang/go-1.2:= >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND="!dev-db/etcdctl"
 
 pkg_setup() {
diff --git a/dev-db/etcd/etcd-2.2.1.ebuild b/dev-db/etcd/etcd-2.2.1.ebuild
index 3c29b13..45c9620 100644
--- a/dev-db/etcd/etcd-2.2.1.ebuild
+++ b/dev-db/etcd/etcd-2.2.1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/coreos/etcd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
 LICENSE="Apache-2.0"
 SLOT="0"
 IUSE="doc"
-DEPEND=">=dev-lang/go-1.2:="
+DEPEND="|| ( >=dev-lang/go-1.2:= >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND="!dev-db/etcdctl"
 
 pkg_setup() {
diff --git a/dev-db/etcdctl/etcdctl-0.4.6-r1.ebuild b/dev-db/etcdctl/etcdctl-0.4.6-r1.ebuild
index 8fb38cb..7159570 100644
--- a/dev-db/etcdctl/etcdctl-0.4.6-r1.ebuild
+++ b/dev-db/etcdctl/etcdctl-0.4.6-r1.ebuild
@@ -11,7 +11,7 @@ LICENSE="Apache-2.0"
 SLOT="0"
 IUSE="examples"
 
-DEPEND=">=dev-lang/go-1.2:="
+DEPEND="|| ( >=dev-lang/go-1.2:= >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND=""
 
 src_prepare() {
diff --git a/dev-db/etcdctl/etcdctl-0.4.6.ebuild b/dev-db/etcdctl/etcdctl-0.4.6.ebuild
index 45973ea..2cb600b 100644
--- a/dev-db/etcdctl/etcdctl-0.4.6.ebuild
+++ b/dev-db/etcdctl/etcdctl-0.4.6.ebuild
@@ -11,7 +11,7 @@ LICENSE="Apache-2.0"
 SLOT="0"
 IUSE="examples"
 
-DEPEND=">=dev-lang/go-1.2"
+DEPEND="|| ( >=dev-lang/go-1.2 >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND=""
 
 src_prepare() {
diff --git a/dev-db/go-etcd/go-etcd-0_p20141013-r1.ebuild b/dev-db/go-etcd/go-etcd-0_p20141013-r1.ebuild
index 8ea0f6d..a6dcf05 100644
--- a/dev-db/go-etcd/go-etcd-0_p20141013-r1.ebuild
+++ b/dev-db/go-etcd/go-etcd-0_p20141013-r1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://${GO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
 LICENSE="Apache-2.0"
 SLOT="0"
 IUSE=""
-DEPEND=">=dev-lang/go-1.4"
+DEPEND="|| (>=dev-lang/go-1.4 >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND=""
 S=${WORKDIR}
 
diff --git a/dev-db/go-etcd/go-etcd-2.0.0-r1.ebuild b/dev-db/go-etcd/go-etcd-2.0.0-r1.ebuild
index 79358b5..eb446ab 100644
--- a/dev-db/go-etcd/go-etcd-2.0.0-r1.ebuild
+++ b/dev-db/go-etcd/go-etcd-2.0.0-r1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://${GO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
 LICENSE="Apache-2.0"
 SLOT="0"
 IUSE=""
-DEPEND=">=dev-lang/go-1.4:="
+DEPEND="|| ( >=dev-lang/go-1.4:= >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND=""
 S=${WORKDIR}
 
diff --git a/dev-db/go-etcd/go-etcd-2.0.0.ebuild b/dev-db/go-etcd/go-etcd-2.0.0.ebuild
index 8ea0f6d..136a2bf 100644
--- a/dev-db/go-etcd/go-etcd-2.0.0.ebuild
+++ b/dev-db/go-etcd/go-etcd-2.0.0.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://${GO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
 LICENSE="Apache-2.0"
 SLOT="0"
 IUSE=""
-DEPEND=">=dev-lang/go-1.4"
+DEPEND="|| ( >=dev-lang/go-1.4 >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND=""
 S=${WORKDIR}
 
diff --git a/dev-libs/go-fuse/go-fuse-0_p20140812-r1.ebuild b/dev-libs/go-fuse/go-fuse-0_p20140812-r1.ebuild
index eb4bbe6..0a05325 100644
--- a/dev-libs/go-fuse/go-fuse-0_p20140812-r1.ebuild
+++ b/dev-libs/go-fuse/go-fuse-0_p20140812-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://${GO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
 LICENSE="BSD"
 SLOT="0"
 IUSE=""
-DEPEND=">=dev-lang/go-1.3"
+DEPEND="|| ( >=dev-lang/go-1.3 >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND=""
 S=${WORKDIR}
 
diff --git a/dev-libs/go-fuse/go-fuse-0_p20150422.ebuild b/dev-libs/go-fuse/go-fuse-0_p20150422.ebuild
index 839de1e..146d567 100644
--- a/dev-libs/go-fuse/go-fuse-0_p20150422.ebuild
+++ b/dev-libs/go-fuse/go-fuse-0_p20150422.ebuild
@@ -16,7 +16,7 @@ SLOT="0"
 KEYWORDS="~amd64"
 IUSE=""
 
-DEPEND=">=dev-lang/go-1.3"
+DEPEND="|| ( >=dev-lang/go-1.3 >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND=""
 
 src_unpack() {
diff --git a/dev-libs/go-fuse/go-fuse-9999.ebuild b/dev-libs/go-fuse/go-fuse-9999.ebuild
index f3e190c..f7bfda69 100644
--- a/dev-libs/go-fuse/go-fuse-9999.ebuild
+++ b/dev-libs/go-fuse/go-fuse-9999.ebuild
@@ -17,7 +17,7 @@ SLOT="0"
 KEYWORDS=""
 IUSE=""
 
-DEPEND=">=dev-lang/go-1.3"
+DEPEND="|| ( >=dev-lang/go-1.3 >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND=""
 
 GO_PN="github.com/hanwen/${PN}"
diff --git a/dev-libs/go-usb/go-usb-9999.ebuild b/dev-libs/go-usb/go-usb-9999.ebuild
index 268fd39..4a102f9 100644
--- a/dev-libs/go-usb/go-usb-9999.ebuild
+++ b/dev-libs/go-usb/go-usb-9999.ebuild
@@ -15,7 +15,7 @@ SLOT="0"
 KEYWORDS=""
 IUSE=""
 
-DEPEND=">=dev-lang/go-1.4"
+DEPEND="|| ( >=dev-lang/go-1.4 >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND=""
 
 # Tests require a connected mtp device
diff --git a/dev-vcs/hub/hub-2.2.0-r1.ebuild b/dev-vcs/hub/hub-2.2.0-r1.ebuild
index f5240ae..a3c72db 100644
--- a/dev-vcs/hub/hub-2.2.0-r1.ebuild
+++ b/dev-vcs/hub/hub-2.2.0-r1.ebuild
@@ -15,7 +15,7 @@ SLOT="0"
 KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
 IUSE=""
 
-DEPEND=">=dev-lang/go-1.4:="
+DEPEND="|| ( >=dev-lang/go-1.4:= >=sys-devel/gcc-5.1.0:=[go] )"
 RDEPEND=">=dev-vcs/git-1.7.3"
 
 DOC_CONTENTS="You may want to add 'alias git=hub' to your .{csh,bash}rc"
diff --git a/eclass/golang-base.eclass b/eclass/golang-base.eclass
index 0c54266..05bcc78 100644
--- a/eclass/golang-base.eclass
+++ b/eclass/golang-base.eclass
@@ -23,7 +23,7 @@ if [[ -z ${_GOLANG_BASE} ]]; then
 
 _GOLANG_BASE=1
 
-DEPEND=">=dev-lang/go-1.4.2:="
+DEPEND="|| ( >=dev-lang/go-1.4.2:= >=sys-devel/gcc-5.1.0:=[go] )"
 STRIP_MASK="*.a"
 
 # @ECLASS-VARIABLE: EGO_PN
diff --git a/sys-apps/lmctfy/lmctfy-0.5.0-r1.ebuild b/sys-apps/lmctfy/lmctfy-0.5.0-r1.ebuild
index 4a81c90..3142536 100644
--- a/sys-apps/lmctfy/lmctfy-0.5.0-r1.ebuild
+++ b/sys-apps/lmctfy/lmctfy-0.5.0-r1.ebuild
@@ -23,7 +23,10 @@ COMMON_DEPEND="
 	"
 DEPEND="
 	${COMMON_DEPEND}
-	dev-lang/go:=
+	|| (
+		dev-lang/go:=
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	"
 RDEPEND="${COMMON_DEPEND}"
 
diff --git a/sys-apps/lmctfy/lmctfy-0.5.0.ebuild b/sys-apps/lmctfy/lmctfy-0.5.0.ebuild
index 4e390ac..48ba6a9 100644
--- a/sys-apps/lmctfy/lmctfy-0.5.0.ebuild
+++ b/sys-apps/lmctfy/lmctfy-0.5.0.ebuild
@@ -19,7 +19,10 @@ DEPEND="
 	dev-libs/protobuf
 	>=dev-cpp/gflags-2.1.1
 	dev-libs/re2
-	dev-lang/go
+	|| (
+		dev-lang/go
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	sys-libs/libapparmor
 	"
 RDEPEND="${DEPEND}"
diff --git a/sys-fs/etcd-fs/etcd-fs-0_p20140620.ebuild b/sys-fs/etcd-fs/etcd-fs-0_p20140620.ebuild
index 8d6504c..8e05bdf 100644
--- a/sys-fs/etcd-fs/etcd-fs-0_p20140620.ebuild
+++ b/sys-fs/etcd-fs/etcd-fs-0_p20140620.ebuild
@@ -13,7 +13,10 @@ LICENSE="Apache-2.0"
 SLOT="0"
 IUSE=""
 DEPEND="
-	>=dev-lang/go-1.3
+	|| (
+		>=dev-lang/go-1.3
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	dev-db/go-etcd
 	dev-libs/go-fuse"
 RDEPEND=""
diff --git a/sys-fs/go-mtpfs/go-mtpfs-9999.ebuild b/sys-fs/go-mtpfs/go-mtpfs-9999.ebuild
index 4da89fd..7a7df7f 100644
--- a/sys-fs/go-mtpfs/go-mtpfs-9999.ebuild
+++ b/sys-fs/go-mtpfs/go-mtpfs-9999.ebuild
@@ -20,7 +20,10 @@ COMMON_DEPEND="virtual/libusb
 DEPEND="${COMMON_DEPEND}
 	dev-libs/go-fuse
 	dev-libs/go-usb
-	dev-lang/go
+	|| ( 
+		dev-lang/go
+		>=sys-devel/gcc-5.1.0:=[go]
+	)
 	media-libs/libmtp"
 
 RDEPEND="${COMMON_DEPEND}"
-- 
2.1.0



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [gentoo-dev] [PATCH v1] enable gccgo for all platform
  2015-11-02 17:17 [gentoo-dev] [PATCH v1] enable gccgo for all platform Leno Hou
@ 2015-11-02 17:30 ` William Hubbs
  2015-11-02 20:12 ` Justin Lecher (jlec)
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 13+ messages in thread
From: William Hubbs @ 2015-11-02 17:30 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 502 bytes --]

On Mon, Nov 02, 2015 at 12:17:26PM -0500, Leno Hou wrote:
> 1. go compiler only support x86 platform
> 2. gcc 5 includes go command to build go apps
> 3. for coreos enablement, it's use gcc 5 to build go apps

Also, once this is in place, I believe I could use gccgo to build go-1.5
and newer, which would get rid of the go-bootstrap package.

I think you will want to use dev-lang/go to build your packages, since
it is a newer compiler than the one in gccgo from what I understand.

Thanks,

William

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-dev] [PATCH v1] enable gccgo for all platform
  2015-11-02 17:17 [gentoo-dev] [PATCH v1] enable gccgo for all platform Leno Hou
  2015-11-02 17:30 ` William Hubbs
@ 2015-11-02 20:12 ` Justin Lecher (jlec)
  2015-11-02 22:38   ` William Hubbs
  2015-11-03 20:35 ` Zac Medico
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 13+ messages in thread
From: Justin Lecher (jlec) @ 2015-11-02 20:12 UTC (permalink / raw
  To: gentoo-dev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

How about a virtual here?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0

iQJ8BAEBCgBmBQJWN8OuXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ0QUU0N0I4NzFERUI0MTJFN0EyODE0NUFF
OTQwMkE3OUIwMzUyOUEyAAoJEOlAKnmwNSmipKsQALPnDU6VwMdevmupO78LRk0d
F5Nu3U6bjEq/roAZYHBEAztFLLG+0fywvvObuhgEloCRpbfhf07QJUdX2LB/n2ep
iTGYkEfYYI565SkWF7CXnpE70g88KRPbFDYGgky1jfhmlQrJM5HpnZa0cy+cGGM/
peAnDjCha0pdvJtRWUGdonR+A1dsLso8z+hQmCVxmWqQkZT0rsxAzAVXlpg/3QFE
YevCio+ijwMwQV2wzD0gU4EtNKdaRXK1XKgI18UsOBwTYhGOlW5VWtjiixXZVGaC
L2QbZiNggCRlv4JuQsW8dEb3p29lQJmtRClMjq7AMjbD6Mzt2aVfbDqkhYLq3gS7
+bGepyX5dG3FVMFAnpfOyH/0+xAzV2L418/mGLJupfJfoF2yXNT76sGFKYsCrFgX
iA/dlBsfKhGNoYc4V7JH/ONuUHaMzgLq20opHeOkiPVB2Esv+2QWXQkppwVXQhBq
4w/Nge8HG7rEJ/dzg0ePLwQ6zCq7TafuwV8nTTE+gEfuitleQusQdkjEAHAYFRWH
W+L1t+W/W5jtAy6rPv93cWClAsuBTyEPHJpoaxa57cRUtwU1AxRvawKj2XwxrBAq
0h6PYd+qQh46kNS9tdGCEg8PXOdU2QedFPk+4iKrbccGJ6tnaUCt89oFfcBjHn27
NXQQXQoiLv8WA1n3twLg
=t7Bd
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-dev] [PATCH v1] enable gccgo for all platform
  2015-11-02 20:12 ` Justin Lecher (jlec)
@ 2015-11-02 22:38   ` William Hubbs
  2015-11-03  2:40     ` Leno Hou
  2015-11-03  7:45     ` Justin (jlec)
  0 siblings, 2 replies; 13+ messages in thread
From: William Hubbs @ 2015-11-02 22:38 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 472 bytes --]

On Mon, Nov 02, 2015 at 09:12:30PM +0100, Justin Lecher (jlec) wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
> 
> How about a virtual here?

I don't see that working out to well because the compilers are
completely different from each other. As I said, the reference
implementation of the go language is dev-lang/go and the other one, that
is part of gcc, as I understand it, is not quite as fully developed as
dev-lang/go.

Thanks,

William


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-dev] [PATCH v1] enable gccgo for all platform
  2015-11-02 22:38   ` William Hubbs
@ 2015-11-03  2:40     ` Leno Hou
  2015-11-03  7:45     ` Justin (jlec)
  1 sibling, 0 replies; 13+ messages in thread
From: Leno Hou @ 2015-11-03  2:40 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1209 bytes --]

On Tue, Nov 3, 2015 at 6:38 AM, William Hubbs <williamh@gentoo.org> wrote:

> On Mon, Nov 02, 2015 at 09:12:30PM +0100, Justin Lecher (jlec) wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA512
> >
> > How about a virtual here?
>
> I don't see that working out to well because the compilers are
> completely different from each other. As I said, the reference
> implementation of the go language is dev-lang/go and the other one, that
> is part of gcc, as I understand it, is not quite as fully developed as
> dev-lang/go.
>
>
As you said, I want to build packages use `go build` command.
1. The GCC 5 releases include a complete implementation of the Go 1.4 user
libraries. [1]
2. The Go 1.4 runtime is not fully merged, but that should not be visible
to Go programs.
3.  The GCC 5 includes go command like dev-lang/go
4.  Now I've successfully compiled docker on gentoo ppc64le by gcc5, see [2]
5.  So I think there're the same. but i'm not sure, Is dev/go-1.5  support
ppc64, s390 platform ?
     If not support,  DEPEND=" || ( >=dev-lang/go-1.4:=
>sys-devel/gcc-5.1.0:=[go] ) " would be better.

Links
[1] https://golang.org/doc/install/gccgo
[2] https://bpaste.net/show/e4c68cfec77c

-Leno Hou

[-- Attachment #2: Type: text/html, Size: 2014 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-dev] [PATCH v1] enable gccgo for all platform
  2015-11-02 22:38   ` William Hubbs
  2015-11-03  2:40     ` Leno Hou
@ 2015-11-03  7:45     ` Justin (jlec)
  2015-11-03 14:56       ` William Hubbs
  2015-11-04  2:41       ` Leno Hou
  1 sibling, 2 replies; 13+ messages in thread
From: Justin (jlec) @ 2015-11-03  7:45 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1363 bytes --]

On 02/11/15 23:38, William Hubbs wrote:
> On Mon, Nov 02, 2015 at 09:12:30PM +0100, Justin Lecher (jlec) wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA512
>>
>> How about a virtual here?
> 
> I don't see that working out to well because the compilers are
> completely different from each other. As I said, the reference
> implementation of the go language is dev-lang/go and the other one, that
> is part of gcc, as I understand it, is not quite as fully developed as
> dev-lang/go.
> 
> Thanks,
> 
> William
> 

Hi William,

but instead of adding

DEPEND="||·(
	>=dev-lang/go-1.4
	>=sys-devel/gcc-5.1.0:=[go]

to ebuilds, you could create a virtual/go with that dependency and make all
packages depend on that instead of this || (). Maybe in future clang gets also
support for go, then you would need to edit again all ebuilds. Having a virtual
for that case is much simpler. This is how we are doing it for fortran.

Another problem which you have with these split deps is the following. Imagine
the user has gcc-5[go] installed, which fullfills the dependency requirement.
But she selected gcc-4.9 as the active compiler, which doesn't have go support.
The build will fail. For fortran we test in pkg_setup if we have a working
fortran compiler present. You would need to do the same for go compiler.

Justin


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 951 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-dev] [PATCH v1] enable gccgo for all platform
  2015-11-03  7:45     ` Justin (jlec)
@ 2015-11-03 14:56       ` William Hubbs
  2015-11-03 15:09         ` James Le Cuirot
  2015-11-04  2:41       ` Leno Hou
  1 sibling, 1 reply; 13+ messages in thread
From: William Hubbs @ 2015-11-03 14:56 UTC (permalink / raw
  To: gentoo-dev; +Cc: Justin Lecker

[-- Attachment #1: Type: text/plain, Size: 2312 bytes --]

On Tue, Nov 03, 2015 at 08:45:00AM +0100, Justin (jlec) wrote:
> On 02/11/15 23:38, William Hubbs wrote:
> > On Mon, Nov 02, 2015 at 09:12:30PM +0100, Justin Lecher (jlec) wrote:
> >> -----BEGIN PGP SIGNED MESSAGE-----
> >> Hash: SHA512
> >>
> >> How about a virtual here?
> > 
> > I don't see that working out to well because the compilers are
> > completely different from each other. As I said, the reference
> > implementation of the go language is dev-lang/go and the other one, that
> > is part of gcc, as I understand it, is not quite as fully developed as
> > dev-lang/go.
> > 
> > Thanks,
> > 
> > William
> > 
> 
> Hi William,
> 
> but instead of adding
> 
> DEPEND="||·(
> 	>=dev-lang/go-1.4
> 	>=sys-devel/gcc-5.1.0:=[go]
 
The || dependencies you list should not be needed in most cases.

As has been pointed out in the thread so far, gcc-5 only supports
go-1.4. dev-lang/go is at 1.5, so really the only thing that should be
built with gccgo is dev-lang/go. Also, the golang eclasses are designed
to work with dev-lang/go, so they do not need a dependency on gccgo.

Starting with go-1.5, most of the tools themselves are written in Go, so
you need an earlier version of Go installed to build it (this is where I
think I can use gccgo), but I'm not convinced yet about making it a
virtual.

> Another problem which you have with these split deps is the following. Imagine
> the user has gcc-5[go] installed, which fullfills the dependency requirement.
> But she selected gcc-4.9 as the active compiler, which doesn't have go support.
> The build will fail. For fortran we test in pkg_setup if we have a working
> fortran compiler present. You would need to do the same for go compiler.

The issue I see is a user could have gcc-5[go] and go-1.6 installed in
the future. In that case, you would have packages that build with go-1.6
but not gcc-5[go], so gcc-5[go] would not fulfill the requirement.

I see gcc-5[go] as a separate Go compiler, but it will always be behind
dev-lang/go, so you will have things that build with dev-lang/go but not
gccgo. Also, the commands to do the builds are completely different
depending on which one you are using.

I'm not sure of a way to deal with those issues in a virtual like you propose.

William


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-dev] [PATCH v1] enable gccgo for all platform
  2015-11-03 14:56       ` William Hubbs
@ 2015-11-03 15:09         ` James Le Cuirot
  2015-11-04 23:46           ` William Hubbs
  0 siblings, 1 reply; 13+ messages in thread
From: James Le Cuirot @ 2015-11-03 15:09 UTC (permalink / raw
  To: William Hubbs; +Cc: gentoo-dev

On Tue, 3 Nov 2015 08:56:29 -0600
William Hubbs <williamh@gentoo.org> wrote:

> As has been pointed out in the thread so far, gcc-5 only supports
> go-1.4. dev-lang/go is at 1.5, so really the only thing that should be
> built with gccgo is dev-lang/go. Also, the golang eclasses are
> designed to work with dev-lang/go, so they do not need a dependency
> on gccgo.
> 
> I see gcc-5[go] as a separate Go compiler, but it will always be
> behind dev-lang/go, so you will have things that build with
> dev-lang/go but not gccgo. Also, the commands to do the builds are
> completely different depending on which one you are using.

This is a lot like the situation with gcc's gcj and the icedtea Java
JDK. The arguments are quite different so we have a wrapper script
packaged as gcj-jdk. gcj only supports Java 6(ish?) and there are
other compatibility issues though so we no longer support it as a
general purpose JDK. Its only use is for bootstrapping icedtea. Now
that Java has been open sourced and gcj has fallen so far behind, gcc
are planning to scrap it so icedtea will need to find another way to
bootstrap (probably JamVM) if it isn't to rely on prebuilt versions of
itself.

-- 
James Le Cuirot (chewi)
Gentoo Linux Developer


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-dev] [PATCH v1] enable gccgo for all platform
  2015-11-02 17:17 [gentoo-dev] [PATCH v1] enable gccgo for all platform Leno Hou
  2015-11-02 17:30 ` William Hubbs
  2015-11-02 20:12 ` Justin Lecher (jlec)
@ 2015-11-03 20:35 ` Zac Medico
  2015-11-15  8:34 ` [gentoo-dev] " Ryan Hill
  2015-12-21 22:52 ` [gentoo-dev] " William Hubbs
  4 siblings, 0 replies; 13+ messages in thread
From: Zac Medico @ 2015-11-03 20:35 UTC (permalink / raw
  To: gentoo-dev, blueness; +Cc: Leno Hou

On 11/02/2015 09:17 AM, Leno Hou wrote:
> -DEPEND=">=dev-lang/go-1.4:=
> +DEPEND="|| (
> +		>=dev-lang/go-1.4:=
> +		>=sys-devel/gcc-5.1.0:=[go]
> +	)

Note that the council has recently decided that the := operator is
explicitly forbidden inside || ( ) constructs. The closest alternative
would be to use a USE flag as follows:

!gccgo? ( >=dev-lang/go-1.4:= ) gccgo? ( >=sys-devel/gcc-5.1.0:=[go] )
-- 
Thanks,
Zac


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-dev] [PATCH v1] enable gccgo for all platform
  2015-11-03  7:45     ` Justin (jlec)
  2015-11-03 14:56       ` William Hubbs
@ 2015-11-04  2:41       ` Leno Hou
  1 sibling, 0 replies; 13+ messages in thread
From: Leno Hou @ 2015-11-04  2:41 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1059 bytes --]

On Tue, Nov 3, 2015 at 3:45 PM, Justin (jlec) <jlec@gentoo.org> wrote:

> On 02/11/15 23:38, William Hubbs wrote:
> Hi William,
>
> but instead of adding
>
> DEPEND="||·(
>         >=dev-lang/go-1.4
>         >=sys-devel/gcc-5.1.0:=[go]
>
> to ebuilds, you could create a virtual/go with that dependency and make all
> packages depend on that instead of this || (). Maybe in future clang gets
> also
> support for go, then you would need to edit again all ebuilds. Having a
> virtual
> for that case is much simpler. This is how we are doing it for fortran.
>
> Another problem which you have with these split deps is the following.
> Imagine
> the user has gcc-5[go] installed, which fullfills the dependency
> requirement.
> But she selected gcc-4.9 as the active compiler, which doesn't have go
> support.
>
The build will fail. For fortran we test in pkg_setup if we have a working
> fortran compiler present. You would need to do the same for go compiler.
>
> Justin
>
>
Pretty good ! I'll take it.  thanks.

-Leno Hou

[-- Attachment #2: Type: text/html, Size: 1867 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-dev] [PATCH v1] enable gccgo for all platform
  2015-11-03 15:09         ` James Le Cuirot
@ 2015-11-04 23:46           ` William Hubbs
  0 siblings, 0 replies; 13+ messages in thread
From: William Hubbs @ 2015-11-04 23:46 UTC (permalink / raw
  To: gentoo-dev; +Cc: jlec

[-- Attachment #1: Type: text/plain, Size: 2062 bytes --]

On Tue, Nov 03, 2015 at 03:09:52PM +0000, James Le Cuirot wrote:
> On Tue, 3 Nov 2015 08:56:29 -0600
> William Hubbs <williamh@gentoo.org> wrote:
> 
> > As has been pointed out in the thread so far, gcc-5 only supports
> > go-1.4. dev-lang/go is at 1.5, so really the only thing that should be
> > built with gccgo is dev-lang/go. Also, the golang eclasses are
> > designed to work with dev-lang/go, so they do not need a dependency
> > on gccgo.
> > 
> > I see gcc-5[go] as a separate Go compiler, but it will always be
> > behind dev-lang/go, so you will have things that build with
> > dev-lang/go but not gccgo. Also, the commands to do the builds are
> > completely different depending on which one you are using.
> 
> This is a lot like the situation with gcc's gcj and the icedtea Java
> JDK. The arguments are quite different so we have a wrapper script
> packaged as gcj-jdk. gcj only supports Java 6(ish?) and there are
> other compatibility issues though so we no longer support it as a
> general purpose JDK. Its only use is for bootstrapping icedtea. Now
> that Java has been open sourced and gcj has fallen so far behind, gcc
> are planning to scrap it so icedtea will need to find another way to
> bootstrap (probably JamVM) if it isn't to rely on prebuilt versions of
> itself.

I am definitely not against the patch to enable gccgo on all platforms.
This actually may make it possible for us to bootstrap dev-lang/go on
all of the platforms gccgo can be built on.

However, the situation with gcj sounds very similar to what is happening
with Go, and I want to take the same approach.

I do not recommend using gccgo as a general-purpose Go compiler. I may
be able to use it to bootstrap the general purpose compiler, which is
dev-lang/go, but That will probably be about it since it will always
be behind.

I am against virtual/go. If you want to enable gccgo go ahead, but
please do not create  virtual/go. Gccgo should only be used in special
cases, for example bootstrapping dev-lang/go.

William


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [gentoo-dev] Re: [PATCH v1] enable gccgo for all platform
  2015-11-02 17:17 [gentoo-dev] [PATCH v1] enable gccgo for all platform Leno Hou
                   ` (2 preceding siblings ...)
  2015-11-03 20:35 ` Zac Medico
@ 2015-11-15  8:34 ` Ryan Hill
  2015-12-21 22:52 ` [gentoo-dev] " William Hubbs
  4 siblings, 0 replies; 13+ messages in thread
From: Ryan Hill @ 2015-11-15  8:34 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1411 bytes --]

On Mon,  2 Nov 2015 12:17:26 -0500
Leno Hou <lenohou@gmail.com> wrote:

> 1. go compiler only support x86 platform
> 2. gcc 5 includes go command to build go apps
> 3. for coreos enablement, it's use gcc 5 to build go apps

> diff --git a/app-admin/consul-template/consul-template-0.9.0-r1.ebuild
> b/app-admin/consul-template/consul-template-0.9.0-r1.ebuild index
> cbc1059..a24ec80 100644 ---
> a/app-admin/consul-template/consul-template-0.9.0-r1.ebuild +++
> b/app-admin/consul-template/consul-template-0.9.0-r1.ebuild @@ -14,7 +14,10
> @@ LICENSE="MPL-2.0" SLOT="0"
>  IUSE="test"
>  
> -DEPEND=">=dev-lang/go-1.4:=  
> +DEPEND="|| (
> +		>=dev-lang/go-1.4:=
> +		>=sys-devel/gcc-5.1.0:=[go]
> +	)
>  	test? ( dev-go/go-tools )
>  	app-admin/consul
>  	app-admin/vault"

You cannot simply have a dependency on gcc like this.  Just because there is a
compiler installed that satisfies the dependency doesn't mean that compiler is
the one currently being used.  I could have gcc 5 with go support installed
while using gcc 6 without go.  You need to either do a compile test or query
the compiler in some way to ensure the needed support is there.  Look at the
fortran virtual and fortran-2 eclass for an example.


-- 
Ryan Hill                        psn: dirtyepic_sk
   gcc-porting/toolchain/wxwidgets @ gentoo.org

47C3 6D62 4864 0E49 8E9E  7F92 ED38 BD49 957A 8463

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 475 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-dev] [PATCH v1] enable gccgo for all platform
  2015-11-02 17:17 [gentoo-dev] [PATCH v1] enable gccgo for all platform Leno Hou
                   ` (3 preceding siblings ...)
  2015-11-15  8:34 ` [gentoo-dev] " Ryan Hill
@ 2015-12-21 22:52 ` William Hubbs
  4 siblings, 0 replies; 13+ messages in thread
From: William Hubbs @ 2015-12-21 22:52 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 83 bytes --]

All,

was this patch ever applied to gcc? If so, which versions?

Thanks,

William

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2015-12-21 22:53 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-02 17:17 [gentoo-dev] [PATCH v1] enable gccgo for all platform Leno Hou
2015-11-02 17:30 ` William Hubbs
2015-11-02 20:12 ` Justin Lecher (jlec)
2015-11-02 22:38   ` William Hubbs
2015-11-03  2:40     ` Leno Hou
2015-11-03  7:45     ` Justin (jlec)
2015-11-03 14:56       ` William Hubbs
2015-11-03 15:09         ` James Le Cuirot
2015-11-04 23:46           ` William Hubbs
2015-11-04  2:41       ` Leno Hou
2015-11-03 20:35 ` Zac Medico
2015-11-15  8:34 ` [gentoo-dev] " Ryan Hill
2015-12-21 22:52 ` [gentoo-dev] " William Hubbs

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox