diff --git a/srcpkgs/go1.12-bootstrap/INSTALL.msg b/srcpkgs/go1.12-bootstrap/INSTALL.msg new file mode 100644 index 00000000000..142aeabbc1b --- /dev/null +++ b/srcpkgs/go1.12-bootstrap/INSTALL.msg @@ -0,0 +1,4 @@ +This is a copy of the official Go language toolchain binaries as provided by +the project on its download page. Please do keep in mind that it is almost +definitely not what you want to use and exists purely for the purpose of +bootstrapping the official compiler package (called simply 'go'). diff --git a/srcpkgs/go1.12-bootstrap/template b/srcpkgs/go1.12-bootstrap/template new file mode 100644 index 00000000000..840fcf72b56 --- /dev/null +++ b/srcpkgs/go1.12-bootstrap/template @@ -0,0 +1,64 @@ +# Template file for 'go1.12-bootstrap' +pkgname=go1.12-bootstrap +version=1.12.13 +revision=1 +archs="x86_64* i686* armv[67]l* aarch64* ppc64le*" +wrksrc="go" +short_desc="Go 1.12 (bootstrap compiler)" +maintainer="q66 " +license="BSD-3-Clause" +homepage="https://golang.org" +nostrip=yes +noverifyrdeps=yes +nocross=yes +lib32disabled=yes + +if [ "$XBPS_TARGET_LIBC" = "musl" ]; then + depends+=" gcompat" + hostmakedepends+=" patchelf" +fi + +case "$XBPS_TARGET_MACHINE" in + x86_64*) + _dist_arch="amd64" + checksum="da036454cb3353f9f507f0ceed4048feac611065e4e1818b434365eb32ac9bdc" + ;; + i686*) + _dist_arch="386" + checksum="fafcb585591557b7b16d9b22dec4654193d205cf444b1810ab2988f658585e23" + ;; + arm*) + _dist_arch="armv6l" + checksum="bf061cc3d4951e07904496b5c3d6c82419309d24634835522d786673a3f5438f" + ;; + aarch64*) + _dist_arch="arm64" + checksum="dcfcb3785292c98f7a75c2276169dfe2d445c19f8ffe1d40b3f7b8f59712d361" + ;; + ppc64le*) + _dist_arch="ppc64le" + checksum="77056264abcf5444ed0d9ab7552552ae2145ca8fb6c39d33db3c735eaf3f42d2" + ;; +esac + +distfiles="https://dl.google.com/go/go${version}.linux-${_dist_arch}.tar.gz" + +post_build() { + [ "$XBPS_TARGET_LIBC" != "musl" ] && return 0 + + # we don't have lib64 compatibility path on musl 64-bit systems + # use patchelf to replace /lib64/ with /lib/ + + local _interp=$(patchelf --print-interpreter ${wrksrc}/bin/go) + + patchelf --set-interpreter ${_interp/lib64\//lib\/} ${wrksrc}/bin/go + patchelf --set-interpreter ${_interp/lib64\//lib\/} ${wrksrc}/bin/godoc +} + +do_install() { + vmkdir usr/lib/go1.12 + vcopy bin usr/lib/go1.12 + vcopy src usr/lib/go1.12 + vcopy pkg usr/lib/go1.12 + vlicense LICENSE +}