Inheriting from go-mod didn't make any difference that I could tell.
This is what I have so far for the Tailscale recipe. I'm resolving dependencies with individual Bitbake files that pull in each dependency as I find them.
---------------------------------------------
# tailscale_1.0.5.bb
SUMMARY = "Tailscale client and daemon for Linux"
HOMEPAGE = "github.com/tailscale/tailscale"
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=d995c1c44529856a0f35a5ad43e51cc5"
SRC_URI = "git://github.com/tailscale/tailscale.git;nobranch=1;tag=v${PV}"
DEPENDS += "github.com-apenwarr-fixconsole \
github.com-coreos-go-iptable \
github.com-godbus-dbus \
github.com-golang-groupcache \
github.com-jsimonetti-rtnetlink \
github.com-klauspost-compress \
github.com-mdlayher-netlink \
github.com-pborman-getopt \
github.com-peterbourgon-ff \
github.com-tailscale-wireguard-go \
github.com-tcnksm-go-httpstat \
github.com-toqueteos-webbrowser \
golang.org-x \
go4.org-mem \
inet.af-netaddr \
rsc.io-goversion \
"
inherit go
inherit go-mod
GO_IMPORT = "tailscale.com"
GO_INSTALL = "${GO_IMPORT}/cmd/tailscale"
RDEPENDS_${PN}-dev += "bash"
---------------------------------------------
Unfortunately, the golang.org-x.bb recipe is turning into an endless source of dependencies during do_compile stage. I feel I must be on the wrong track.
Is there a way to package up the following so that just what is needed by Tailscale is included, but dependencies not needed by Tailscale are ignored?
---------------------------------------------
# golang.org-x.bb
DESCRIPTION = "Go X libraries"
SRC_URI = "\
git://github.com/golang/mod.git;protocol=https;name=mod;destsuffix=${PN}-${PV}/src/golang.org/x/mod \
git://github.com/golang/net.git;protocol=https;name=net;destsuffix=${PN}-${PV}/src/golang.org/x/net \
git://github.com/golang/sys.git;protocol=https;name=sys;destsuffix=${PN}-${PV}/src/golang.org/x/sys \
git://github.com/golang/text.git;protocol=https;name=text;destsuffix=${PN}-${PV}/src/golang.org/x/text \
git://github.com/golang/time.git;protocol=https;name=time;destsuffix=${PN}-${PV}/src/golang.org/x/time \
git://github.com/golang/sync.git;protocol=https;name=sync;destsuffix=${PN}-${PV}/src/golang.org/x/sync \
git://github.com/golang/tools.git;protocol=https;name=tools;destsuffix=${PN}-${PV}/src/golang.org/x/tools \
git://github.com/golang/build.git;protocol=https;name=build;destsuffix=${PN}-${PV}/src/golang.org/x/build \
git://github.com/golang/oauth2.git;protocol=https;name=oauth2;destsuffix=${PN}-${PV}/src/golang.org/x/oauth2 \
git://github.com/golang/crypto.git;protocol=https;name=crypto;destsuffix=${PN}-${PV}/src/golang.org/x/crypto \
git://github.com/golang/xerrors.git;protocol=https;name=xerrors;destsuffix=${PN}-${PV}/src/golang.org/x/xerrors \
"
SRCREV_FORMAT = "golang"
SRCREV_mod = "${AUTOREV}"
SRCREV_net = "${AUTOREV}"
SRCREV_sys = "${AUTOREV}"
SRCREV_text = "${AUTOREV}"
SRCREV_time = "${AUTOREV}"
SRCREV_sync = "${AUTOREV}"
SRCREV_tools = "${AUTOREV}"
SRCREV_build = "${AUTOREV}"
SRCREV_oauth2 = "${AUTOREV}"
SRCREV_crypto = "${AUTOREV}"
SRCREV_xerrors = "${AUTOREV}"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit go
GO_IMPORT = "golang.org/x"
---------------------------------------------
Thanks,
Mike Thompson