diff --git a/build-my.sh b/build-my.sh new file mode 100755 index 0000000..6b9bfee --- /dev/null +++ b/build-my.sh @@ -0,0 +1,118 @@ +#!/usr/local/bin/bash + +PLATFORMS=( +# 'linux/arm64' +# 'linux/arm7' +# 'linux/amd64' + 'linux/arm5' +# 'linux/386' +# 'windows/amd64' +# 'windows/386' +# 'darwin/amd64' +# 'darwin/arm64' +# 'freebsd/amd64' +# 'linux/mips' +# 'linux/mipsle' +# 'linux/mips64' +# 'linux/mips64le' +) + +type setopt >/dev/null 2>&1 + +set_goarm() { + if [[ "$1" =~ arm([5,7]) ]]; then + GOARCH="arm" + GOARM="${BASH_REMATCH[1]}" + GO_ARM="GOARM=${GOARM}" + else + GOARM="" + GO_ARM="" + fi +} +# use softfloat for mips builds +set_gomips() { + if [[ "$1" =~ mips ]]; then + if [[ "$1" =~ mips(64) ]]; then MIPS64="${BASH_REMATCH[1]}"; fi + GO_MIPS="GOMIPS${MIPS64}=softfloat" + else + GO_MIPS="" + fi +} + +GOBIN="go" + +$GOBIN version + +LDFLAGS="'-s -w'" +FAILURES="" +ROOT=${PWD} +OUTPUT="${ROOT}/dist/TorrServer" + +#### Build web +echo "Build web" +#$GOBIN run gen_web.go || exit 1 + +#### Build server +echo "Build server" +cd "${ROOT}/server" || exit 1 +$GOBIN clean -i -r -cache #--modcache +$GOBIN mod tidy + +BUILD_FLAGS="-ldflags=${LDFLAGS}" + +##################################### +### X86 build section +##### + +for PLATFORM in "${PLATFORMS[@]}"; do + GOOS=${PLATFORM%/*} + GOARCH=${PLATFORM#*/} + set_goarm "$GOARCH" + set_gomips "$GOARCH" + BIN_FILENAME="${OUTPUT}-${GOOS}-${GOARCH}${GOARM}" + if [[ "${GOOS}" == "windows" ]]; then BIN_FILENAME="${BIN_FILENAME}.exe"; fi + CMD="GOOS=${GOOS} GOARCH=${GOARCH} ${GO_ARM} ${GO_MIPS} ${GOBIN} build ${BUILD_FLAGS} -o ${BIN_FILENAME} ./cmd" + echo "${CMD}" + eval "$CMD" || FAILURES="${FAILURES} ${GOOS}/${GOARCH}${GOARM}" + CMD="upx -q ${BIN_FILENAME}"; # upx --brute produce much smaller binaries + echo "compress with ${CMD}" +# eval "$CMD" +done + +##################################### +### Android build section +##### + +declare -A COMPILERS=( + ["arm7"]="armv7a-linux-androideabi21-clang" +# ["arm64"]="aarch64-linux-android21-clang" +# ["386"]="i686-linux-android21-clang" +# ["amd64"]="x86_64-linux-android21-clang" +) + +#export NDK_TOOLCHAIN=$ROOT/toolchain +export NDK_VER="21.3.6528147" +#export NDK_VER="23.0.7599858" +export NDK_TOOLCHAIN="${ANDROID_HOME}/ndk/${NDK_VER}/toolchains/llvm/prebuilt/darwin-x86_64" + +GOOS=android + +for GOARCH in "${!COMPILERS[@]}"; do + export CC="$NDK_TOOLCHAIN/bin/${COMPILERS[$GOARCH]}" + export CXX="$NDK_TOOLCHAIN/bin/${COMPILERS[$GOARCH]}++" + set_goarm "$GOARCH" + BIN_FILENAME="${OUTPUT}-${GOOS}-${GOARCH}${GOARM}" + CMD="GOOS=${GOOS} GOARCH=${GOARCH} ${GO_ARM} CGO_ENABLED=1 ${GOBIN} build ${BUILD_FLAGS} -o ${BIN_FILENAME} ./cmd" + echo "${CMD}" + eval "${CMD}" || FAILURES="${FAILURES} ${GOOS}/${GOARCH}${GOARM}" + CMD="upx -q ${BIN_FILENAME}"; # upx --brute produce much smaller binaries + echo "compress with ${CMD}" +# eval "$CMD" +done + +# eval errors +if [[ "${FAILURES}" != "" ]]; then + echo "" + echo "failed on: ${FAILURES}" + exit 1 +fi diff --git a/server/dlna/dlna.go b/server/dlna/dlna.go index ed4315a..a479d75 100644 --- a/server/dlna/dlna.go +++ b/server/dlna/dlna.go @@ -2,7 +2,6 @@ package dlna import ( "bytes" - "fmt" "net" "os" "os/user" diff --git a/server/go.sum b/server/go.sum index 777fe18..78338e8 100644 --- a/server/go.sum +++ b/server/go.sum @@ -678,8 +678,8 @@ github.com/tinylib/msgp v1.1.1/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDW github.com/tinylib/msgp v1.1.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tsynik/dms v0.0.0-20210909053938-38af4173d4ac h1:1JLBJz2aGJhQ6ZR+zJWl68/0DLJkr+E3E74HEzOFOjw= -github.com/tsynik/dms v0.0.0-20210909053938-38af4173d4ac/go.mod h1:oWW4QbQ9YGl+FJ1X8xcrUYVObfA/KdipoeBuTC4ltG8= +github.com/tsynik/dms v0.0.0-20210911171915-d3d89ee99163 h1:qBZPOad8wOmvFe6rIx1d0U7VpymFalvbM5kjHeEx8Gs= +github.com/tsynik/dms v0.0.0-20210911171915-d3d89ee99163/go.mod h1:oWW4QbQ9YGl+FJ1X8xcrUYVObfA/KdipoeBuTC4ltG8= github.com/tsynik/torrent v1.2.7-0.20210907192509-2141ede9aa09 h1:GHhNKxddZiYrWeiXqMQiPKcSIXKF+o/w1wrqHOgOFrk= github.com/tsynik/torrent v1.2.7-0.20210907192509-2141ede9aa09/go.mod h1:E9gvoHzc58EtTudJbzZ2Ho7SKDCYk84734hB9ztBJS4= github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q=