| ... | ... | @@ -0,0 +1,52 @@ |
| 1 | #!/bin/sh |
| 2 | |
| 3 | ZIGDIR="$(pwd)" |
| 4 | CACHE_BASENAME="llvm+clang-8.0.0-freebsd-x86_64-release" |
| 5 | PREFIX="$HOME/$CACHE_BASENAME" |
| 6 | TMPDIR="$HOME/tmpz" |
| 7 | JOBS="-j$(sysctl -n hw.ncpu)" |
| 8 | |
| 9 | rm -rf $PREFIX |
| 10 | rm -rf $TMPDIR |
| 11 | mkdir $TMPDIR |
| 12 | |
| 13 | cd $HOME |
| 14 | wget -nv "https://ziglang.org/builds/$CACHE_BASENAME.tar.xz" |
| 15 | tar xf "$CACHE_BASENAME.tar.xz" |
| 16 | |
| 17 | cd $ZIGDIR |
| 18 | mkdir build |
| 19 | cd build |
| 20 | cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$PREFIX -DCMAKE_INSTALL_PREFIX=$(pwd)/release -DZIG_STATIC=ON |
| 21 | make $JOBS install |
| 22 | # TODO test everything. I just made it short to test the part after this |
| 23 | release/bin/zig build --build-file ../build.zig test-behavior -Dskip-release |
| 24 | |
| 25 | if [ -f ~/.s3cfg ]; then |
| 26 | mv ../LICENSE release/ |
| 27 | mv ../zig-cache/langref.html release/ |
| 28 | mv release/bin/zig release/ |
| 29 | rmdir release/bin |
| 30 | |
| 31 | GITBRANCH=$(git rev-parse --abbrev-ref HEAD) |
| 32 | VERSION=$(release/zig version) |
| 33 | DIRNAME="zig-freebsd-x86_64-$VERSION" |
| 34 | TARBALL="$DIRNAME.tar.xz" |
| 35 | mv release "$DIRNAME" |
| 36 | tar cfJ "$TARBALL" "$DIRNAME" |
| 37 | |
| 38 | s3cmd put -P "$TARBALL" s3://ziglang.org/builds/ |
| 39 | touch empty |
| 40 | s3cmd put -P empty s3://ziglang.org/builds/zig-freebsd-x86_64-$GITBRANCH.tar.xz --add-header="Cache-Control: max-age=0, must-revalidate" --add-header="x-amz-website-redirect-location:/builds/$TARBALL" |
| 41 | |
| 42 | SHASUM=$(shasum -a 256 $TARBALL | cut '-d ' -f1) |
| 43 | BYTESIZE=$(wc -c < $TARBALL) |
| 44 | |
| 45 | JSONFILE="freebsd-$GITBRANCH.json" |
| 46 | touch $JSONFILE |
| 47 | echo "{\"tarball\": \"$TARBALL\"," >>$JSONFILE |
| 48 | echo "\"shasum\": \"$SHASUM\"," >>$JSONFILE |
| 49 | echo "\"size\": \"$BYTESIZE\"}" >>$JSONFILE |
| 50 | |
| 51 | s3cmd put -P "$JSONFILE" s3://ziglang.org/builds/$JSONFILE |
| 52 | fi |