From 0e95e8f6b241ee8b30635a986f2c503f21997dd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20K=C3=A4fer?= Date: Thu, 30 Aug 2018 21:38:50 +0300 Subject: [build] add ability to extract zip files --- scripts/vendor/common.sh | 19 +++++++++++++------ scripts/vendor/expected.sh | 2 +- scripts/vendor/gtest.sh | 2 +- scripts/vendor/nunicode.sh | 2 +- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/scripts/vendor/common.sh b/scripts/vendor/common.sh index 680211bfcc..c0c7ebf8ea 100755 --- a/scripts/vendor/common.sh +++ b/scripts/vendor/common.sh @@ -6,11 +6,11 @@ CXX=${CXX:-clang++} CC=${CC:-clang} function download { - if [ ! -f "$VENDOR/.cache/$NAME-$VERSION.tar.gz" ]; then + if [ ! -f "$VENDOR/.cache/$NAME-$VERSION" ]; then echo ">> Downloading $1..." mkdir -p "$VENDOR/.cache" - curl --retry 3 -f -S -L $1 -o "$VENDOR/.cache/$NAME-$VERSION.tar.gz.tmp" - mv "$VENDOR/.cache/$NAME-$VERSION.tar.gz.tmp" "$VENDOR/.cache/$NAME-$VERSION.tar.gz" + curl --retry 3 -f -S -L $1 -o "$VENDOR/.cache/$NAME-$VERSION.tmp" + mv "$VENDOR/.cache/$NAME-$VERSION.tmp" "$VENDOR/.cache/$NAME-$VERSION" fi } @@ -21,10 +21,17 @@ function init { cd "$VENDOR/$NAME" } -function extract { - echo ">> Unpacking files from $VENDOR/.cache/$NAME-$VERSION.tar.gz..." +function extract_gzip { + echo ">> Unpacking files from $VENDOR/.cache/$NAME-$VERSION..." [ ! -z "$(tar --version | grep "GNU tar")" ] && WC="--wildcards" || WC="" - tar xzf "$VENDOR/.cache/$NAME-$VERSION.tar.gz" $WC --strip-components=${STRIP_COMPONENTS:-1} -C "$VENDOR/$NAME" $@ + tar xzf "$VENDOR/.cache/$NAME-$VERSION" $WC --strip-components=${STRIP_COMPONENTS:-1} -C "$VENDOR/$NAME" $@ +} + +function extract_zip { + echo ">> Unpacking files from $VENDOR/.cache/$NAME-$VERSION..." + unzip -qq "$VENDOR/.cache/$NAME-$VERSION" $@ -d "$VENDOR/.cache/staging" + mv "$VENDOR/.cache/staging"/*/* "$VENDOR/$NAME" + rm -rf "$VENDOR/.cache/staging" } function file_list { diff --git a/scripts/vendor/expected.sh b/scripts/vendor/expected.sh index 58c98902f6..66951a115b 100755 --- a/scripts/vendor/expected.sh +++ b/scripts/vendor/expected.sh @@ -7,7 +7,7 @@ ROOT=expected-lite-$VERSION download "https://github.com/martinmoene/expected-lite/archive/$VERSION.tar.gz" init -extract "$ROOT/include" "$ROOT/LICENSE.txt" +extract_gzip "$ROOT/include" "$ROOT/LICENSE.txt" mv include/nonstd/expected.hpp include rm -rf include/nonstd file_list include -name "*.hpp" diff --git a/scripts/vendor/gtest.sh b/scripts/vendor/gtest.sh index 3bae5266fb..8b9aa67cef 100755 --- a/scripts/vendor/gtest.sh +++ b/scripts/vendor/gtest.sh @@ -7,7 +7,7 @@ ROOT=googletest-release-1.8.0/googletest download "https://github.com/google/googletest/archive/release-$VERSION.tar.gz" init -STRIP_COMPONENTS=2 extract --exclude "gtest-all.cc" --exclude "gtest_main.cc" "$ROOT/include/*.h" "$ROOT/src" "$ROOT/LICENSE" +STRIP_COMPONENTS=2 extract_gzip --exclude "gtest-all.cc" --exclude "gtest_main.cc" "$ROOT/include/*.h" "$ROOT/src" "$ROOT/LICENSE" for FILE in $(find include src -name "*.h" -o -name "*.cc"); do sed -e 's/^#include \"src\/\([^\"]\{1,\}\)\"/#include "\1"/' \ diff --git a/scripts/vendor/nunicode.sh b/scripts/vendor/nunicode.sh index 61a921cadd..79f1c83a3c 100755 --- a/scripts/vendor/nunicode.sh +++ b/scripts/vendor/nunicode.sh @@ -7,7 +7,7 @@ ROOT=alekseyt-nunicode-246bb27014ab download "https://bitbucket.org/alekseyt/nunicode/get/$VERSION.tar.gz" init -extract "$ROOT/libnu/*.c" "$ROOT/libnu/*.h" "$ROOT/LICENSE" +extract_gzip "$ROOT/libnu/*.c" "$ROOT/libnu/*.h" "$ROOT/LICENSE" # Augment config.h with just the defines we need. head -n 2 libnu/config.h > config.h -- cgit v1.2.1