From c1476b82965ce0e9f32e758dd3e761ae2c9401a9 Mon Sep 17 00:00:00 2001 From: coolsnowwolf Date: Sat, 6 Apr 2019 20:19:25 +0800 Subject: [PATCH] golang: update to v1.12 --- .../golang/golang-github-agl-ed25519/Makefile | 47 ++++++++++++++ .../golang-github-dchest-siphash/Makefile | 46 ++++++++++++++ lang/golang/golang-golang-x-crypto/Makefile | 47 ++++++++++++++ lang/golang/golang-golang-x-net/Makefile | 58 +++++++++++++++++ lang/golang/golang-golang-x-sys/Makefile | 46 ++++++++++++++ lang/golang/golang-golang-x-text/Makefile | 47 ++++++++++++++ lang/golang/golang-package.mk | 63 ++++++++++++++++--- .../Makefile | 45 +++++++++++++ lang/golang/golang-values.mk | 12 ++-- lang/golang/golang-version.mk | 4 +- lang/golang/golang/Makefile | 6 +- 11 files changed, 405 insertions(+), 16 deletions(-) create mode 100644 lang/golang/golang-github-agl-ed25519/Makefile create mode 100644 lang/golang/golang-github-dchest-siphash/Makefile create mode 100644 lang/golang/golang-golang-x-crypto/Makefile create mode 100644 lang/golang/golang-golang-x-net/Makefile create mode 100644 lang/golang/golang-golang-x-sys/Makefile create mode 100644 lang/golang/golang-golang-x-text/Makefile create mode 100644 lang/golang/golang-torproject-pluggable-transports-goptlib/Makefile diff --git a/lang/golang/golang-github-agl-ed25519/Makefile b/lang/golang/golang-github-agl-ed25519/Makefile new file mode 100644 index 00000000..70b500b1 --- /dev/null +++ b/lang/golang/golang-github-agl-ed25519/Makefile @@ -0,0 +1,47 @@ +# +# Copyright (C) 2018 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=golang-github-agl-ed25519 +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/agl/ed25519.git +PKG_SOURCE_VERSION:=5312a61534124124185d41f09206b9fef1d88403 +PKG_SOURCE_DATE:=20170117 +PKG_MIRROR_HASH:=be9e9223e7a15f4c12d9f652f5a50a59c01fd1f87ee73bea0ebfd661b5a7ca9c + +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_BUILD_DEPENDS:=golang/host +PKG_BUILD_PARALLEL:=1 + +GO_PKG:=github.com/agl/ed25519 +GO_PKG_SOURCE_ONLY:=1 + +include $(INCLUDE_DIR)/package.mk +include ../golang-package.mk + +define Package/golang-github-agl-ed25519-dev +$(call GoPackage/GoSubMenu) + TITLE:=Ed25519 signature algorithm for Go + URL:=https://github.com/agl/ed25519 + DEPENDS:=$(GO_ARCH_DEPENDS) \ + +golang-golang-x-crypto-dev + PKGARCH:=all +endef + +define Package/golang-github-agl-ed25519-dev/description +Ed25519 is a public-key signature system based on elliptic-curve +cryptography. +endef + +$(eval $(call GoSrcPackage,golang-github-agl-ed25519-dev)) +$(eval $(call BuildPackage,golang-github-agl-ed25519-dev)) diff --git a/lang/golang/golang-github-dchest-siphash/Makefile b/lang/golang/golang-github-dchest-siphash/Makefile new file mode 100644 index 00000000..1c8404dd --- /dev/null +++ b/lang/golang/golang-github-dchest-siphash/Makefile @@ -0,0 +1,46 @@ +# +# Copyright (C) 2018 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=golang-github-dchest-siphash +PKG_VERSION:=1.2.1 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/dchest/siphash/tar.gz/v$(PKG_VERSION)? +PKG_HASH:=90c5e8ba62b64b2f76ed58c87dd50456171610049bef51fd71bc593c1744fad2 +PKG_BUILD_DIR:=$(BUILD_DIR)/siphash-$(PKG_VERSION) + +PKG_MAINTAINER:=Jeffery To +PKG_LICENSE:=CC0-1.0 +PKG_LICENSE_FILES:=README.md + +PKG_BUILD_DEPENDS:=golang/host +PKG_BUILD_PARALLEL:=1 + +GO_PKG:=github.com/dchest/siphash +GO_PKG_SOURCE_ONLY:=1 + +include $(INCLUDE_DIR)/package.mk +include ../golang-package.mk + +define Package/golang-github-dchest-siphash-dev +$(call GoPackage/GoSubMenu) + TITLE:=Go implementation of SipHash-2-4 + URL:=https://github.com/dchest/siphash + DEPENDS:=$(GO_ARCH_DEPENDS) + PKGARCH:=all +endef + +define Package/golang-github-dchest-siphash-dev/description +SipHash-2-4 is a pseudorandom function (a.k.a. keyed hash function) +optimized for speed on short messages. +endef + +$(eval $(call GoSrcPackage,golang-github-dchest-siphash-dev)) +$(eval $(call BuildPackage,golang-github-dchest-siphash-dev)) diff --git a/lang/golang/golang-golang-x-crypto/Makefile b/lang/golang/golang-golang-x-crypto/Makefile new file mode 100644 index 00000000..e787e04c --- /dev/null +++ b/lang/golang/golang-golang-x-crypto/Makefile @@ -0,0 +1,47 @@ +# +# Copyright (C) 2018 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=golang-golang-x-crypto +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/golang/crypto.git +PKG_SOURCE_VERSION:=a49355c7e3f8fe157a85be2f77e6e269a0f89602 +PKG_SOURCE_DATE:=20180620 +PKG_MIRROR_HASH:=80b16b203736ac56883d0610edbc5981eb78f15b7b35d11b5ca639f7c3814214 + +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_BUILD_DEPENDS:=golang/host +PKG_BUILD_PARALLEL:=1 + +GO_PKG:=golang.org/x/crypto +GO_PKG_SOURCE_ONLY:=1 + +include $(INCLUDE_DIR)/package.mk +include ../golang-package.mk + +define Package/golang-golang-x-crypto-dev +$(call GoPackage/GoSubMenu) + TITLE:=Go supplementary cryptography libraries + URL:=https://godoc.org/golang.org/x/crypto + DEPENDS:=$(GO_ARCH_DEPENDS) \ + +golang-golang-x-net-dev \ + +golang-golang-x-sys-dev + PKGARCH:=all +endef + +define Package/golang-golang-x-crypto-dev/description +Supplementary Go cryptography libraries. +endef + +$(eval $(call GoSrcPackage,golang-golang-x-crypto-dev)) +$(eval $(call BuildPackage,golang-golang-x-crypto-dev)) diff --git a/lang/golang/golang-golang-x-net/Makefile b/lang/golang/golang-golang-x-net/Makefile new file mode 100644 index 00000000..979d9be7 --- /dev/null +++ b/lang/golang/golang-golang-x-net/Makefile @@ -0,0 +1,58 @@ +# +# Copyright (C) 2018 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=golang-golang-x-net +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/golang/net.git +PKG_SOURCE_VERSION:=afe8f62b1d6bbd81f31868121a50b06d8188e1f9 +PKG_SOURCE_DATE:=20180620 +PKG_MIRROR_HASH:=9a8bb3bf21ea60121d7e87f1bd1af9effbdcd908f758be99457653172d13eb1e + +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_BUILD_DEPENDS:=golang/host +PKG_BUILD_PARALLEL:=1 + +GO_PKG:=golang.org/x/net +# exclude http2/h2i to break circular dependency with golang-golang-x-crypto-dev +# since there are no other binaries, can skip compilation +GO_PKG_SOURCE_ONLY:=1 + +include $(INCLUDE_DIR)/package.mk +include ../golang-package.mk + +define Package/golang-golang-x-net-dev +$(call GoPackage/GoSubMenu) + TITLE:=Go supplementary network libraries + URL:=https://godoc.org/golang.org/x/net + DEPENDS:=$(GO_ARCH_DEPENDS) +golang-golang-x-text-dev + PKGARCH:=all +endef + +define Package/golang-golang-x-net-dev/description +Supplementary Go networking libraries. +endef + +# http2/testdata/draft-ietf-httpbis-http2.xml is a non-free document +# http2/z_spec_test.go uses http2/testdata/draft-ietf-httpbis-http2.xml +define Package/golang-golang-x-net-dev/install + $(call GoPackage/Package/Install/Src,$(1)) + + rm -f $(1)$(GO_PKG_PATH)/src/$(GO_PKG)/http2/testdata/draft-ietf-httpbis-http2.xml + rmdir $(1)$(GO_PKG_PATH)/src/$(GO_PKG)/http2/testdata/ + + rm -f $(1)$(GO_PKG_PATH)/src/$(GO_PKG)/http2/z_spec_test.go +endef + +$(eval $(call GoSrcPackage,golang-golang-x-net-dev)) +$(eval $(call BuildPackage,golang-golang-x-net-dev)) diff --git a/lang/golang/golang-golang-x-sys/Makefile b/lang/golang/golang-golang-x-sys/Makefile new file mode 100644 index 00000000..5350f3cb --- /dev/null +++ b/lang/golang/golang-golang-x-sys/Makefile @@ -0,0 +1,46 @@ +# +# Copyright (C) 2018 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=golang-golang-x-sys +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/golang/sys.git +PKG_SOURCE_VERSION:=63fc586f45fe72d95d5240a5d5eb95e6503907d3 +PKG_SOURCE_DATE:=20180621 +PKG_MIRROR_HASH:=3afe7936fb9fb291ef9b9cfa88f51576cdc19abbd34240232ce284958ac7dbaf + +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_BUILD_DEPENDS:=golang/host +PKG_BUILD_PARALLEL:=1 + +GO_PKG:=golang.org/x/sys +GO_PKG_SOURCE_ONLY:=1 + +include $(INCLUDE_DIR)/package.mk +include ../golang-package.mk + +define Package/golang-golang-x-sys-dev +$(call GoPackage/GoSubMenu) + TITLE:=Go packages for interaction with the OS + URL:=https://godoc.org/golang.org/x/sys + DEPENDS:=$(GO_ARCH_DEPENDS) + PKGARCH:=all +endef + +define Package/golang-golang-x-sys-dev/description +Supplementary Go packages for low-level interactions with the operating +system. +endef + +$(eval $(call GoSrcPackage,golang-golang-x-sys-dev)) +$(eval $(call BuildPackage,golang-golang-x-sys-dev)) diff --git a/lang/golang/golang-golang-x-text/Makefile b/lang/golang/golang-golang-x-text/Makefile new file mode 100644 index 00000000..e3b1120b --- /dev/null +++ b/lang/golang/golang-golang-x-text/Makefile @@ -0,0 +1,47 @@ +# +# Copyright (C) 2018 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=golang-golang-x-text +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/golang/text.git +PKG_SOURCE_VERSION:=5cec4b58c438bd98288aeb248bab2c1840713d21 +PKG_SOURCE_DATE:=20180520 +PKG_MIRROR_HASH:=6c541a59f32f57afa54a2216045ddf16a077f8fe2e823fbbe77723eca04ddddb + +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_BUILD_DEPENDS:=golang/host +PKG_BUILD_PARALLEL:=1 + +GO_PKG:=golang.org/x/text +# exclude gotext (and message/pipeline) to avoid dependency on golang.org/x/tools +# since there are no other binaries, can skip compilation +GO_PKG_SOURCE_ONLY:=1 + +include $(INCLUDE_DIR)/package.mk +include ../golang-package.mk + +define Package/golang-golang-x-text-dev +$(call GoPackage/GoSubMenu) + TITLE:=Go text processing support + URL:=https://godoc.org/golang.org/x/text + DEPENDS:=$(GO_ARCH_DEPENDS) + PKGARCH:=all +endef + +define Package/golang-golang-x-text-dev/description +Supplementary Go libraries for text processing, many involving Unicode. +endef + +$(eval $(call GoSrcPackage,golang-golang-x-text-dev)) +$(eval $(call BuildPackage,golang-golang-x-text-dev)) diff --git a/lang/golang/golang-package.mk b/lang/golang/golang-package.mk index 3c4aeab1..7522a9f4 100644 --- a/lang/golang/golang-package.mk +++ b/lang/golang/golang-package.mk @@ -28,10 +28,12 @@ include $(GO_INCLUDE_DIR)/golang-values.mk # files are installed: # # * Files with one of these extensions: -# .go, .c, .cc, .h, .hh, .proto, .s +# .go, .c, .cc, .cpp, .h, .hh, .hpp, .proto, .s # # * Files in any 'testdata' directory # +# * go.mod and go.sum, in any directory +# # e.g. GO_PKG_INSTALL_EXTRA:=example.toml marshal_test.toml # # @@ -74,10 +76,32 @@ include $(GO_INCLUDE_DIR)/golang-values.mk # not necessary. # # e.g. GO_PKG_GO_GENERATE:=1 +# +# +# GO_PKG_GCFLAGS - list of arguments, default empty +# +# Additional go tool compile arguments to use when building targets. +# +# e.g. GO_PKG_GCFLAGS:=-N -l +# +# +# GO_PKG_LDFLAGS - list of arguments, default empty +# +# Additional go tool link arguments to use when building targets. +# +# e.g. GO_PKG_LDFLAGS:=-s -w +# +# +# GO_PKG_LDFLAGS_X - list of string variable definitions, default empty +# +# Each definition will be passed as the parameter to the -X go tool +# link argument, i.e. -ldflags "-X importpath.name=value" +# +# e.g. GO_PKG_LDFLAGS_X:=main.Version=$(PKG_VERSION) main.BuildStamp=$(SOURCE_DATE_EPOCH) # Credit for this package build process (GoPackage/Build/Configure and # GoPackage/Build/Compile) belong to Debian's dh-golang completely. -# https://anonscm.debian.org/cgit/pkg-go/packages/dh-golang.git +# https://salsa.debian.org/go-team/packages/dh-golang # for building packages, not user code @@ -129,6 +153,7 @@ define GoPackage/Environment GO386=$(GO_386) \ GOARM=$(GO_ARM) \ GOMIPS=$(GO_MIPS) \ + GOMIPS64=$(GO_MIPS64) \ CGO_ENABLED=1 \ CGO_CFLAGS="$(filter-out $(GO_CFLAGS_TO_REMOVE),$(TARGET_CFLAGS))" \ CGO_CPPFLAGS="$(TARGET_CPPFLAGS)" \ @@ -152,17 +177,20 @@ define GoPackage/Build/Configure sed 's|^\./||') ; \ \ if [ "$(GO_PKG_INSTALL_ALL)" != 1 ]; then \ - code=$$$$(echo "$$$$files" | grep '\.\(c\|cc\|go\|h\|hh\|proto\|s\)$$$$') ; \ + code=$$$$(echo "$$$$files" | grep '\.\(c\|cc\|cpp\|go\|h\|hh\|hpp\|proto\|s\)$$$$') ; \ testdata=$$$$(echo "$$$$files" | grep '\(^\|/\)testdata/') ; \ + gomod=$$$$(echo "$$$$files" | grep '\(^\|/\)go\.\(mod\|sum\)$$$$') ; \ \ for pattern in $(GO_PKG_INSTALL_EXTRA); do \ extra=$$$$(echo "$$$$extra"; echo "$$$$files" | grep "$$$$pattern") ; \ done ; \ \ - files=$$$$(echo "$$$$code"; echo "$$$$testdata"; echo "$$$$extra") ; \ + files=$$$$(echo "$$$$code"; echo "$$$$testdata"; echo "$$$$gomod"; echo "$$$$extra") ; \ files=$$$$(echo "$$$$files" | grep -v '^[[:space:]]*$$$$' | sort -u) ; \ fi ; \ \ + IFS=$$$$'\n' ; \ + \ echo "Copying files from $(PKG_BUILD_DIR) into $(GO_PKG_BUILD_DIR)/src/$(GO_PKG)" ; \ for file in $$$$files; do \ echo $$$$file ; \ @@ -170,6 +198,7 @@ define GoPackage/Build/Configure mkdir -p $$$$(dirname $$$$dest) ; \ $(CP) $$$$file $$$$dest ; \ done ; \ + echo ; \ \ link_contents() { \ local src=$$$$1 ; \ @@ -208,6 +237,7 @@ define GoPackage/Build/Configure else \ echo "Not building binaries, skipping symlinks" ; \ fi ; \ + echo ; \ ) endef @@ -223,35 +253,54 @@ define GoPackage/Build/Compile CXX=$(TARGET_CXX) \ $(call GoPackage/Environment) ; \ \ + echo "Finding targets" ; \ targets=$$$$(go list $(GO_PKG_BUILD_PKG)) ; \ for pattern in $(GO_PKG_EXCLUDES); do \ targets=$$$$(echo "$$$$targets" | grep -v "$$$$pattern") ; \ done ; \ + echo ; \ \ if [ "$(GO_PKG_GO_GENERATE)" = 1 ]; then \ + echo "Calling go generate" ; \ go generate -v $(1) $$$$targets ; \ + echo ; \ fi ; \ \ if [ "$(GO_PKG_SOURCE_ONLY)" != 1 ]; then \ + echo "Building targets" ; \ case $(GO_ARCH) in \ - arm) installsuffix="-installsuffix v$(GO_ARM)" ;; \ - mips|mipsle) installsuffix="-installsuffix $(GO_MIPS)" ;; \ + arm) installsuffix="v$(GO_ARM)" ;; \ + mips|mipsle) installsuffix="$(GO_MIPS)" ;; \ + mips64|mips64le) installsuffix="$(GO_MIPS64)" ;; \ esac ; \ trimpath="all=-trimpath=$(GO_PKG_BUILD_DIR)" ; \ ldflags="all=-linkmode external -extldflags '$(TARGET_LDFLAGS)'" ; \ + pkg_gcflags="$(GO_PKG_GCFLAGS)" ; \ + pkg_ldflags="$(GO_PKG_LDFLAGS)" ; \ + for def in $(GO_PKG_LDFLAGS_X); do \ + pkg_ldflags="$$$$pkg_ldflags -X $$$$def" ; \ + done ; \ go install \ - $$$$installsuffix \ + $$$${installsuffix:+-installsuffix $$$$installsuffix} \ -gcflags "$$$$trimpath" \ -asmflags "$$$$trimpath" \ -ldflags "$$$$ldflags" \ -v \ + $$$${pkg_gcflags:+-gcflags "$$$$pkg_gcflags"} \ + $$$${pkg_ldflags:+-ldflags "$$$$pkg_ldflags"} \ $(1) \ $$$$targets ; \ retval=$$$$? ; \ + echo ; \ \ if [ "$$$$retval" -eq 0 ] && [ -z "$(call GoPackage/has_binaries)" ]; then \ echo "No binaries were generated, consider adding GO_PKG_SOURCE_ONLY:=1 to Makefile" ; \ + echo ; \ fi ; \ + \ + echo "Cleaning module download cache (golang/go#27455)" ; \ + go clean -modcache ; \ + echo ; \ fi ; \ exit $$$$retval ; \ ) diff --git a/lang/golang/golang-torproject-pluggable-transports-goptlib/Makefile b/lang/golang/golang-torproject-pluggable-transports-goptlib/Makefile new file mode 100644 index 00000000..6457408b --- /dev/null +++ b/lang/golang/golang-torproject-pluggable-transports-goptlib/Makefile @@ -0,0 +1,45 @@ +# +# Copyright (C) 2018 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=golang-torproject-pluggable-transports-goptlib +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://git.torproject.org/pluggable-transports/goptlib.git +PKG_SOURCE_VERSION:=7d56ec4f381e8b1aedfda360594e35a5731b5337 +PKG_SOURCE_DATE:=20180320 +PKG_MIRROR_HASH:=ec28d8882e031046efd561764e1b9119376844a1c3d4941e038cfbe32e60b058 + +PKG_LICENSE:=CC0-1.0 +PKG_LICENSE_FILES:=COPYING +PKG_MAINTAINER:=Jeffery To + +PKG_BUILD_DEPENDS:=golang/host +PKG_BUILD_PARALLEL:=1 + +GO_PKG:=git.torproject.org/pluggable-transports/goptlib.git +GO_PKG_SOURCE_ONLY:=1 + +include $(INCLUDE_DIR)/package.mk +include ../golang-package.mk + +define Package/golang-torproject-pluggable-transports-goptlib-dev +$(call GoPackage/GoSubMenu) + TITLE:=Tor pluggable transports library for Go + URL:=https://gitweb.torproject.org/pluggable-transports/goptlib.git/ + DEPENDS:=$(GO_ARCH_DEPENDS) + PKGARCH:=all +endef + +define Package/golang-torproject-pluggable-transports-goptlib-dev/description +goptlib is a library for writing Tor pluggable transports in Go. +endef + +$(eval $(call GoSrcPackage,golang-torproject-pluggable-transports-goptlib-dev)) +$(eval $(call BuildPackage,golang-torproject-pluggable-transports-goptlib-dev)) diff --git a/lang/golang/golang-values.mk b/lang/golang/golang-values.mk index 13763e36..78ad1b3d 100644 --- a/lang/golang/golang-values.mk +++ b/lang/golang/golang-values.mk @@ -13,14 +13,16 @@ include $(GO_INCLUDE_DIR)/golang-version.mk unexport \ - GOARCH GOBIN GOCACHE GODEBUG GOHOSTARCH GOOS GOPATH GORACE GOROOT GOTMPDIR GCCGO \ + GOARCH GOBIN GOCACHE GOFLAGS GOHOSTARCH GOOS GOPATH GORACE GOROOT GOTMPDIR GCCGO \ + GOGC GODEBUG GOMAXPROCS GOTRACEBACK \ CGO_ENABLED \ CGO_CFLAGS CGO_CFLAGS_ALLOW CGO_CFLAGS_DISALLOW \ CGO_CPPFLAGS CGO_CPPFLAGS_ALLOW CGO_CPPFLAGS_DISALLOW \ CGO_CXXFLAGS CGO_CXXFLAGS_ALLOW CGO_CXXFLAGS_DISALLOW \ CGO_FFLAGS CGO_FFLAGS_ALLOW CGO_FFLAGS_DISALLOW \ CGO_LDFLAGS CGO_LDFLAGS_ALLOW CGO_LDFLAGS_DISALLOW \ - GOARM GO386 GOMIPS \ + GOARM GO386 GOMIPS GOMIPS64 \ + GO111MODULE \ GOROOT_FINAL GO_EXTLINK_ENABLED GIT_ALLOW_PROTOCOL \ CC_FOR_TARGET CXX_FOR_TARGET GO_DISTFLAGS GO_GCFLAGS GO_LDFLAGS GOBUILDTIMELOGFILE GOROOT_BOOTSTRAP \ BOOT_GO_GCFLAGS GOEXPERIMENT GOBOOTSTRAP_TOOLEXEC @@ -57,15 +59,15 @@ GO_ARM:=$(if $(CONFIG_arm_v7),7,$(if $(CONFIG_arm_v6),6,$(if $(findstring $(GO_A GO_MIPS:=$(if $(filter $(GO_ARCH),mips mipsle),$(if $(CONFIG_HAS_FPU),hardfloat,softfloat),) +GO_MIPS64:=$(if $(filter $(GO_ARCH),mips64 mips64le),$(if $(CONFIG_HAS_FPU),hardfloat,softfloat),) + # -fno-plt: causes "unexpected GOT reloc for non-dynamic symbol" errors # -mips32r2: conflicts with -march=mips32 set by go GO_CFLAGS_TO_REMOVE:=$(if \ $(filter $(GO_ARCH),386),-fno-plt,$(if \ $(filter $(GO_ARCH),mips mipsle),-mips32r2,)) -# mips64 / mips64el doesn't have softfloat support yet -# https://github.com/golang/go/issues/14635 -GO_ARCH_DEPENDS:=@(aarch64||arm||i386||i686||mips||mipsel||powerpc64||x86_64) +GO_ARCH_DEPENDS:=@(aarch64||arm||i386||i686||mips||mips64||mips64el||mipsel||powerpc64||x86_64) GO_TARGET_PREFIX:=/usr GO_TARGET_VERSION_ID:=$(GO_VERSION_MAJOR_MINOR) diff --git a/lang/golang/golang-version.mk b/lang/golang/golang-version.mk index 27184b7d..e2589486 100644 --- a/lang/golang/golang-version.mk +++ b/lang/golang/golang-version.mk @@ -10,5 +10,5 @@ ifeq ($(origin GO_INCLUDE_DIR),undefined) endif -GO_VERSION_MAJOR_MINOR:=1.10 -GO_VERSION_PATCH:=3 +GO_VERSION_MAJOR_MINOR:=1.12 +GO_VERSION_PATCH:=1 diff --git a/lang/golang/golang/Makefile b/lang/golang/golang/Makefile index 898b1db9..94522055 100644 --- a/lang/golang/golang/Makefile +++ b/lang/golang/golang/Makefile @@ -10,7 +10,7 @@ include ../golang-version.mk PKG_NAME:=golang PKG_VERSION:=$(GO_VERSION_MAJOR_MINOR)$(if $(GO_VERSION_PATCH),.$(GO_VERSION_PATCH)) -PKG_RELEASE:=2 +PKG_RELEASE:=1 GO_SOURCE_URLS:=https://dl.google.com/go/ \ https://mirrors.ustc.edu.cn/golang/ \ @@ -18,7 +18,7 @@ GO_SOURCE_URLS:=https://dl.google.com/go/ \ PKG_SOURCE:=go$(PKG_VERSION).src.tar.gz PKG_SOURCE_URL:=$(GO_SOURCE_URLS) -PKG_HASH:=567b1cc66c9704d1c019c50bef946272e911ec6baf244310f87f4e678be155f2 +PKG_HASH:=0be127684df4b842a64e58093154f9d15422f1405f1fcff4b2c36ffc6a15818a PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE @@ -180,6 +180,8 @@ endef # when go compiles a program, it will use the host std lib # so remove it now and force go to rebuild std for target later define Host/Install + $(call Host/Uninstall) + $(call GoCompiler/Host/Install/Bin,) $(call GoCompiler/Host/Install/Src,)