Commit Graph

1227 Commits

Author SHA1 Message Date
Stephane Lajoie
428df4c7d6
Don't change manifest root when manifest isn't enabled. (#12191)
* Don't change manifest root when manifest isn't enabled.

* Update scripts/buildsystems/msbuild/vcpkg.targets

* Apply suggestions from code review

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
2020-07-01 12:18:13 -07:00
ras0219
135f91de1e
[vcpkg] Implement --x-write-nuget-packages-config= setting for install and x-set-installed (#12138)
* [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>
2020-07-01 11:36:09 -07:00
Billy O'Neal
532db1d8f7
[vcpkg] VM Update (#12176)
* [qt5] Add more dependent Linux packages for https://github.com/microsoft/vcpkg/pull/11596/

* [vcpkg] Add LLVM 10 to Windows CI machines for https://github.com/microsoft/vcpkg/pull/11655/

* [vcpkg] Add missing Param block to InstallLLVM function.

* [vcpkg] Add throw after all Write-Error calls for consistency with https://github.com/microsoft/vcpkg/pull/12172
2020-07-01 10:53:10 -07:00
nicole mazzuca
0084acc75d
[vcpkg ci] add macos scripts to vcpkg repo (#12172)
* [vcpkg ci] add macos scripts to vcpkg repo

* CR changes

* docs stuff
2020-07-01 10:08:06 -07:00
ras0219
3f6342db6d
[vcpkg] Fix vcpkg export --nuget regressions (#12174)
* [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>
2020-06-30 14:02:26 -07:00
nicole mazzuca
1d8f0acc9c
[vcpkg manifest] Manifest Implementation (#11757)
==== 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
2020-06-30 10:40:18 -07:00
Jack·Boos·Yu
67ab6130b6
[vcpkg baseline][paraview] Fix linux build (#12144) 2020-06-29 23:31:08 -07:00
freddy77
a0bd59c6a2
Fix typo in comment (#12069)
Enabel -> Enable

Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
2020-06-26 19:22:12 -07:00
Jack·Boos·Yu
a0e0c57f86
[vcpkg] Add vcpkg_from_sourceforge (1/2) (#11899) 2020-06-26 15:06:30 -07:00
Billy O'Neal
81ae2ed94b
[vcpkg] Add write-only binary caching for CI. (#12130)
Changes to the binary caching spec made as comments over at https://github.com/microsoft/vcpkg/pull/11204#pullrequestreview-438518901
2020-06-26 12:37:53 -07:00
ras0219
91e798afd8
[vcpkg] Implementation of --x-binarysource=nuget (and friends) (#12058)
* [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>
2020-06-26 12:16:02 -07:00
Billy O'Neal
9f8cc9ee88
[vcpkg] Delete unnecessary tombstone deletion step now that CI rebuilds everything (#12120) 2020-06-25 22:19:17 -07:00
Billy O'Neal
f10c49281a
[vcpkg] Add disk space report to Windows PR/CI (#12113)
* [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
```
2020-06-25 16:38:13 -07:00
Billy O'Neal
0d37525d75
[vcpkg] Commonize pipelines build powershell and don't use binary caching in CI (rather than PR) builds (#12082) 2020-06-25 16:36:28 -07:00
Jack·Boos·Yu
1f0db1f06a
[vcpkg baseline] Fix baseline errors (#12067)
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-06-25 11:11:17 -07:00
Silvio Traversaro
70ab27fcad
[ignition-plugin1] Add new port 🤖 (#11275)
* [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.
2020-06-24 14:59:32 -07:00
Billy O'Neal
7ced7d721e
[vcpkg] Do not fail just because cleaning tombstones failed in CI. (#12074) 2020-06-24 11:39:47 -07:00
Vicki Pfau
eede79eb27
Fix bootstrapping MSYS2 pacman (#11499) (#12080) 2020-06-24 11:29:28 -07:00
Jack·Boos·Yu
67a031a4d5
[libmicrohttpd] Support build on UNIX and use msbuild on Windows (#11983)
* [libmicrohttpd] Support build on UNIX and use msbuild on Windows

* update baseline
2020-06-23 13:38:30 -07:00
Jack·Boos·Yu
7e18ac0d8b
[activemq-cpp] Fix static build (#12005)
* [activemq-cpp] Fix static build

* update baseline
2020-06-23 13:18:04 -07:00
Alexander Neumann
23eadeaedc
[hdf5] Update HDF5 to 1.12 (#11747)
* [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>
2020-06-23 12:58:50 -07:00
Alexander Neumann
03766d0834
[CGNS/ParaView] Add new ports (#9960)
* [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>
2020-06-23 10:20:18 -07:00
ras0219
aef838536e
[vcpkg] Track compiler information in ABI (#11654)
* [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>
2020-06-22 14:14:36 -07:00
Billy O'Neal
2bf1f30deb
[vcpkg] Use SSH keys instead of password authentication when minting Linux scale sets (#11999) 2020-06-21 19:13:13 -07:00
Vitalii Koshura
61c2158d33
[cmake] Add mirror to download Strawberry Perl (#11938)
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>
2020-06-18 15:42:20 -07:00
Phoebe
ba98abdd0d
[vcpkg baseline] Retrigger failed ports in baseline (#11965)
* [vcpkg baseline] Retrigger flaky ports

* update the url for geographiclib

* Rebase the changes

* Remove libpq:arm64-windows=fail in baseline file
2020-06-17 23:53:18 -07:00
Billy O'Neal
00e0dbdcb1
[vcpkg] Clean tombstones in every build except PR validations (#12000) 2020-06-17 21:31:30 -07:00
Jack·Boos·Yu
121f3d502a
[libvpx] Support arm64-windows (#11963) 2020-06-17 13:43:44 -07:00
Jack·Boos·Yu
f18e0b4387
[thrift] Update to 0.13.0 and fix OSX build (#11981) 2020-06-17 13:42:40 -07:00
Jack·Boos·Yu
a4d42aac24
[breakpad] Fix build failure on OSX (#11984)
* [breakpad] Fix build failure on OSX

* update baseline

* Update portfile.cmake

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
2020-06-17 11:19:55 -07:00
Billy O'Neal
6a8d2cb4a1
Attempt to mitigate Windows Defender detections by making provision-image.ps1 not a powershell script (#11978)
* Remove C:\ exclusion since we do all the interesting work on D: now.

* Rename provision-image.ps1 to remove executable extension.
2020-06-17 10:08:30 -07:00
Billy O'Neal
04e214eb0e
[vcpkg] Fix create by extracting common paths settings (#11842)
Resolves #11784
2020-06-16 11:58:11 -07:00
Alexander Neumann
14514508d8
[vcpkg] Add vcpkg item to project settings in Visual Studio (#4361)
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>
2020-06-15 14:24:14 -07:00
Jack·Boos·Yu
83627767af
[vcpkg baseline] Fix baseline error (#11896)
* [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
2020-06-12 13:09:46 -07:00
Silvio Traversaro
310f4df34f
[libpcap] Enable compilation of libpcap port on x86-windows and x64-windows (#10731)
* 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
2020-06-11 23:13:23 -07:00
Pavel Kisliak
269aeb7f4a
[bitserializer] Update to new version 0.10 (#11683)
* [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>
2020-06-11 22:34:31 -07:00
Adam Johnson
e1783c68c4
[python3] Update to Python 3.8 (#11708)
* [python3] Update to Python 3.8.3.

[vtk] Update to Python 3.8 and fix improper Python3 artifact
specification.

* [python3] Fix static linking, broken in 121faf2.

* [hyperscan] Add missing build dependency (fixes CI on macOS).
2020-06-11 22:23:26 -07:00
Billy O'Neal
be298744f7
[vcpkg] Merge unit test pass into x86-windows. (#11858) 2020-06-11 17:49:22 -07:00
Alexander Neumann
c704058346
[vcpkg] Add nologo to windows toolchain (#11146)
* add nologo to windows toolchain

* bump control of one cmake port for ci testing

* [scripts] add nologo to _DEBUG flags

* revert version bump
2020-06-11 13:43:24 -07:00
Billy O'Neal
55d6bd1b7d
[vcpkg] [cudnn] [msmpi] [openmpi] Update VMSS (#11365)
Co-authored-by: @JackBoosY 
Co-authored-by: Stefano Sinigardi <stesinigardi@hotmail.com>
Co-authored-by: Voskrese <10104740+Voskrese@users.noreply.github.com>
2020-06-11 11:13:09 -07:00
Jack·Boos·Yu
1caebee7bf
[cairo] Install the xlib header file when selecting feature x11 (#11868)
* [cairo] Install the xlib header file when selecting feature x11

* update baseline

* Update CMakeLists.txt
2020-06-11 02:27:30 -07:00
emptyVoid
a5e28c4b35
[vcpkg-acquire-msys] Improvement (#11810)
* [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.
2020-06-11 02:09:19 -07:00
Lily
efe434b688
[ms-angle] Set ms-angle to empty package (#11458)
* [ms-angle] Remove invalid port

* [ms-angle] Remove invalid port

* [ms-angle] Add build depends angle
2020-06-11 01:36:10 -07:00
myd7349
cb537a2aee
[licensepp] Add new port (#11711)
* [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
2020-06-11 01:00:07 -07:00
Ryan
1901067fc6
[xbyak] Add new port (#11689)
* [xbyak] Add new port

* [xbyak] add homepage, removed deprecated functions, handle copyright correctly
2020-06-11 00:57:38 -07:00
Sean Yen
67eb48da0f
[log4cxx] Add new port (#11659)
* Adding log4cxx 0.10.0

* adding the ci baseline.

* updated ci.baseline.txt

* Update portfile.cmake

* Update CONTROL
2020-06-11 00:56:42 -07:00
NancyLi1013
e9e744175b
[usd] Fix build error on Linux (#11440)
* [usd] Fix build error on Linux

* Add supports field and update baseline
2020-06-11 00:29:20 -07:00
Phoebe
a051803607
[plibsys] Fix failures on linux and osx (#11633)
* [plibsys] Fix failures on linux and osx

* Update patch for fix build failure with x64-windows-static

* Add vcpkg_cmake_wrapper and usage
2020-06-10 18:08:48 -07:00
wangqr
1509b14bb3
[avisynthplus] Upgrade to 3.6.0 (#11736)
* [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.
2020-06-10 18:04:32 -07:00
Tanguy Fautre
8f34b4bccf
[Arrow] Update to 0.17.1 (#11472)
* [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>
2020-06-09 15:41:24 -07:00