This changes our PR builds to treat 'fail' in the ci.baseline.txt as 'skip' instead of using tombstones.
We currently have large numbers of spurious failures that get enshrined in PRs through no fault of a PR author, removing the tombstones concept will fix those by allowing the user to retry. This does mean we accept some risk of not detecting when a port is 'fixed', but that failure is reasonable for us to handle after we see it in CI, but that seems worth it given that it lets us get rid of the tombstone concept.
This also helps out the binary caching feature, because we don't have to figure out how to productize tombstones.
==== Changes Related to manifests ====
* Add the `manifests` feature flag
* This only says whether we look for a `vcpkg.json` in the cwd, not
whether we support parsing manifests (for ports, for example)
* Changes to the manifests RFC
* `"authors"` -> `"maintainers"`
* `--x-classic-mode` -> `-manifests` \in `vcpkg_feature_flags`
* reserve `"core"` in addition to `"default"`, since that's already
reserved for features
* Add a small helper note about what identifiers must look like
* `<license-string>`: SPDX v3.8 -> v3.9
* `"feature"."description"` is allowed to be an array of strings as well
* `"version"` -> `"version-string"` for forward-compat with versions
RFC
* Add the `--feature-flags` option
* Add the ability to turn off feature flags via passing
`-<feature-flag>` to `VCPKG_FEATURE_FLAGS` or `--feature-flags`
* Add CMake toolchain support for manifests
* Requires either:
* a feature flag of `manifests` in either `Env{VCPKG_FEATURE_FLAGS}`
or `VCPKG_FEATURE_FLAGS`
* Passing the `VCPKG_ENABLE_MANIFESTS` option
* The toolchain will install your packages to
`${VCPKG_MANIFEST_DIR}/vcpkg_installed`.
* Add MSBuild `vcpkg integrate install` support for manifests
* Requires `VcpkgEnableManifest` to be true
* `vcpkg create` creates a port that has a `vcpkg.json` instead of a
`CONTROL`
* argparse, abseil, 3fd, and avisynthplus ports switched to manifest
from CONTROL
* Add support for `--x-manifest-root`, as well as code for finding it if
not passed
* Add support for parsing manifests!
* Add a filesystem lock!
==== Important Changes which are somewhat unrelated to manifests ====
* Rename `logicexpression.{h,cpp}` to `platform-expression.{h,cpp}`
* Add `PlatformExpression` type which takes the place of the old logic
expression
* Split the parsing of platform expressions from checking whether
they're true or not
* Eagerly parse PlatformExpressions as opposed to leaving them as
strings
* Add checking for feature flag consistency
* i.e., if `-binarycaching` is passed, you shouldn't be passing
`--binarysource`
* Add the `Json::Reader` type which, with the help of user-defined
visitors, converts JSON to your internal type
* VcpkgArgParser: place the switch names into a constant as opposed to
using magic constants
* In general update the parsing code so that this ^ works
* Add `Port-Version` fields to CONTROL files
* This replaces the existing practice of
`Version: <my-version>-<port-version>`
==== Smaller changes ====
* small drive-by cleanups to some CMake
* `${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}` ->
`${CURRENT_INSTALLED_DIR}`
* Remove `-analyze` when compiling with clang-cl, since that's not a
supported flag (vcpkg's build system)
* Add a message about which compiler is detected by vcpkg's build
system machinery
* Fix `Expected::then`
* Convert `""` to `{}` for `std::string` and `fs::path`, to avoid a
`strlen` (additionally, `.empty()` instead of `== ""`, and `.clear()`)
* Add `Strings::strto` which converts strings to numeric types
* Support built-in arrays and `StringView` for `Strings::join`
* Add `operator<` and friends to `StringView`
* Add `substr` to `StringView`
* SourceParagraphParser gets some new errors
* [hdf5] Update HDF5 to 1.12 and use github live-clones instead of binary download
* [hdf5] bump control
* [hdf5] fix szip and typo about linkage
* [hdf5] add missing package namespace.... they somehow missed to set it?
* [hdf5] retry without "
* [field3d] fix regression and update. Remove windows as unsupported since the cmakelists tries to support windows
* fix typo
* remove ws
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
* linebreak first patch
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
* ws change
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
* [field3d] update copying installation
* [hdf5] use official github repo
* clean baseline
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
* [cgns] add port cgns
* [paraview] add new port
* [paraview] correct dependencies; disable catalyst
* [VTK/ParaView] Make ParaView build
* [paraview] add missing patch
* [paraview] add cgns patch
* [paraview] add qt plugin patches back in. Remove in the future
* [vtk] slightly improved patches
* [vtk] don't disable findPython
* [paraview] add more features
* [paraview] remove X11Extras from OSX
* [vtk] make vtk workcorrectly with python and prepare for paraview with python
* [paraview] Python fixes
* [paraview] small bin -> lib replacement fix for static builds
* [vtk] fix patch path
* update baseline to exclude paraview for the time being on osx and linux.
requires a fix in qt5-base linkage of libpq.
* [paraview]try setting LD_LIBRARY_PATH for unix systems
* [paraview] a bit of cleanup
* update baseline
* fix typo in baseline
* [paraview] remove unnecessary patch
* [vtk] replace custom patch with upstream patch
* [paraview] cleanup in the portfile.
* Update ports/paraview/CONTROL
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
* [tinyfiledialogs] Re-trigger CI test
* [msix] Fix source hash
* [geographiclib] Re-trigger CI test
* [soundtouch] Re-trigger CI test
* update baseline
* [plplot] Re-trigger CI test
* [dmlc] Fix issues with parallel configuration
* [tclap] Re-trigger CI test
* [itpp] Re-trigger CI test
* [mpg123] Re-trigger CI test
* [qwt] Re-trigger CI test
* [soundtouch] Re-trigger CI test
* [pthreads] Re-trigger CI test
* Enable compilation of libpcap port on x86-windows and x64-windows
As winpcap and libpcap install the same headers, this two
port have been marked as not not compatible, and cannot be
installed together.
* Update ci.baseline.txt
* Add libcrafter failing ports to ci.baseline.txt
* [BitSerializer] Update to version 0.9
* [bitserializer] Update to version 0.10
* [bitserializer] Enable all features by default
* [bitserializer] Update hash of tagged commit and remove "rapidyaml-archive" from default list of features
* [bitserializer] Add alias packages for deprecated BitSerializer's libraries
* Skip bitserializer-rapidyaml for arm and osx
* Update scripts/ci.baseline.txt
Co-authored-by: Pavel_Kisliak <Pavel_Kisliak@epam.com>
Co-authored-by: PhoebeHui <20694052+PhoebeHui@users.noreply.github.com>
* [licensepp] Add new port
* [cryptopp-pem] Update to a newer version that will make lincensepp happy
* Revert "[cryptopp-pem] Update to a newer version that will make lincensepp happy"
This reverts commit 726e3ce3d20bc6266bc7bf63cb35572fe297869f.
This version can not compile with cryptopp.
* [licensepp] Finish it
* [licensepp] Fix interface include directory
* [licensepp] Fixup cmake targets
* [licensepp] -O3 is not recognised by msvc
* [licensepp] Fix _iterator_debug_level value mismatch
* [licensepp] Update patch file
* [licensepp] Fail fast on UWP
* [licensepp] Simplify patch file
* [licensepp] Tabs -> Spaces
* [avisynthplus] Upgrade to 3.6.0
AviSynth+ also supports linux and macOS now
* [avisynthplus] Allow x64-linux build fail on CI
AviSynth+ requires C++17 to build correctly. C++17 std::filesystem is not available in gcc 7.5 used in CI.
* [Arrow] Update to 0.17.1
* Remove arrow:x64-linux=fail from ci.baseline.txt.
Add explicit tool dependencies on Flex and Bison for Linux and OSX.
* Revert arrow dependency on Flex/Bison, it's Thrift that needs them and its portfile is already fine.
* Use vcpkg_fail_port_install(ON_ARCH x86 arm arm64) instead of custom check.
Remove thrift:x64-osx=fail from ci.baseline.txt (we know arrow depends on it, and arrow:x64-osx has been shown to work in 3rd party project).
* Disable using pkg-config files to locate dependencies in arrow
This is incompatible with vcpkg as these files refer to paths in the
packages directory rather than the installed directory, so this only
works if the packages haven't been cleaned.
* Mark thrift:x64-osx as still failing until a proper solution for Bison can be found.
* Update ports/arrow/portfile.cmake
Co-authored-by: Adam Reeve <adreeve@gmail.com>
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
* [vcpkg] Remove do-nothing Set-Content from Windows azure-pipelines.yml.
* [vcpkg] Fix OSX CI by ensuring the downloads directory exists in advance, and extract common command line parameters with powershell splatting.
* [tensorflow-cc] Prevent hang building tensorflow-cc asking to configure iOS.
* Skip ignition-msgs5:x64-osx
* [google-cloud-cpp] Consolidate all google-cloud* packages
Starting with the v1.14.0 release all google-cloud* packages and the
googleapis package are kept in a single repository and released
simultaneously.
* Update CI baseline.
google-cloud-cpp used to inherit failures from googleapis, which
indicates these are (probably) problems in the generated protobuf/grpc
code.
* [ace] Update to 6.5.8
* Address review comments
* ports/ace/portfile.cmake:
* Put back copy step
* ports/ace/portfile.cmake:
* Fixed error
* ports/ace/portfile.cmake:
* ARM should work, let us try it
* ports/ace/portfile.cmake:
* ARM doesn't work yet, so disable it again
* ports/ace/portfile.cmake:
* Add support for vcpkg of ace on MacOSX
* ports/ace/portfile.cmake:
* [ace] Add patch to fix Visual Studio 2019 internal compiler error
* ports/ace/process_manager.patch:
Added.
* ports/ace/CONTROL:
* ports/ace/portfile.cmake:
* Attempt to fix apply patches
* ports/ace/portfile.cmake:
* [ace] Updated baseline for ace, 4 configurations work again with the applied patch
* scripts/ci.baseline.txt:
* Address review comments
* ports/ace/portfile.cmake:
* Revised patch for ACE
* ports/ace/process_manager.patch:
* [ace] Add support for uwp
* ports/ace/portfile.cmake:
* ace now works in all configurations
* scripts/ci.baseline.txt:
* Removed !uwp and update version
* ports/ace/CONTROL:
* Simplified install of copyright file and on windows we always have a QoS library
* ports/ace/portfile.cmake:
* [simdjson] Update to 0.3.1
* [simdjson] Update CI baseline
* [simdjson] Include arm build
* [simdjson] Make UWP happy
* [simdjson] Turn off SIMDJSON_COMPETITION for linux
* [simdjson] Update to 2020-05-06
[simdjson] Turn off SIMDJSON_SANITIZE under DEBUG mode (#10145)
* [simdjson] Update to lastest
* wip
* [simdjson] Update to 2020-05-20
* [simdjson] Update to 2020-05-21
* [simdjson] Fix ninja build
* [simdjson] arm-uwp still not supported
* [simdjson] Update to 2020-05-22 and disable UWP patch
* [itk] You shall pass
* [simdjson] Fix x64-uwp
* Revert "[itk] You shall pass"
This reverts commit 885e8a8af4bcce2c02207d95cbfdce7078dd4a3b.
* [simdjson] Update
* [simdjson] Update to 2020-05-26
* [ace] Update to 6.5.8
* Address review comments
* ports/ace/portfile.cmake:
* Put back copy step
* ports/ace/portfile.cmake:
* Fixed error
* ports/ace/portfile.cmake:
* ARM should work, let us try it
* ports/ace/portfile.cmake:
* ARM doesn't work yet, so disable it again
* ports/ace/portfile.cmake:
* Add support for vcpkg of ace on MacOSX
* ports/ace/portfile.cmake:
* [ace] Add patch to fix Visual Studio 2019 internal compiler error
* ports/ace/process_manager.patch:
Added.
* ports/ace/CONTROL:
* ports/ace/portfile.cmake:
* Attempt to fix apply patches
* ports/ace/portfile.cmake:
* [ace] Updated baseline for ace, 4 configurations work again with the applied patch
* scripts/ci.baseline.txt:
* Address review comments
* ports/ace/portfile.cmake:
* Revised patch for ACE
* ports/ace/process_manager.patch:
* Update ports/ace/portfile.cmake
add comment about why the patch is needed
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
* Bump luafilesytem to 1.8.0 and lpeg to 1.0.2
* Code review changes for lpeg / luafilesystem
* [lpeg][luafilesystem] Remove windows only gates
* Remove failures from baseline
* update all 16 configure_make ports
* add make wrappers for msvc
* improve make builds
* fix relativ path errors on linux (and osx?)
* revisit all 16 portfiles again
* remove trace from install
* fix relative build path issues.
* bump control of the 16 configure ports
* never forget .... real linux is case sensitive ....
* Revert "bump control of the 16 configure ports"
This reverts commit 40d6d81c01d2709c4acbdbec503b4787c3fd8282.
* Revert "Revert "bump control of the 16 configure ports""
This reverts commit 9c9851ddfcd01bfad604ab9c9aed7379238d619a.
* bump control again for real ci rebuild
* add copy_source
* remove message
* pass parameters to vcpkg_build_make
* fix healpix build.
* fix libmagic regression
* fix libwandio regression
* pfring changes regression fix? (cannot test in wsl)
* ws change to retrigger CI
* fix libpq regression
* fix libudns regression
* add share/pkgconfig to PKG_CONFIG_PATH
* cleanup of deprecated options
* cleanup docs
* Revert "bump control again for real ci rebuild"
This reverts commit b4bc18edc2376eba6c3aa3dda52bd82286f23616.
* shared binaries on linux should stay in lib. Only dlls are mvoed to bin
* move pkgconfig check and add message about missing system packages
* added autopoint as a build requirement
* fix prerun shell working dir.
* a few fixes from the x windows pr
- add libpath setting
- fixed pkgconfig search on windows platforms
- fixed autopoint msys package on windows
* fix release prefix
* minimal cleanup and ws changes to trigger true CI rebuild
* fix tcl by upgrading
* remove unnecessary rename
* fix pfring? can't test in WSL. Linux kernel headers required.
* fix lowercase in patch
* fix libwandio
* remove x264 from fail list
* replace wrappers with wrappers from automake
* update make ports
* remove unnecessary message
* refactor vcpkg_configure_make
* [tcl] remove stray ?
* [farmhash] fix build
* [freexl] ws change to retrigger ci build
* [x264] add pthread as a dependency
* [vcpkg/scripts] add ignore flag correctly
* [sdl] fix vcpkg_fixup_pkgconfig call
* [farmhash/freexl] delete configure and recreate it.
* [libudns] remove trailing ?
* [freexl] use empty build target
* [freexl] add system library; remove previous change
* Update ports/x264/portfile.cmake
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
* [libwandio] remove unncessary comment
Co-authored-by: dan-shaw <51385773+dan-shaw@users.noreply.github.com>
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>