Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[vcpkg_acquire_msys,vcpkg-ci-msys2] Ensure msys2 package list freshness #29067

Merged
merged 24 commits into from
May 29, 2023

Conversation

dg0yt
Copy link
Contributor

@dg0yt dg0yt commented Jan 19, 2023

I was waiting for an embarassing incident like the recent removal of the outdated libtool package used by vcpkg from the rolling-release servers of msys2...
Edit: Next incident: msys2-runtime, #30542, #30530, #30546.
Edit: Next incident: python-numpy, #30582. (However, the incident affects tensorflow-cc which is not tested in CI. The issue might not be fixed by this PR.)
Edit: Next incident: grep, #31446, ObjectVision/GeoDMS#225.
Edit: msys2-runtime is still an issue in VS, #31565, #31577, two months after the fix in vcpkg!

This PR is an attempt to help prevent such incidents.

  • It adds a test port which gives a report for msys2 package versions and dependencies.
    • Reporting covers vcpkg_acquire_msys, vcpkg_find_acquire_program(PKGCONFIG) and vcpkg_find_fortran.
    • The test port warns or even fails when msys2 packages become too old.
      The check isn't entirely accurate because it would require to know when a package was updated. But this wouldn't matter if updates are done regularly. msys2 packages are removed 1.5 after an update ATM.
    • The test port can update the package URLs and SHA512s if installed with the update-all feature.
      (Note: This even works on linux or osx if installed with --allow-unsupported.)
      User may decide to line-wise pick only some of the changes using git gui or similar.
    • By updating all packages at once, vcpkg would avoid combinations of packages with very different age, matching proper MSYS2 installations more closely.
    • The test port would't be triggered by (i.e. block) most regular PRs. It would always run in full CI. This is intented.
    • Improving the test port doesn't cause expensive rebuilds. So it can be done incrementally after merging this PR.
  • It significantly rewrites vcpkg_acquire_msys.
    • Packages are not simply installed in a given order, but based on declared dependencies.
      This allows to list the packages in alphabetical order, avoiding multiple definitions with inconsistent dependencies.
    • Downloaded files are now prefixed msys2. It is not msys.

github-actions[bot]
github-actions bot previously approved these changes Jan 19, 2023
github-actions[bot]
github-actions bot previously approved these changes Jan 20, 2023
@MonicaLiu0311 MonicaLiu0311 added the category:infrastructure Pertaining to the CI/Testing infrastrucutre label Jan 20, 2023
github-actions[bot]
github-actions bot previously approved these changes Jan 20, 2023
@dg0yt
Copy link
Contributor Author

dg0yt commented Jan 20, 2023

Current state:

-- +++ Analyzing package lists
-- unzip
-- - vcpkg deps: libbz2
-- + msys2 deps: bash;libbz2
-- libbz2
-- - vcpkg: https://repo.msys2.org/msys/x86_64/libbz2-1.0.8-3-x86_64.pkg.tar.zst (403 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/libbz2-1.0.8-4-x86_64.pkg.tar.zst (207 days ago)
-- patch
-- - vcpkg: https://repo.msys2.org/msys/x86_64/patch-2.7.6-1-x86_64.pkg.tar.xz (1805 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/patch-2.7.6-2-x86_64.pkg.tar.zst (66 days ago)
-- gzip
-- - vcpkg: https://repo.msys2.org/msys/x86_64/gzip-1.11-1-x86_64.pkg.tar.zst (495 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/gzip-1.12-2-x86_64.pkg.tar.zst (207 days ago)
-- - vcpkg deps: msys2-runtime
-- + msys2 deps: bash
-- texinfo
-- - vcpkg: https://repo.msys2.org/msys/x86_64/texinfo-6.8-3-x86_64.pkg.tar.zst (376 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/texinfo-7.0.1-1-x86_64.pkg.tar.zst (47 days ago)
-- bash
-- - vcpkg: https://repo.msys2.org/msys/x86_64/bash-5.1.008-1-x86_64.pkg.tar.zst (610 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/bash-5.2.009-1-x86_64.pkg.tar.zst (72 days ago)
-- - vcpkg deps: msys2-runtime
-- + msys2 deps: 
-- autoconf
-- - vcpkg: https://repo.msys2.org/msys/x86_64/autoconf-2.71-3-any.pkg.tar.zst (375 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/autoconf2.71-2.71-1-any.pkg.tar.zst (368 days ago)
-- - vcpkg deps: m4;perl
-- + msys2 deps: awk;bash;diffutils;m4;perl;sed
-- ! unknown deps: awk
-- autoconf-archive
-- - vcpkg: https://repo.msys2.org/msys/x86_64/autoconf-archive-2019.01.06-1-any.pkg.tar.xz (1466 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/autoconf-archive-2022.09.03-1-any.pkg.tar.zst (48 days ago)
-- - vcpkg deps: m4;perl
-- + msys2 deps: 
-- diffutils
-- - vcpkg: https://repo.msys2.org/msys/x86_64/diffutils-3.8-2-x86_64.pkg.tar.zst (368 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/diffutils-3.8-4-x86_64.pkg.tar.zst (67 days ago)
-- - vcpkg deps: msys2-runtime
-- + msys2 deps: bash;libiconv;libintl
-- binutils
-- - vcpkg: https://repo.msys2.org/msys/x86_64/binutils-2.37-5-x86_64.pkg.tar.zst (396 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/binutils-2.39-2-x86_64.pkg.tar.zst (93 days ago)
-- - vcpkg deps: libiconv;libintl
-- + msys2 deps: libiconv;libintl;zlib
-- libtool
-- - vcpkg deps: coreutils;file;findutils;grep;sed
-- + msys2 deps: bash;tar
-- file
-- - vcpkg: https://repo.msys2.org/msys/x86_64/file-5.41-2-x86_64.pkg.tar.zst (382 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/file-5.44-2-x86_64.pkg.tar.zst (11 days ago)
-- - vcpkg deps: gcc-libs;libbz2;zlib
-- + msys2 deps: gcc-libs;libbz2;liblzma;zlib
-- zlib
-- - vcpkg: https://repo.msys2.org/msys/x86_64/zlib-1.2.11-1-x86_64.pkg.tar.xz (2186 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/zlib-1.2.13-1-x86_64.pkg.tar.zst (82 days ago)
-- bzip2
-- - vcpkg: https://repo.msys2.org/msys/x86_64/bzip2-1.0.8-3-x86_64.pkg.tar.zst (403 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/bzip2-1.0.8-4-x86_64.pkg.tar.zst (207 days ago)
-- - vcpkg deps: gcc-libs
-- + msys2 deps: libbz2
-- libbz2
-- - vcpkg: https://repo.msys2.org/msys/x86_64/libbz2-1.0.8-3-x86_64.pkg.tar.zst (403 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/libbz2-1.0.8-4-x86_64.pkg.tar.zst (207 days ago)
-- coreutils
-- - vcpkg: https://repo.msys2.org/msys/x86_64/coreutils-8.32-2-x86_64.pkg.tar.zst (454 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/coreutils-8.32-5-x86_64.pkg.tar.zst (65 days ago)
-- grep
-- - vcpkg: https://repo.msys2.org/msys/x86_64/grep-3.0-2-x86_64.pkg.tar.xz (1506 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/grep-1~3.0-6-x86_64.pkg.tar.zst (65 days ago)
-- - vcpkg deps: libiconv;libintl;libpcre
-- + msys2 deps: bash;libiconv;libintl;libpcre
-- sed
-- - vcpkg: https://repo.msys2.org/msys/x86_64/sed-4.8-2-x86_64.pkg.tar.zst (386 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/sed-4.9-1-x86_64.pkg.tar.zst (61 days ago)
-- - vcpkg deps: libintl
-- + msys2 deps: bash;libintl
-- libpcre
-- - vcpkg: https://repo.msys2.org/msys/x86_64/libpcre-8.45-1-x86_64.pkg.tar.zst (580 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/libpcre-8.45-3-x86_64.pkg.tar.zst (88 days ago)
-- m4
-- - vcpkg deps: msys2-runtime
-- + msys2 deps: bash;gcc-libs;libiconv
-- automake-wrapper
-- - vcpkg deps: gawk
-- + msys2 deps: automake1.11;automake1.12;automake1.13;automake1.14;automake1.15;automake1.16;bash;gawk
-- ! unknown deps: automake1.11;automake1.12;automake1.13;automake1.14;automake1.15
-- gawk
-- - vcpkg: https://repo.msys2.org/msys/x86_64/gawk-5.1.0-2-x86_64.pkg.tar.zst (403 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/gawk-5.2.1-2-x86_64.pkg.tar.zst (35 days ago)
-- - vcpkg deps: libintl;libreadline;mpfr
-- + msys2 deps: bash;libintl;libreadline;mpfr
-- mpfr
-- - vcpkg: https://repo.msys2.org/msys/x86_64/mpfr-4.1.0-1-x86_64.pkg.tar.zst (916 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/mpfr-4.2.0-2-x86_64.pkg.tar.zst (2 days ago)
-- - vcpkg deps: gcc-libs;gmp
-- + msys2 deps: gmp
-- gmp
-- - vcpkg: https://repo.msys2.org/msys/x86_64/gmp-6.2.1-1-x86_64.pkg.tar.zst (760 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/gmp-6.2.1-2-x86_64.pkg.tar.zst (276 days ago)
-- xz
-- - vcpkg: https://repo.msys2.org/msys/x86_64/xz-5.2.5-1-x86_64.pkg.tar.xz (1037 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/xz-5.4.0-1-x86_64.pkg.tar.zst (31 days ago)
-- - vcpkg deps: gettext;libiconv;liblzma
-- + msys2 deps: libiconv;libintl;liblzma
-- liblzma
-- - vcpkg: https://repo.msys2.org/msys/x86_64/liblzma-5.2.5-1-x86_64.pkg.tar.xz (1037 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/liblzma-5.4.0-1-x86_64.pkg.tar.zst (31 days ago)
-- - vcpkg deps: 
-- + msys2 deps: bash;gettext;libiconv
-- libreadline
-- - vcpkg: https://repo.msys2.org/msys/x86_64/libreadline-8.1.001-1-x86_64.pkg.tar.zst (543 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/libreadline-8.2.001-3-x86_64.pkg.tar.zst (2 days ago)
-- ncurses
-- - vcpkg: https://repo.msys2.org/msys/x86_64/ncurses-6.2-2-x86_64.pkg.tar.zst (403 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/ncurses-6.3-3-x86_64.pkg.tar.zst (265 days ago)
-- - vcpkg deps: msys2-runtime
-- + msys2 deps: gcc-libs
-- automake1.16
-- - vcpkg: https://repo.msys2.org/msys/x86_64/automake1.16-1.16.3-3-any.pkg.tar.zst (379 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/automake1.16-1.16.5-1-any.pkg.tar.zst (276 days ago)
-- - vcpkg deps: perl
-- + msys2 deps: bash;perl
-- perl
-- - vcpkg: https://repo.msys2.org/msys/x86_64/perl-5.32.1-2-x86_64.pkg.tar.zst (383 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/perl-5.36.0-1-x86_64.pkg.tar.zst (85 days ago)
-- - vcpkg deps: libcrypt
-- + msys2 deps: bash;coreutils;db;gdbm;libcrypt
-- ! unknown deps: db;gdbm
-- libcrypt
-- - vcpkg: https://repo.msys2.org/msys/x86_64/libcrypt-2.1-3-x86_64.pkg.tar.zst (647 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/libcrypt-2.1-4-x86_64.pkg.tar.zst (89 days ago)
-- pkg-config
-- - vcpkg: https://repo.msys2.org/msys/x86_64/pkg-config-0.29.2-4-x86_64.pkg.tar.zst (814 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/pkgconf-1.8.0-2-x86_64.pkg.tar.zst (66 days ago)
-- - vcpkg deps: libiconv
-- + msys2 deps: 
-- make
-- - vcpkg: https://repo.msys2.org/msys/x86_64/make-4.3-3-x86_64.pkg.tar.zst (374 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/make-4.4-1-x86_64.pkg.tar.zst (48 days ago)
-- - vcpkg deps: libintl;msys2-runtime
-- + msys2 deps: bash;libintl
-- gettext-devel
-- - vcpkg: https://repo.msys2.org/msys/x86_64/gettext-devel-0.21-1-x86_64.pkg.tar.zst (382 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/gettext-devel-0.21-2-x86_64.pkg.tar.zst (250 days ago)
-- - vcpkg deps: gettext
-- + msys2 deps: gettext;libiconv-devel
-- ! unknown deps: libiconv-devel
-- gettext
-- - vcpkg: https://repo.msys2.org/msys/x86_64/gettext-0.21-1-x86_64.pkg.tar.zst (382 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/gettext-0.21-2-x86_64.pkg.tar.zst (250 days ago)
-- - vcpkg deps: libasprintf;libgettextpo;libintl;tar
-- + msys2 deps: libasprintf;libgettextpo;libintl
-- tar
-- - vcpkg: https://repo.msys2.org/msys/x86_64/tar-1.34-2-x86_64.pkg.tar.zst (386 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/tar-1.34-3-x86_64.pkg.tar.zst (207 days ago)
-- - vcpkg deps: libiconv;libintl
-- + msys2 deps: bash;libiconv;libintl
-- libgettextpo
-- - vcpkg: https://repo.msys2.org/msys/x86_64/libgettextpo-0.21-1-x86_64.pkg.tar.zst (382 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/libgettextpo-0.21-2-x86_64.pkg.tar.zst (250 days ago)
-- libasprintf
-- - vcpkg: https://repo.msys2.org/msys/x86_64/libasprintf-0.21-1-x86_64.pkg.tar.zst (382 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/libasprintf-0.21-2-x86_64.pkg.tar.zst (250 days ago)
-- findutils
-- - vcpkg: https://repo.msys2.org/msys/x86_64/findutils-4.8.0-1-x86_64.pkg.tar.zst (657 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/findutils-4.9.0-3-x86_64.pkg.tar.zst (250 days ago)
-- libintl
-- - vcpkg: https://repo.msys2.org/msys/x86_64/libintl-0.21-1-x86_64.pkg.tar.zst (382 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/libintl-0.21-2-x86_64.pkg.tar.zst (250 days ago)
-- - vcpkg deps: libiconv
-- + msys2 deps: gcc-libs;libiconv
-- libiconv
-- - vcpkg: https://repo.msys2.org/msys/x86_64/libiconv-1.16-2-x86_64.pkg.tar.zst (863 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/libiconv-1.17-1-x86_64.pkg.tar.zst (227 days ago)
-- - vcpkg deps: gcc-libs
-- + msys2 deps: gcc-libs;libintl
-- gcc-libs
-- - vcpkg: https://repo.msys2.org/msys/x86_64/gcc-libs-11.2.0-3-x86_64.pkg.tar.zst (402 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/gcc-libs-11.3.0-2-x86_64.pkg.tar.zst (198 days ago)
-- - vcpkg deps: msys2-runtime
-- + msys2 deps: 
-- msys2-runtime
-- - vcpkg: https://repo.msys2.org/msys/x86_64/msys2-runtime-3.2.0-8-x86_64.pkg.tar.zst (605 days ago)
-- + msys2: https://repo.msys2.org/msys/x86_64/msys2-runtime-3.4.3-6-x86_64.pkg.tar.zst (2 days ago)
-- which
-- - vcpkg deps: 
-- + msys2 deps: bash
-- mingw-w64-x86_64-python-numpy
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-python-numpy-1.20.3-1-any.pkg.tar.zst (616 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-python-numpy-1.23.5-1-any.pkg.tar.zst (60 days ago)
-- mingw-w64-x86_64-openblas
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-openblas-0.3.19-1-any.pkg.tar.zst (392 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-openblas-0.3.21-7-any.pkg.tar.zst (38 days ago)
-- - vcpkg deps: mingw-w64-x86_64-gcc-libgfortran;mingw-w64-x86_64-gcc-libs;mingw-w64-x86_64-libwinpthread
-- + msys2 deps: mingw-w64-x86_64-gcc-libgfortran;mingw-w64-x86_64-gcc-libs;mingw-w64-x86_64-libwinpthread;mingw-w64-x86_64-omp
-- ! unknown deps: mingw-w64-x86_64-omp
-- mingw-w64-x86_64-gcc-libgfortran
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libgfortran-11.2.0-8-any.pkg.tar.zst (362 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libgfortran-12.2.0-9-any.pkg.tar.zst (3 days ago)
-- mingw-w64-x86_64-python
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-python-3.8.9-2-any.pkg.tar.zst (646 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-python-3.10.9-2-any.pkg.tar.zst (5 days ago)
-- mingw-w64-x86_64-bzip2
-- mingw-w64-x86_64-mpdecimal
-- mingw-w64-x86_64-ncurses
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-ncurses-6.3-3-any.pkg.tar.zst (404 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-ncurses-6.3-6-any.pkg.tar.zst (71 days ago)
-- mingw-w64-x86_64-libsystre
-- mingw-w64-x86_64-libtre
-- mingw-w64-x86_64-openssl
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-openssl-1.1.1.m-1-any.pkg.tar.zst (397 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-openssl-3.0.7-3-any.pkg.tar.zst (0 days ago)
-- - vcpkg deps: mingw-w64-x86_64-ca-certificates;mingw-w64-x86_64-gcc-libs;mingw-w64-x86_64-zlib
-- + msys2 deps: 
-- mingw-w64-x86_64-ca-certificates
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-ca-certificates-20210119-1-any.pkg.tar.zst (468 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-ca-certificates-20211016-4-any.pkg.tar.zst (2 days ago)
-- mingw-w64-x86_64-p11-kit
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-p11-kit-0.24.1-1-any.pkg.tar.zst (363 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-p11-kit-0.24.1-3-any.pkg.tar.zst (162 days ago)
-- mingw-w64-x86_64-libtasn1
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libtasn1-4.18.0-1-any.pkg.tar.zst (427 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libtasn1-4.19.0-1-any.pkg.tar.zst (148 days ago)
-- mingw-w64-x86_64-sqlite3
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-sqlite3-3.37.2-1-any.pkg.tar.zst (375 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-sqlite3-3.40.1-1-any.pkg.tar.zst (18 days ago)
-- - vcpkg deps: mingw-w64-x86_64-gcc-libs;mingw-w64-x86_64-readline;mingw-w64-x86_64-tcl
-- + msys2 deps: mingw-w64-x86_64-gcc-libs;mingw-w64-x86_64-readline;mingw-w64-x86_64-tcl;mingw-w64-x86_64-zlib
-- mingw-w64-x86_64-readline
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-readline-8.1.001-1-any.pkg.tar.zst (517 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-readline-8.2.001-6-any.pkg.tar.zst (9 days ago)
-- mingw-w64-x86_64-termcap
-- mingw-w64-x86_64-tk
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-tk-8.6.11.1-2-any.pkg.tar.zst (647 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-tk-8.6.12-1-any.pkg.tar.zst (117 days ago)
-- mingw-w64-x86_64-tcl
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-tcl-8.6.11-5-any.pkg.tar.zst (522 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-tcl-8.6.12-1-any.pkg.tar.zst (117 days ago)
-- mingw-w64-x86_64-xz
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-xz-5.2.5-2-any.pkg.tar.zst (758 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-xz-5.2.9-1-any.pkg.tar.zst (49 days ago)
-- - vcpkg deps: mingw-w64-x86_64-gcc-libs;mingw-w64-x86_64-gettext
-- + msys2 deps: mingw-w64-x86_64-gettext
-- mingw-w64-x86_64-gettext
-- mingw-w64-x86_64-gcc-libs
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libs-11.2.0-8-any.pkg.tar.zst (362 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libs-12.2.0-9-any.pkg.tar.zst (3 days ago)
-- - vcpkg deps: mingw-w64-x86_64-gmp;mingw-w64-x86_64-libwinpthread;mingw-w64-x86_64-mpc;mingw-w64-x86_64-mpfr
-- + msys2 deps: mingw-w64-x86_64-libwinpthread
-- mingw-w64-x86_64-mpc
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpc-1.2.1-1-any.pkg.tar.zst (752 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpc-1.3.1-1-any.pkg.tar.zst (24 days ago)
-- - vcpkg deps: mingw-w64-x86_64-mpfr
-- + msys2 deps: mingw-w64-x86_64-gmp;mingw-w64-x86_64-mpfr
-- mingw-w64-x86_64-mpfr
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpfr-4.1.0-3-any.pkg.tar.zst (832 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpfr-4.2.0-1-any.pkg.tar.zst (13 days ago)
-- - vcpkg deps: mingw-w64-x86_64-gmp
-- + msys2 deps: mingw-w64-x86_64-gcc-libs;mingw-w64-x86_64-gmp
-- mingw-w64-x86_64-gmp
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gmp-6.2.1-3-any.pkg.tar.zst (379 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gmp-6.2.1-4-any.pkg.tar.zst (24 days ago)
-- mingw-w64-x86_64-expat
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-expat-2.4.4-1-any.pkg.tar.zst (355 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-expat-2.5.0-1-any.pkg.tar.zst (77 days ago)
-- mingw-w64-x86_64-libffi
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libffi-3.3-4-any.pkg.tar.zst (648 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libffi-3.4.4-1-any.pkg.tar.zst (83 days ago)
-- mingw-w64-x86_64-libiconv
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libiconv-1.16-2-any.pkg.tar.zst (763 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libiconv-1.17-1-any.pkg.tar.zst (224 days ago)
-- mingw-w64-x86_64-zlib
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-zlib-1.2.11-9-any.pkg.tar.zst (744 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-zlib-1.2.13-2-any.pkg.tar.zst (62 days ago)
-- mingw-w64-x86_64-libwinpthread
-- - vcpkg: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libwinpthread-git-9.0.0.6373.5be8fcd83-1-any.pkg.tar.zst (379 days ago)
-- + msys2: https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libwinpthread-git-10.0.0.r202.g4359b3570-1-any.pkg.tar.zst (11 days ago)
CMake Warning at scripts/test_ports/vcpkg-ci-msys2/portfile.cmake:209 (message):
  The following msys2 packages have changed dependencies: unzip gzip bash
  autoconf autoconf-archive diffutils binutils libtool file bzip2 grep sed m4
  automake-wrapper gawk mpfr xz liblzma ncurses automake1.16 perl pkg-config
  make gettext-devel gettext tar libintl libiconv gcc-libs which
  mingw-w64-x86_64-openblas mingw-w64-x86_64-openssl mingw-w64-x86_64-sqlite3
  mingw-w64-x86_64-xz mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-mpc
  mingw-w64-x86_64-mpfr
Call Stack (most recent call first):
  scripts/ports.cmake:147 (include)


CMake Warning at scripts/test_ports/vcpkg-ci-msys2/portfile.cmake:215 (message):
  The following msys2 packages would be needed to update all dependencies:
  automake1.11 automake1.12 automake1.13 automake1.14 automake1.15 awk db
  gdbm libiconv-devel mingw-w64-x86_64-omp
Call Stack (most recent call first):
  scripts/ports.cmake:147 (include)


CMake Error at scripts/test_ports/vcpkg-ci-msys2/portfile.cmake:223 (message):
  The following msys2 packages were build more than 6 months ago and should
  be updated: libbz2 patch gzip texinfo bash autoconf autoconf-archive
  diffutils binutils file zlib bzip2 libbz2 coreutils grep sed libpcre gawk
  mpfr gmp xz liblzma libreadline ncurses automake1.16 perl libcrypt
  pkg-config make gettext-devel gettext tar libgettextpo libasprintf
  findutils libintl libiconv gcc-libs msys2-runtime
  mingw-w64-x86_64-python-numpy mingw-w64-x86_64-openblas
  mingw-w64-x86_64-gcc-libgfortran mingw-w64-x86_64-python
  mingw-w64-x86_64-ncurses mingw-w64-x86_64-openssl
  mingw-w64-x86_64-ca-certificates mingw-w64-x86_64-p11-kit
  mingw-w64-x86_64-libtasn1 mingw-w64-x86_64-sqlite3
  mingw-w64-x86_64-readline mingw-w64-x86_64-tk mingw-w64-x86_64-tcl
  mingw-w64-x86_64-xz mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-mpc
  mingw-w64-x86_64-mpfr mingw-w64-x86_64-gmp mingw-w64-x86_64-expat
  mingw-w64-x86_64-libffi mingw-w64-x86_64-libiconv mingw-w64-x86_64-zlib
  mingw-w64-x86_64-libwinpthread
Call Stack (most recent call first):
  scripts/ports.cmake:147 (include)

@dg0yt
Copy link
Contributor Author

dg0yt commented Jan 20, 2023

So libtool in vcpkg was updated after removal from msys2 servers... And now we wait for the next package to break? zlib seems a good candidate. The package downloaded by vcpkg is from 2186 days ago - app. 6 years old. vcpkg has to be some months ahead of package removal from msys2 servers in order to mitigate effects on user which aren't on vcpkg HEAD.

I can try to incrementally improve the situation based on the test ports output.
From my first experiments, this includes refactoring of vcpkg_acquire_msys, to enable better match with msys2 dependencies.

  • Upstream has circular dependencies (e.g. libintl <-> libiconv). vcpkg could extract the packages in any order, but currently it cannot handle these cases.
  • In theory, vcpkg_acquire_msys could read dependencies from the package in the same way as the test port does it now. This would simplify updates. However:
    • This also implies handling of "provides" properties (e.g. bash provides sh). These have to be hardcoded if we don't want to search the whole database for providers of missing names.
    • Upstream's dependencies also include package which are not strictly required for the vcpkg use case, e.g. info.

The test port currently doesn't cover "direct packages" such as pkg-config (which is x86!) from vcpkg_find_acquire_program. However, these packages have the same potential to disrupt vcpkg usage when they are removed from msys2 server.

@Neumann-A
Copy link
Contributor

Upstream has circular dependencies (e.g. libintl <-> libiconv). vcpkg could extract the packages in any order, but currently it cannot handle these cases.

It is not really a circular dependency. It is libiconv -> libintl (to get gettext tools) -> libiconv with nls -> libintl with nls. So having just libintl depend on libiconv is ok (since we don't build msys stuff.)

Also why do we have ncurses and python from msys ?

@dg0yt
Copy link
Contributor Author

dg0yt commented Jan 20, 2023

Upstream has circular dependencies (e.g. libintl <-> libiconv). vcpkg could extract the packages in any order, but currently it cannot handle these cases.

It is not really a circular dependency. It is libiconv -> libintl (to get gettext tools) -> libiconv with nls -> libintl with nls. So having just libintl depend on libiconv is ok (since we don't build msys stuff.)

Well, package libintl is really just libintl, depending on libiconv. Tools are in package gettext.
However, package libiconv also has iconv.exe which depends on libintl.

Also why do we have ncurses and python from msys ?

ncurses is a dependency of readline which is a dependeny of gawk which is... (autotools).
Don't know about mingw-w64-x86_64-python. But once the name is in the scripts, it cannot be removed.

github-actions[bot]
github-actions bot previously approved these changes Jan 20, 2023
Comment on lines -144 to -145
URL "https://repo.msys2.org/msys/x86_64/libbz2-1.0.8-3-x86_64.pkg.tar.zst"
SHA512 955420cabd45a02f431f5b685d8dc8acbd07a8dcdda5fdf8b9de37d3ab02d427bdb0a6d8b67c448e307f21094e405e916fd37a8e9805abd03610f45c02d64b9e
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

libbz2 was listed twice.

Comment on lines -8 to -10
"https://mirror.bit.edu.cn/msys2/"
"https://mirror.selfnet.de/msys2/"
"https://mirrors.sjtug.sjtu.edu.cn/msys2/"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed tier 2 mirrors.
The main switch is now the main URL, mirror.msys2.org.

Comment on lines 162 to 165
NAME autoconf
URL "https://mirror.msys2.org/msys/x86_64/autoconf-wrapper-15-1-any.pkg.tar.zst"
SHA512 7c0f0c619100d05c82409567399253efddee9b39fff7dd772e503770afd4accbae2ce96307a20b076faf2e308413cd25e7405e70969608223bc86c7016ec38b8
DEPS autoconf2.71
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New autoconf packaging.

Comment on lines 291 to 294
URL "https://repo.msys2.org/msys/x86_64/pkg-config-0.29.2-4-x86_64.pkg.tar.zst"
SHA512 9f72c81d8095ca1c341998bc80788f7ce125770ec4252f1eb6445b9cba74db5614caf9a6cc7c0fcc2ac18d4a0f972c49b9f245c3c9c8e588126be6c72a8c1818
NAME pkg-config
URL "https://mirror.msys2.org/msys/x86_64/pkgconf-1.8.0-2-x86_64.pkg.tar.zst"
SHA512 4fcc1671969098b9b7c79192f90d3c0396ad65cb6efc44fdd7e6e7a37452f0bf4a38fb2ef63e73b0f9883a87c9f248c38b7f66c7d762bfbbd0da1d22aec5b52d
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pkg-config.exe is now provided from package pkgconf.

github-actions[bot]
github-actions bot previously approved these changes Jan 20, 2023
github-actions[bot]
github-actions bot previously approved these changes Jan 20, 2023
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

error: checked-in files for libxau have changed but the version was not updated
version: 1.0.9
old SHA: d82d4195d09a023e7a7fbc1c3a726a2f9f917a33
new SHA: 065123320d11c2fc6c6e4f2348695639b4a4b794
Did you remember to update the version or port version?
Use --overwrite-version to bypass this check
***No files were updated***

You have modified or added at least one portfile where deprecated functions are used.

If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake -> vcpkg_cmake_install (from port vcpkg-cmake)
vcpkg_build_cmake -> vcpkg_cmake_build (from port vcpkg-cmake)
vcpkg_configure_cmake -> vcpkg_cmake_configure (Please remove the option PREFER_NINJA) (from port vcpkg-cmake)
vcpkg_fixup_cmake_targets -> vcpkg_cmake_config_fixup (from port vcpkg-cmake-config)
vcpkg_extract_source_archive_ex -> vcpkg_extract_source_archive
vcpkg_build_msbuild -> vcpkg_install_msbuild
vcpkg_copy_tool_dependencies -> vcpkg_copy_tools
vcpkg_apply_patches should be replaced by the PATCHES arguments to the "extract" helpers (e.g. vcpkg_from_github())

In the ports that use the new function, you have to add the corresponding dependencies:

{
  "name": "vcpkg-cmake",
  "host": true
},
{
  "name": "vcpkg-cmake-config",
  "host": true
}

The following files are affected:

  • ports/gettext/portfile.cmake

You have modified or added at least one vcpkg.json where you should check the license field.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/gettext/vcpkg.json

Valid values for the license field can be found in the documentation

@dg0yt
Copy link
Contributor Author

dg0yt commented Jan 27, 2023

So this is how libtool looks for the x64-windows import library of ws2_32 and fails:

 - /D/installed/x64-windows/lib
 - /C/PROGRA~1/MICROS~1/2022/ENTERP~1/VC/Tools/MSVC/1434~1.319/atlmfc/lib/x64
 - /C/PROGRA~1/MICROS~1/2022/ENTERP~1/VC/Tools/MSVC/1434~1.319/lib/x64
 - /C/PROGRA~2/WI3CF2~1/NETFXSDK/4.8/Lib/um/x64
 - /C/PROGRA~2/WI3CF2~1/10/Lib/100226~1.0/ucrt/x64
 - /C/PROGRA~2/WI3CF2~1/10/Lib/100226~1.0/um/x64
!!! '/C/PROGRA~2/WI3CF2~1/10/Lib/100226~1.0/um/x64/WS2_32.Lib'
 - /c/a/1/s/scripts/buildsystems/make_wrapper
 - /c/Program
 - Files/Microsoft
 - Visual
 - Studio/2022/Enterprise/VC/Tools/MSVC/14.34.31933/bin/HostX64/x64
 - /c/Program
 - Files/Microsoft
 - Visual
 - Studio/2022/Enterprise/Common7/IDE/VC/VCPackages
 - /c/Program
 - Files/Microsoft
 - Visual
 - Studio/2022/Enterprise/Common7/IDE/CommonExtensions/Microsoft/TestWindow
 - /c/Program
 - Files/Microsoft
 - Visual
 - Studio/2022/Enterprise/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation/Team
 - Explorer
 - /c/Program
 - Files/Microsoft
 - Visual
 - Studio/2022/Enterprise/MSBuild/Current/bin/Roslyn
 - /c/Program
 - Files/Microsoft
 - Visual
 - Studio/2022/Enterprise/Team
 - Tools/Performance
 - Tools/x64
 - /c/Program
 - Files/Microsoft
 - Visual
 - Studio/2022/Enterprise/Team
 - Tools/Performance
 - Tools
 - /c/Program
 - Files
 - (x86)/Microsoft
 - SDKs/Windows/v10.0A/bin/NETFX
 - 4.8
 - Tools/x64
 - /c/Program
 - Files
 - (x86)/HTML
 - Help
 - Workshop
 - /c/Program
 - Files/Microsoft
 - Visual
 - Studio/2022/Enterprise/Common7/IDE/Extensions/Microsoft/CodeCoverage.Console
 - /c/Program
 - Files
 - (x86)/Windows
 - Kits/10/bin/10.0.22621.0/x64
 - /c/Program
 - Files
 - (x86)/Windows
 - Kits/10/bin/x64
 - /c/Program
 - Files/Microsoft
 - Visual
 - Studio/2022/Enterprise/MSBuild/Current/Bin/amd64
 - /c/Windows/Microsoft.NET/Framework64/v4.0.30319
 - /c/Program
 - Files/Microsoft
 - Visual
 - Studio/2022/Enterprise/Common7/IDE
 - /c/Program
 - Files/Microsoft
 - Visual
 - Studio/2022/Enterprise/Common7/Tools
 - /c/Program
 - Files/PowerShell/7
 - /c/a/1/s/scripts/buildsystems/make_wrapper
 - /usr/share/automake-1.16
 - /usr/bin
 - /c/Windows/system32
!!! '/c/Windows/system32/ws2_32.dll'
 - /c/Windows
 - /c/Windows/system32/Wbem
 - /c/Windows/system32/WindowsPowerShell/v1.0
 - /c/Program
 - Files/Microsoft
 - Visual
 - Studio/2022/Enterprise/VC/Tools/Llvm/x64/bin
 - /c/Program
 - Files/Microsoft
 - Visual
 - Studio/2022/Enterprise/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin
 - /c/Program
 - Files/Microsoft
 - Visual
 - Studio/2022/Enterprise/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja
 - /c/Program
 - Files/Microsoft
 - Visual
 - Studio/2022/Enterprise/Common7/IDE/VC/Linux/bin/ConnectionManagerExe
 - /d/downloads/tools/win_bison/2.5.25
 - /c/Program
 - Files/Microsoft
 - Visual
 - Studio/2022/Enterprise/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja
 - /d/downloads/tools/msys2/9a1ec3f33446b195/mingw32/bin

*** Warning: linker path does not have real file for library -lws2_32.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with ws2_32 and none of the candidates passed a file format test
*** using a file magic. Last file checked: /c/Windows/system32/ws2_32.dll
  • It finds /C/PROGRA~2/WI3CF2~1/10/Lib/100226~1.0/um/x64/WS2_32.Lib but doesn't accept it.
    (Not okay! This is the desired file.)
    (However we would need a dependency on port winsock2 because this is that port's reason to exist.)
  • It finds /c/Windows/system32/ws2_32.dll but doesn't accept it.
    (Okay, but shouldn't reach this point.)
  • While libtool properly looks at the library path (even converted to DOS conventions to resolve spaces), the spaces in PATH explode.

Relevant libtool variables:

# Object dumper program.
OBJDUMP="objdump"

# Method to check whether dependent libraries are shared objects.
deplibs_check_method="file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)"

# Command to use when deplibs_check_method = "file_magic".
file_magic_cmd="\$OBJDUMP -f"

# How to find potential files when deplibs_check_method = "file_magic".
file_magic_glob=""

# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
want_nocaseglob="yes"

AFAIU it should use file_magic_cmd="func_win32_libid", i.e. command file instead of objdump. Because is the preferred method in libtool setup, and file is provided via MSYS_ROOT.

@BillyONeal
Copy link
Member

I manually cancelled the build because it was stuck trying to build gettext for more than a day

@@ -203,7 +203,8 @@ function(vcpkg_configure_make)
# Pre-processing windows configure requirements
if (VCPKG_TARGET_IS_WINDOWS)
if(CMAKE_HOST_WIN32)
list(APPEND msys_require_packages binutils libtool autoconf automake-wrapper automake1.16 m4 which)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

which was added recently. Why did you remove it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It took me a moment to understand which is which...
I was taking the msys2 autotools package as a guideline. And there is ADDITIONAL_MSYS_PACKAGES. And from recent discussion I got the impression that which is also a shell built-in, but IIUC this is wrong at least for bash.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry for the missing code highlighting

@dg0yt dg0yt dismissed stale reviews from MonicaLiu0311 and BillyONeal via fefd698 May 22, 2023 22:59
@dg0yt
Copy link
Contributor Author

dg0yt commented May 23, 2023

Updated to resolve merge conflicts.

@dg0yt
Copy link
Contributor Author

dg0yt commented May 24, 2023

If vcpkg in VS is lagging behind the fixes in this repo, vcpkg really needs to catch msys2 updates much earlier, in advance to msys2 package removal.
#31565
#31577

@dg0yt
Copy link
Contributor Author

dg0yt commented May 26, 2023

@BillyONeal @ras0219-msft There is only one mirror left (out of eight) providing the outdated/removed grep package, https://mirrors.sjtug.sjtu.edu.cn/msys2/msys/x86_64/grep-3.0-2-x86_64.pkg.tar.xz
It has been two weeks since it was reported in #31446.

Robert doesn’t want rerunning the same CI run to fail because the date changed,

In the end this is going to happen because the PR was not merged, for those who don't have an asset cache.

@dg0yt
Copy link
Contributor Author

dg0yt commented May 27, 2023

Merging master always means asking for baseline regessions.
podofo adressed in #31658.

@BillyONeal
Copy link
Member

Merging master always means asking for baseline regessions.

I was going to compare with a recent CI run and merge around that if necessary.

podofo adressed in #31658.

Thank you!

@BillyONeal BillyONeal merged commit 1c5a340 into microsoft:master May 29, 2023
13 of 15 checks passed
@dg0yt dg0yt deleted the msys2-refresh branch May 29, 2023 09:05
msvetkin added a commit to reMarkable/vcpkg that referenced this pull request Jun 2, 2023
mikedickey added a commit to jacktrip/jacktrip that referenced this pull request Jun 2, 2023
Bumping to latest master commit to try pulling in this PR

microsoft/vcpkg#29067
@dg0yt dg0yt mentioned this pull request Jun 2, 2023
seragh added a commit to seragh/fcollada that referenced this pull request Jun 3, 2023
microsoft/vcpkg#29067

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
@dg0yt
Copy link
Contributor Author

dg0yt commented Jun 4, 2023

The grep is gone wave of issues is rolling in now.
#31446
#31808
#31812

I hope it is the last one.

@Adela0814 Adela0814 mentioned this pull request Jun 5, 2023
msvetkin added a commit to reMarkable/vcpkg that referenced this pull request Jun 8, 2023
daschuer pushed a commit to daschuer/vcpkg that referenced this pull request Jun 10, 2023
…ss (microsoft#29067)

* [vcpkg-ci-msys2] New test port for msys2 freshness

* Add features for script updates

* Remove duplicate libbz2 entry

* Automatically update all msys packages, add autoconf-wrapper

* Update primary URL and mirrors

* Follow repo renames

* Fix dependencies of 'file'

* Resolve dependencies at runtime

Don't require msys2 packages to be order from dependent to independent.
This allows to directly use the packages official dependencies, even
if they contain cycles.
It also allows to maintain a stable alphabetical order of the package
declarations, even if the dependencies change over time. This helps to
avoid duplicate declaration.

* Fix updating

* [gettext] Preset more MSVC checks

* Update msys2 packages

* gettext fixes

* CI

* Simplify: Remove update-critical

Desired changes can be picked in git gui etc..

* PKGCONFIG moved

---------

Co-authored-by: Monica <v-liumonica@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
daschuer pushed a commit to daschuer/vcpkg that referenced this pull request Jul 9, 2023
…ss (microsoft#29067)

* [vcpkg-ci-msys2] New test port for msys2 freshness

* Add features for script updates

* Remove duplicate libbz2 entry

* Automatically update all msys packages, add autoconf-wrapper

* Update primary URL and mirrors

* Follow repo renames

* Fix dependencies of 'file'

* Resolve dependencies at runtime

Don't require msys2 packages to be order from dependent to independent.
This allows to directly use the packages official dependencies, even
if they contain cycles.
It also allows to maintain a stable alphabetical order of the package
declarations, even if the dependencies change over time. This helps to
avoid duplicate declaration.

* Fix updating

* [gettext] Preset more MSVC checks

* Update msys2 packages

* gettext fixes

* CI

* Simplify: Remove update-critical

Desired changes can be picked in git gui etc..

* PKGCONFIG moved

---------

Co-authored-by: Monica <v-liumonica@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Lex-2008 pushed a commit to Lex-2008/vcpkg that referenced this pull request Oct 10, 2023
@dg0yt dg0yt mentioned this pull request Feb 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:infrastructure Pertaining to the CI/Testing infrastrucutre requires:vcpkg-team-review This PR or issue requires someone on the vcpkg team to take a further look.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants