|
@@ -0,0 +1,52 @@
|
|
|
+#!/bin/bash
|
|
|
+
|
|
|
+set -e
|
|
|
+
|
|
|
+# This is pretty dirty hack. Building imgproxy under Qemu is pretty slow.
|
|
|
+# So we install Go binary native for the BUILDPLATFORM.
|
|
|
+if [[ $BUILDPLATFORM != $TARGETPLATFORM ]]; then
|
|
|
+ case "$BUILDPLATFORM" in
|
|
|
+ amd64 | "linux/amd64")
|
|
|
+ BUILD_ARCH="amd64"
|
|
|
+ ;;
|
|
|
+
|
|
|
+ arm64 | "arm64/v8" | "linux/arm64" | "linux/arm64/v8")
|
|
|
+ BUILDPLATFORM="arm64"
|
|
|
+ ;;
|
|
|
+
|
|
|
+ *)
|
|
|
+ echo "Unknown platform: $BUILDPLATFORM"
|
|
|
+ exit 1
|
|
|
+ esac
|
|
|
+
|
|
|
+ case "$TARGETPLATFORM" in
|
|
|
+ amd64 | "linux/amd64")
|
|
|
+ TARGET_ARCH="amd64"
|
|
|
+ ;;
|
|
|
+
|
|
|
+ arm64 | "arm64/v8" | "linux/arm64" | "linux/arm64/v8")
|
|
|
+ TARGET_ARCH="arm64"
|
|
|
+ ;;
|
|
|
+
|
|
|
+ *)
|
|
|
+ echo "Unknown platform: $TARGETPLATFORM"
|
|
|
+ exit 1
|
|
|
+ esac
|
|
|
+
|
|
|
+ GOLANG_VERSION=$(go version | sed -E 's/.*go([0-9]+\.[0-9]+\.[0-9]+).*/\1/')
|
|
|
+
|
|
|
+ rm -rf /usr/local/go
|
|
|
+
|
|
|
+ dpkg --add-architecture ${BUILD_ARCH}
|
|
|
+ apt-get update
|
|
|
+ apt-get install -y --no-install-recommends libstdc++6:${BUILD_ARCH}
|
|
|
+
|
|
|
+ curl -Ls https://golang.org/dl/go${GOLANG_VERSION}.linux-${BUILD_ARCH}.tar.gz \
|
|
|
+ | tar -xzC /usr/local
|
|
|
+
|
|
|
+ export CGO_ENABLED=1
|
|
|
+ export GOOS=linux
|
|
|
+ export GOARCH=$TARGET_ARCH
|
|
|
+fi
|
|
|
+
|
|
|
+go $@
|