From 17a62c8ed261c7c3a25163d8e5c607b048ff3ba8 Mon Sep 17 00:00:00 2001 From: bakape Date: Fri, 5 May 2017 03:41:47 +0300 Subject: [PATCH] Script for binary package cross-compilation --- .gitignore | 4 +++- package.sh | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100755 package.sh diff --git a/.gitignore b/.gitignore index ece147f5..8248a38a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,6 @@ *.db main nyaa -nyaa-master.exe \ No newline at end of file +nyaa.exe +nyaa-master.exe +*.zip diff --git a/package.sh b/package.sh new file mode 100755 index 00000000..973f219d --- /dev/null +++ b/package.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +# Helper script to ease building binary packages for multiple targets. +# Requires the linux64 and mingw64 gcc compilers and zip. +# On Debian-based distros install mingw-w64. + +version=$(git describe --tags) +declare -a OSes +OSes[0]='linux;x86_64-linux-gnu-gcc' +OSes[1]='windows;x86_64-w64-mingw32-gcc' + +for i in "${OSes[@]}"; do + arr=(${i//;/ }) + os=${arr[0]} + cc=${arr[1]} + rm -f nyaa nyaa.exe + echo -e "\nBuilding $os..." + echo GOOS=$os GOARCH=amd64 CC=$cc CGO_ENABLED=1 go build -v + GOOS=$os GOARCH=amd64 CC=$cc CGO_ENABLED=1 go build -v + zip -9 -q nyaa-${version}_${os}_amd64.zip css js *.md *.html nyaa nyaa.exe +done