* [vcpkg] Implement --x-write-nuget-packages-config= setting for `install` and `x-set-installed`.
* [vcpkg] Add end-to-end testing suite for install, remove, and binary caching
* [vcpkg] Define `$TestingRoot in end-to-end-tests.ps1
* [vcpkg] Address CR comments
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* [vcpkg] Upgrade find_acquire_program(NUGET) to 5.5.1. Add partial SHA to temporary download paths to avoid collisions.
* [vcpkg] Fix regression in `vcpkg export --nuget` due to file locking on .vcpkg-root
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
==== 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
* [vcpkg] Initial implementation of --x-binarysource=nuget
* [vcpkg] Remove double-double quoting of CMake arguments
* [vcpkg] Update nuget.exe to 5.5.1 to support Azure DevOps Artifacts
* [vcpkg] Enable batching of NuGet server calls with prefetch(). Add `interactive` binarysource.
* [vcpkg] Add `nugetconfig` binary source
* [vcpkg] Short circuit querying remote NuGet servers once all refs are found
* [vcpkg] Add experimental help for binary caching
* [vcpkg] Improved NuGet cache package descriptions and version formatting
* [vcpkg] Rename `CmdLineBuilder::build()` to extract()
* [vcpkg-help] Ascii-betize help topics
* [vcpkg] Add tests for cmdlinebuilder. Improve handling of quotes and slashes.
* [vcpkg] Addressing code review comments
* [vcpkg] Add tests for vcpkg::reformat_version()
* [vcpkg] Added test for vcpkg::generate_nuspec()
* [vcpkg] Add tests for vcpkg::XmlSerializer
* [vcpkg] Addressed code review comment
* [vcpkg] Add test for vcpkg::Strings::find_first_of
* [vcpkg] Fix machine-specific paths in test for vcpkg::generate_nuspec()
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* [vcpkg] Add disk space report to PR/CI
Example output:
```
Disk Label Size Free Space
---- ----- ---- ----------
C: Sabrent 1907 GiB 1239 GiB
D: Dev 447 GiB 383 GiB
E: Samsung 960 Pro 1908 GiB 1084 GiB
H: Rocket 3815 GiB 863 GiB
R: 0 B 0 B
S: 0 B 0 B
```
* [ignition-plugin1] Add new port
* vcpkg_fixup_cmake_targets: Add DO_NOT_DELETE_PARENT_CONFIG_PATH
By default the vcpkg_fixup_cmake_targets script remove the parent
path of CONFIG_PATH if it named "cmake", this behaviour is not convenient
for ports that install more than one CMake package config file, and
for which vcpkg_fixup_cmake_targets is invoked multiple times.
To optionally disable this behaviour, this commit adds the option
DO_NOT_DELETE_PARENT_CONFIG_PATH to vcpkg_fixup_cmake_targets.
* [ignition-modularscripts] Add support for ignition libraries that install multiple CMake package config files
Some ignition libraries install several CMake package config files,
to represent the different components of the library. This commit modifies
the ignition_modular_library function to fixup correctly all the cmake package config files.
* vcpkg_fixup_pkgconfig: Move definition of SYSTEM_LIBRARIES to vcpkg_common_definitions
To correctly validate installed pkg-config files, vcpkg_fixup_pkgconfig needs to know
for each platform which libraries are not managed by vcpkg. This commits improve this
definitions for all the triplet supported by vcpkg, and move this definition to vcpkg_common_definitions
in a way that permit custom triplets to overload its value.
* [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>
* [vcpkg] Refactor out abi_tags_from_pre_build_info()
* [vcpkg] Track Windows toolchain file in triplet hash
* [vcpkg] Improve error messages when constructing PreBuildInfo
* [vcpkg] Extract InstallPlanAction::BuildAbiInfo
* [vcpkg] Extract Build::EnvCache and private-impl VcpkgPaths
* [vcpkg] Enable compiler hash detection when binarycaching is enabled
* [vcpkg] Downgrade warning about missing ABI keys
When binarycaching is not enabled, this warning is spurious and provides no user value.
* [vcpkg] Cleanup
* [vcpkg] Refactor compiler tracking into triplet abi computation
Move several static global caches into VcpkgPaths/EnvCache.
Add feature flag 'compilertracking' to enable the new feature.
* [vcpkg] Refactor out PreBuildInfo::using_vcvars()
Move VcpkgTripletVar into build.cpp because it is not used outside that file.
* [vcpkg] Address some code analysis warnings
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Last several days Strawberry Perl official download server has issues that lead to extremely slow download rates
(sometimes it takes more than 1 hour to download ~150MB).
This commit adds non-official mirror of Strawberry Perl to the list of available URLs.
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
Co-authored-by: Curtis J Bezault <curtbezault@gmail.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.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>
* [vcpkg-acquire-msys] Remove obsolete workaround.
* [vcpkg-acquire-msys] Don't refresh package database on package install.
* [vcpkg-acquire-msys] Drop no longer needed taskkill.
* Trigger CI rebuild to test vcpkg_acquire_msys.
* [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 726e3ce3d2.
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>