diff options
Diffstat (limited to 'tools/ci-install.sh')
-rwxr-xr-x | tools/ci-install.sh | 44 |
1 files changed, 30 insertions, 14 deletions
diff --git a/tools/ci-install.sh b/tools/ci-install.sh index 21548cf5..7dcf5885 100755 --- a/tools/ci-install.sh +++ b/tools/ci-install.sh @@ -193,25 +193,41 @@ esac if [ "$ci_local_packages" = yes ]; then case "$ci_host" in (*-w64-mingw32) - mirror=https://repo.msys2.org/mingw/${ci_host%%-*} + cpu="${ci_host%%-*}" + mirror="https://repo.msys2.org/mingw/$cpu" dep_prefix=$(pwd)/${ci_host}-prefix + # clean install dir, if present + rm -rf ${dep_prefix} install -d "${dep_prefix}" + wget -O files.lst ${mirror} + sed 's,^<a href=",,g;s,">.*$,,g' files.lst | grep -v "\.db" | grep -v "\.files" | grep ".*zst$" | sort > filenames.lst packages=( - bzip2-1.0.8-2 - expat-2.2.10-1 - gcc-libs-10.2.0-6 - gettext-0.19.8.1-10 - glib2-2.66.4-1 - iconv-1.16-2 - libffi-3.3-2 - libiconv-1.16-2 - libwinpthread-git-8.0.0.5906.c9a21571-1 - pcre-8.44-2 - zlib-1.2.11-8 + bzip2 + expat + gcc-libs + gettext + glib2 + iconv + libffi + libiconv + libwinpthread-git + pcre + pcre2 + zlib ) for pkg in "${packages[@]}" ; do - wget ${mirror}/mingw-w64-${ci_host%%-*}-${pkg}-any.pkg.tar.zst - tar -C ${dep_prefix} --strip-components=1 -xvf mingw-w64-${ci_host%%-*}-${pkg}-any.pkg.tar.zst + filename=$(grep -F "mingw-w64-${cpu}-${pkg}-" filenames.lst | tail -1) + if [ -z ${filename} ]; then + echo "could not find filename for package '${pkg}'" + exit 1 + fi + # Remove previously downloaded file, which can happen + # when run locally + if [ -f ${filename} ]; then + rm -rf ${filename} + fi + wget ${mirror}/${filename} + tar -C ${dep_prefix} --strip-components=1 -xvf ${filename} done # limit access rights |