mirror of
https://github.com/shadowsocks/shadowsocks-rust.git
synced 2026-11-06 16:14:11 +00:00
Updated docker build
This commit is contained in:
+13
-5
@@ -1,13 +1,21 @@
|
||||
FROM ekidd/rust-musl-builder
|
||||
|
||||
#ENV HTTP_PROXY="http://192.168.0.104:8118"
|
||||
#ENV HTTPS_PROXY="http://192.168.0.104:8118"
|
||||
|
||||
ENV SODIUM_VERS="1.0.15"
|
||||
|
||||
# Build a static copy of libsodium.
|
||||
RUN VERS=1.0.15 && \
|
||||
cd /home/rust/libs && \
|
||||
curl -LO https://download.libsodium.org/libsodium/releases/libsodium-$VERS.tar.gz && \
|
||||
tar xzf libsodium-$VERS.tar.gz && cd libsodium-$VERS && \
|
||||
RUN cd /home/rust/libs && \
|
||||
curl -LO https://download.libsodium.org/libsodium/releases/libsodium-$SODIUM_VERS.tar.gz && \
|
||||
tar xzf libsodium-$SODIUM_VERS.tar.gz && cd libsodium-$SODIUM_VERS && \
|
||||
CC=musl-gcc ./configure --prefix=/usr/local/musl && \
|
||||
make && sudo make install && \
|
||||
cd .. && rm -rf libsodium-$VERS.tar.gz libsodium-$VERS
|
||||
cd .. && rm -rf libsodium-$SODIUM_VERS.tar.gz libsodium-$SODIUM_VERS
|
||||
|
||||
#RUN rustup install nightly
|
||||
#RUN rustup default nightly
|
||||
#RUN rustup target add x86_64-unknown-linux-musl
|
||||
|
||||
ENV SODIUM_STATIC=yes
|
||||
ENV SODIUM_LIB_DIR=/usr/local/musl/lib
|
||||
|
||||
+29
-11
@@ -1,5 +1,23 @@
|
||||
#!/bin/sh
|
||||
|
||||
VERSION="latest"
|
||||
ENABLE_GZ=false
|
||||
|
||||
while getopts "v:gh" opt; do
|
||||
case $opt in
|
||||
v)
|
||||
VERSION=$OPTARG
|
||||
;;
|
||||
g)
|
||||
ENABLE_GZ=true
|
||||
;;
|
||||
h|\?)
|
||||
echo "$0 [-v VERSION] [-g] [-h]"
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
IMAGE='shadowsocks-rust:latest'
|
||||
CUR_DIR=$( cd $( dirname $0 ) && pwd )
|
||||
|
||||
@@ -9,6 +27,8 @@ SRC_PATH="/home/rust/src"
|
||||
CARGO_TARGET_DIR="${SRC_PATH}/build/target"
|
||||
LOCAL_USER=$( id -u "$USER" ):$( id -g "$USER" )
|
||||
|
||||
TARGET_NAME="x86_64-unknown-linux-musl"
|
||||
|
||||
docker run \
|
||||
-e CARGO_TARGET_DIR="${CARGO_TARGET_DIR}" \
|
||||
-v "${CUR_DIR}"/..:"$SRC_PATH" \
|
||||
@@ -17,25 +37,23 @@ docker run \
|
||||
/bin/bash -c \
|
||||
"sudo mkdir -p $CARGO_TARGET_DIR \
|
||||
&& sudo chown -R rust:rust $CARGO_TARGET_DIR \
|
||||
&& cargo build --release \
|
||||
&& cargo build --release --target $TARGET_NAME \
|
||||
&& sudo chown -R $LOCAL_USER $CARGO_TARGET_DIR"
|
||||
|
||||
TARGET_NAME="x86_64-unknown-linux-musl"
|
||||
|
||||
TARGET_DIR="$CUR_DIR/target/$TARGET_NAME/release/"
|
||||
cd "$TARGET_DIR"
|
||||
|
||||
VERSION=$1
|
||||
if [[ -z "$VERSION" ]]; then
|
||||
VERSION="latest"
|
||||
fi
|
||||
|
||||
## Disable OS X ACL file
|
||||
export COPYFILE_DISABLE=1
|
||||
|
||||
tar -czf "${CUR_DIR}/shadowsocks-${VERSION}-release.${TARGET_NAME}.tar.gz" \
|
||||
"sslocal" \
|
||||
"ssserver" \
|
||||
"ssurl"
|
||||
if $ENABLE_GZ; then
|
||||
tar -czf "${CUR_DIR}/shadowsocks-${VERSION}-release.${TARGET_NAME}.tar.gz" \
|
||||
"sslocal" \
|
||||
"ssserver" \
|
||||
"ssurl"
|
||||
fi
|
||||
|
||||
tar -cJf "${CUR_DIR}/shadowsocks-${VERSION}-release.${TARGET_NAME}.tar.xz" \
|
||||
"sslocal" \
|
||||
"ssserver" \
|
||||
|
||||
Reference in New Issue
Block a user