Browse Source

add new package hugo, this requires google go. logic mostly from buildroot

Waldemar Brodkorb 7 years ago
parent
commit
ee4fdb76d5
4 changed files with 184 additions and 0 deletions
  1. 34 0
      mk/go.mk
  2. 44 0
      package/go-bootstrap/Makefile
  3. 69 0
      package/go/Makefile
  4. 37 0
      package/hugo/Makefile

+ 34 - 0
mk/go.mk

@@ -0,0 +1,34 @@
+ifeq ($(ADK_TARGET_ARCH_ARM),y)
+ADK_GO_ARCH:=		aarch64
+endif
+ifeq ($(ADK_TARGET_ARCH_ARM),y)
+ADK_GO_ARCH:=		arm
+endif
+ifeq ($(ADK_TARGET_ARCH_MIPS),y)
+ADK_GO_ARCH:=		mips
+endif
+ifeq ($(ADK_TARGET_ARCH_MIPS64),y)
+ADK_GO_ARCH:=		mips64
+endif
+ifeq ($(ADK_TARGET_ARCH_PPC64),y)
+ADK_GO_ARCH:=		ppc64
+endif
+ifeq ($(ADK_TARGET_ARCH_X86),y)
+ADK_GO_ARCH:=		i386
+endif
+ifeq ($(ADK_TARGET_ARCH_X86_64),y)
+ADK_GO_ARCH:=		amd64
+endif
+ADK_GO_ROOT:=		$(STAGING_HOST_DIR)/usr/lib/go
+ADK_GO_PATH:=		$(STAGING_HOST_DIR)/usr/lib/gopath
+ADK_GO_BINPATH:=	$(ADK_GO_PATH)/bin/linux_$(ADK_GO_ARCH)
+ADK_GO_TOOLDIR:=	$(ADK_GO_ROOT)/pkg/tool/linux_$(ADK_GO_ARCH)
+ADK_GO:=		$(ADK_GO_ROOT)/bin/go
+ADK_GO_TARGET_ENV:=	CGO_ENABLED=1 \
+		        GOARCH=$(ADK_GO_ARCH) \
+		        GOROOT="$(ADK_GO_ROOT)" \
+			GOPATH="$(ADK_GO_PATH)" \
+		        CC="$(TARGET_CC)" \
+		        CXX="$(TARGET_CXX)" \
+		        GOTOOLDIR="$(ADK_GO_TOOLDIR)"
+

+ 44 - 0
package/go-bootstrap/Makefile

@@ -0,0 +1,44 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:=		go-bootstrap
+PKG_VERSION:=		1.4.3
+PKG_RELEASE:=		1
+PKG_HASH:=		9947fc705b0b841b5938c48b22dc33e9647ec0752bae66e50278df4f23f64959
+PKG_DESCR:=		go bootstrap compiler
+PKG_SECTION:=		dev/tools
+PKG_URL:=		http://www.golang.org/
+PKG_SITES:=		https://storage.googleapis.com/golang/
+
+PKG_CFLINE_GO_BOOTSTRAP:=	depends on ADK_HOST_ONLY
+
+DISTFILES:=		go$(PKG_VERSION).src.tar.gz
+WRKDIST=		${WRKDIR}/go/src
+
+include $(ADK_TOPDIR)/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,GO_BOOTSTRAP,go-bootstrap,$(PKG_VERSION)-${PKG_RELEASE}))
+
+HOST_STYLE:=		manual
+HOST_MAKE_ENV+=		GOOS=linux \
+			GOROOT="$(WRKBUILD)" \
+			GOBIN="$(WRKBUILD)/bin" \
+			GOROOT_FINAL="$(STAGING_HOST_DIR)/usr/lib/go-bootstrap" \
+			CGO_ENABLED=0
+
+host-build:
+	(cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ./make.bash)
+
+go-bootstrap-hostinstall:
+	$(INSTALL_DIR) $(STAGING_HOST_DIR)/usr/lib/go-bootstrap/bin
+	$(CP) $(WRKBUILD)/../lib $(STAGING_HOST_DIR)/usr/lib/go-bootstrap
+	$(CP) $(WRKBUILD)/../pkg $(STAGING_HOST_DIR)/usr/lib/go-bootstrap
+	$(CP) $(WRKBUILD)/../src $(STAGING_HOST_DIR)/usr/lib/go-bootstrap
+	$(INSTALL_BIN) $(WRKBUILD)/bin/go $(STAGING_HOST_DIR)/usr/lib/go-bootstrap/bin
+	$(INSTALL_BIN) $(WRKBUILD)/bin/gofmt $(STAGING_HOST_DIR)/usr/lib/go-bootstrap/bin
+
+include ${ADK_TOPDIR}/mk/host-bottom.mk
+include ${ADK_TOPDIR}/mk/pkg-bottom.mk

+ 69 - 0
package/go/Makefile

@@ -0,0 +1,69 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:=		go
+PKG_VERSION:=		1.8
+PKG_RELEASE:=		1
+PKG_HASH:=		406865f587b44be7092f206d73fc1de252600b79b3cacc587b74b5ef5c623596
+PKG_DESCR:=		go compiler and tools
+PKG_SECTION:=		dev/lang
+HOST_BUILDDEP:=		go-bootstrap-host
+PKG_URL:=		http://www.golang.org
+PKG_SITES:=		https://storage.googleapis.com/golang/
+
+PKG_ARCH_DEPENDS:=	aarch64 arm mips mips64 ppc64 x86 x86_64
+
+PKG_CFLINE_GO:=		depends on ADK_HOST_ONLY
+
+DISTFILES:=             $(PKG_NAME)$(PKG_VERSION).src.tar.gz
+WRKDIST=		${WRKDIR}/go/src
+
+include $(ADK_TOPDIR)/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,GO,go,$(PKG_VERSION)-${PKG_RELEASE}))
+
+HOST_STYLE:=		manual
+
+include $(ADK_TOPDIR)/mk/go.mk
+
+ADK_GO_BOOTSTRAP:=	$(STAGING_HOST_DIR)/usr/lib/go-bootstrap
+ADK_GO_TEMP:=		$(WRKBUILD)/go-temp
+ADK_GO_HOST_ENV:=	GOROOT_BOOTSTRAP="$(ADK_GO_BOOTSTRAP)" \
+			GOROOT_FINAL="$(ADK_GO_ROOT)" \
+			GOROOT="$(WRKBUILD)" \
+			GOBIN="$(WRKBUILD)/bin" \
+			GOARCH=$(ADK_GO_ARCH) \
+			GOOS=linux
+
+host-build:
+	(cd $(WRKBUILD) && \
+		CGO_ENABLED=0 \
+		CC_FOR_TARGET=$(HOST_CC) \
+		CXX_FOR_TARGET=$(HOST_CXX) \
+		$(ADK_GO_HOST_ENV) ./make.bash)
+	mkdir -p $(ADK_GO_TEMP)
+	mv $(WRKBUILD)/../pkg/tool $(ADK_GO_TEMP)
+	mv $(WRKBUILD)/../bin $(ADK_GO_TEMP)
+	(cd $(WRKBUILD) && \
+		CGO_ENABLED=1 \
+		CC_FOR_TARGET=$(TARGET_CC) \
+		CXX_FOR_TARGET=$(TARGET_CXX) \
+		$(ADK_GO_HOST_ENV) ./make.bash)
+
+go-hostinstall:
+	$(INSTALL_DIR) $(ADK_GO_ROOT)/bin
+	$(INSTALL_BIN) $(ADK_GO_TEMP)/bin/{go,gofmt} $(ADK_GO_ROOT)/bin
+	ln -sf ../lib/go/bin/go $(STAGING_HOST_DIR)/usr/bin/
+	ln -sf ../lib/go/bin/gofmt $(STAGING_HOST_DIR)/usr/bin/
+	$(CP) $(WRKBUILD)/../lib $(ADK_GO_ROOT)
+	$(INSTALL_DIR) $(ADK_GO_ROOT)/pkg
+	$(CP) $(WRKBUILD)/../pkg/include $(ADK_GO_ROOT)/pkg
+	$(CP) $(WRKBUILD)/../pkg/linux_* $(ADK_GO_ROOT)/pkg
+	$(CP) $(ADK_GO_TEMP)/tool $(ADK_GO_ROOT)/pkg
+	$(CP) $(WRKBUILD)/../src $(ADK_GO_ROOT)
+	
+include ${ADK_TOPDIR}/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk

+ 37 - 0
package/hugo/Makefile

@@ -0,0 +1,37 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:=		hugo
+PKG_VERSION:=		0.18.1
+PKG_RELEASE:=		1
+PKG_HASH:=		29db2524a3042f507162164ec3ce9071277a7608547f4ea4f739d63cac4b39e4
+PKG_DESCR:=		fast website generator
+PKG_SECTION:=		net/http
+PKG_BUILDDEP:=		go-host
+PKG_URL:=		https://gohugo.io
+PKG_SITES:=		https://github.com/spf13/hugo/archive/
+
+DISTFILES:=             v$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,HUGO,hugo,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+CONFIG_STYLE:=		manual
+BUILD_STYLE:=		manual
+INSTALL_STYLE:=		manual
+
+include $(ADK_TOPDIR)/mk/go.mk
+
+do-build:
+	(cd $(WRKBUILD) && $(ADK_GO_TARGET_ENV) $(ADK_GO) \
+		get -v github.com/spf13/hugo)
+
+hugo-install:
+	$(INSTALL_DIR) $(IDIR_HUGO)/usr/bin
+	$(INSTALL_BIN) $(ADK_GO_BINPATH)/hugo \
+		$(IDIR_HUGO)/usr/bin
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk