Add a go example recipe with cgo enabled. This is for covering
go reproducibility with cgo enabled. Related to the following commit [1]:
[0642d23230 go.bbclass: change GOTMPDIR to improve reproducibility]

[1] 
https://git.openembedded.org/openembedded-core/commit/?id=0642d2323072f561a4d0eeb9266213387b2997fc

[YOCTO #16100]

Signed-off-by: Changqing Li <[email protected]>
---
 meta/conf/distro/include/maintainers.inc      |  1 +
 .../cgo-helloworld/cgo-helloworld.go          |  9 ++++++++
 .../go-examples/cgo-helloworld_1.0.bb         | 23 +++++++++++++++++++
 3 files changed, 33 insertions(+)
 create mode 100644 
meta/recipes-extended/go-examples/cgo-helloworld/cgo-helloworld.go
 create mode 100644 meta/recipes-extended/go-examples/cgo-helloworld_1.0.bb

diff --git a/meta/conf/distro/include/maintainers.inc 
b/meta/conf/distro/include/maintainers.inc
index 24c5a9d712..b72cbe7c93 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -97,6 +97,7 @@ RECIPE_MAINTAINER:pn-cargo = "Randy MacLeod 
<[email protected]>"
 RECIPE_MAINTAINER:pn-cargo-c = "Deepesh Varatharajan 
<[email protected]>"
 RECIPE_MAINTAINER:pn-ccache = "Robert Yang <[email protected]>"
 RECIPE_MAINTAINER:pn-cdrtools-native = "Yi Zhao <[email protected]>"
+RECIPE_MAINTAINER:pn-cgo-helloworld = "Changqing Li 
<[email protected]>"
 RECIPE_MAINTAINER:pn-chrpath = "Yi Zhao <[email protected]>"
 RECIPE_MAINTAINER:pn-clang = "Khem Raj <[email protected]>"
 RECIPE_MAINTAINER:pn-clang-cross-${TARGET_ARCH} = "Khem Raj 
<[email protected]>"
diff --git a/meta/recipes-extended/go-examples/cgo-helloworld/cgo-helloworld.go 
b/meta/recipes-extended/go-examples/cgo-helloworld/cgo-helloworld.go
new file mode 100644
index 0000000000..4eb052a09e
--- /dev/null
+++ b/meta/recipes-extended/go-examples/cgo-helloworld/cgo-helloworld.go
@@ -0,0 +1,9 @@
+package main
+
+// #include <stdio.h>
+// void hello() { printf("Hello, World!\n"); }
+import "C"
+
+func main() {
+       C.hello()
+}
diff --git a/meta/recipes-extended/go-examples/cgo-helloworld_1.0.bb 
b/meta/recipes-extended/go-examples/cgo-helloworld_1.0.bb
new file mode 100644
index 0000000000..9ca1e16c7a
--- /dev/null
+++ b/meta/recipes-extended/go-examples/cgo-helloworld_1.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "A simple CGO example that calls C to print hello world"
+SECTION = "examples"
+HOMEPAGE = "https://golang.org/";
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = 
"file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI = "file://cgo-helloworld.go"
+
+S = "${UNPACKDIR}"
+
+GO_IMPORT = "cgo-helloworld"
+GO_INSTALL = "${GO_IMPORT}"
+
+inherit go
+
+export GO111MODULE = "off"
+export CGO_ENABLED = "1"
+
+do_configure:prepend() {
+    mkdir -p ${S}/src/${GO_IMPORT}
+    cp ${UNPACKDIR}/cgo-helloworld.go ${S}/src/${GO_IMPORT}/main.go
+}
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#237063): 
https://lists.openembedded.org/g/openembedded-core/message/237063
Mute This Topic: https://lists.openembedded.org/mt/119324500/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to