diff options
Diffstat (limited to 'source/x/vulkan-sdk/fetch-sources.sh')
-rwxr-xr-x | source/x/vulkan-sdk/fetch-sources.sh | 57 |
1 files changed, 51 insertions, 6 deletions
diff --git a/source/x/vulkan-sdk/fetch-sources.sh b/source/x/vulkan-sdk/fetch-sources.sh index da1121023..4202b1d4a 100755 --- a/source/x/vulkan-sdk/fetch-sources.sh +++ b/source/x/vulkan-sdk/fetch-sources.sh @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2017, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2017, 2018, 2023, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA # Copyright 2021 Heinz Wiesinger, Amsterdam, The Netherlands # All rights reserved. # @@ -48,7 +48,7 @@ EOF echo $DEP_COMMIT } -rm -f *.tar.lz +rm -f *.tar.lz *.fetched release_notes.html wget https://vulkan.lunarg.com/doc/view/$VERSION/linux/release_notes.html @@ -58,6 +58,9 @@ for i in $(grep "Repo:" release_notes.html | cut -d "\"" -f 2); do COMMIT=$(basename $i) REPO=$(echo $i | cut -d "/" -f 1-5) NAME=$(basename $REPO) + echo "" + echo "$NAME" + echo "" # release notes for bugfix releases contain the repo list multiple times # only create tarballs for the most recent ones (on top) @@ -66,7 +69,7 @@ for i in $(grep "Repo:" release_notes.html | cut -d "\"" -f 2); do cd $NAME-$COMMIT git reset --hard $COMMIT || git reset --hard origin/$COMMIT git submodule update --init --recursive - git describe > .git-version + git describe --tags > .git-version cd .. tar --exclude-vcs -cf $NAME-$COMMIT.tar $NAME-$COMMIT plzip -9 $NAME-$COMMIT.tar @@ -79,7 +82,7 @@ for i in $(grep "Repo:" release_notes.html | cut -d "\"" -f 2); do cd SPIRV-Headers-$SPIRV_HEADERS_COMMIT git reset --hard $SPIRV_HEADERS_COMMIT || git reset --hard origin/$SPIRV_HEADERS_COMMIT git submodule update --init --recursive - git describe > .git-version + git describe --tags > .git-version cd .. tar --exclude-vcs -cf SPIRV-Headers-$SPIRV_HEADERS_COMMIT.tar SPIRV-Headers-$SPIRV_HEADERS_COMMIT plzip -9 SPIRV-Headers-$SPIRV_HEADERS_COMMIT.tar @@ -92,12 +95,42 @@ for i in $(grep "Repo:" release_notes.html | cut -d "\"" -f 2); do cd robin-hood-hashing-$ROBIN_HOOD_COMMIT git reset --hard $ROBIN_HOOD_COMMIT || git reset --hard origin/$ROBIN_HOOD_COMMIT git submodule update --init --recursive - git describe > .git-version + git describe --tags > .git-version cd .. tar --exclude-vcs -cf robin-hood-hashing-$ROBIN_HOOD_COMMIT.tar robin-hood-hashing-$ROBIN_HOOD_COMMIT plzip -9 robin-hood-hashing-$ROBIN_HOOD_COMMIT.tar rm -rf robin-hood-hashing-$ROBIN_HOOD_COMMIT touch robin-hood-hashing.fetched + elif [ "$NAME" = "Vulkan-Profiles" ]; then + if [ ! -e jsoncpp.fetched ]; then + JSONCPP_COMMIT=$(get_known_good Vulkan-Profiles-$COMMIT/scripts/known_good.json jsoncpp repos) + + git clone https://github.com/open-source-parsers/jsoncpp.git jsoncpp-$JSONCPP_COMMIT + cd jsoncpp-$JSONCPP_COMMIT + git reset --hard $JSONCPP_COMMIT || git reset --hard origin/$JSONCPP_COMMIT + git submodule update --init --recursive + git describe --tags > .git-version + cd .. + tar --exclude-vcs -cf jsoncpp-$JSONCPP_COMMIT.tar jsoncpp-$JSONCPP_COMMIT + plzip -9 jsoncpp-$JSONCPP_COMMIT.tar + rm -rf jsoncpp-$JSONCPP_COMMIT + touch jsoncpp.fetched + fi + if [ ! -e valijson.fetched ]; then + VALIJSON_COMMIT=$(get_known_good Vulkan-Profiles-$COMMIT/scripts/known_good.json valijson repos) + + git clone https://github.com/tristanpenman/valijson.git valijson-$VALIJSON_COMMIT + cd valijson-$VALIJSON_COMMIT + git reset --hard $VALIJSON_COMMIT || git reset --hard origin/$VALIJSON_COMMIT + # Intentionally skipping the submodules, as those result in a huge source tarball + #git submodule update --init --recursive + git describe --tags > .git-version + cd .. + tar --exclude-vcs -cf valijson-$VALIJSON_COMMIT.tar valijson-$VALIJSON_COMMIT + plzip -9 valijson-$VALIJSON_COMMIT.tar + rm -rf valijson-$VALIJSON_COMMIT + touch valijson.fetched + fi fi rm -rf $NAME-$COMMIT @@ -112,7 +145,7 @@ if ! [ -e "Vulkan-ExtensionLayer.fetched" ]; then git reset --hard sdk-$VERSION-TAG || git reset --hard origin/sdk-$VERSION-TAG || \ git reset --hard sdk.$VERSION-TAG || git reset --hard origin/sdk.$VERSION-TAG git submodule update --init --recursive - git describe > .git-version + git describe --tags > .git-version cd .. tar --exclude-vcs -cf Vulkan-ExtensionLayer-sdk-$VERSION.tar Vulkan-ExtensionLayer-sdk-$VERSION plzip -9 Vulkan-ExtensionLayer-sdk-$VERSION.tar @@ -124,3 +157,15 @@ echo $VERSION > VERSION rm -f release_notes.html rm -f *.fetched + +# Adding this kludge since 1.3.268 is somehow pulling a bad shaderc (the +# commit referenced can't be found in the repo, and a mostly empty archive +# is produced.) So, if we find an unreasonably small shaderc, just pull a +# recent one. +if [ "$(tar tf shaderc-*.tar.lz | wc -l)" -lt "7" ]; then + rm shaderc-*.tar.* + lftpget https://github.com/google/shaderc/archive/refs/tags/v2023.8.tar.gz + mv v2023.8.tar.gz shaderc-2023.8.tar.gz + gzip -d shaderc-2023.8.tar.gz + plzip -9 shaderc-2023.8.tar +fi |