1975 Commits

Author SHA1 Message Date
Billy O'Neal
aa60b7efa5
[vcpkg] Download vcpkg.exe rather than building it in bootstrap on Windows. (#15474)
This reduces bootstrap cost for Windows customers, resolving the issue initially submitted as #12502 .

The `toolsrc` tree was extracted to https://github.com/microsoft/vcpkg-tool. `bootstrap.sh` was changed to download the right source tarball, extract, and build it. This was chosen over the previous attempt, a submodule, over concerns of accidentally destroying people's local modifications.
2021-02-04 10:15:44 -08:00
ras0219
5f05aa2b6e
[vcpkg] Emit parse errors to match '<file>:<line>:<col>: error: <text>' for better IDE compatibility (#15926)
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2021-02-03 11:17:07 -08:00
Billy O'Neal
ba03ad7c9d
[vcpkg] Apply fixes needed to extract vcpkg-tool (#16012)
utilities.cmake: Disable warnings that are firing on Azure Pipelines CI machines due to different Clang version.

expected.h: Fix a bug I introduced in https://github.com/microsoft/vcpkg/pull/15638/ because I was under the impression expected worked like optional (in that value_or_exit for it should be treated as a program bug)

build.cpp: Add (void)s to silence warnings.

binarycaching.cpp: Repair assumption that the current directory is C: which isn't true on the Hosted Azure Pipelines agents.

others: Make unit tests respect %VCPKG_ROOT%, as necessary in the vcpkg_tool repo. Note that this required splitting vcpkgcmdarguments::ImbueFromEnvironment into the once-only process modifying part and the just imbue from environment part.
2021-02-03 11:11:27 -08:00
nicole mazzuca
dc4d1b735a
[vcpkg] fix checking out git registry ports (#16009)
* [vcpkg] fix checking out git registry ports

* fix the new issues in builtinregistryentry

* fix tests

* fix tests boogaloo

* [vcpkg] Fix issue where baseline is requested for overlay during version resolution

* split BuiltinRegistryEntry into two types

Co-authored-by: Robert Schumacher <ras0219@outlook.com>
2021-02-03 10:03:44 -08:00
ras0219
5793c4bd9f
[vcpkg] Miscellaneous internal improvements extracted from #15424 (#15677)
* [vcpkg] Miscellaneous internal improvements extracted from #15424

* [vcpkg] CR comments

* [armadillo] Use vcpkg_from_git() to workaround gitlab missing archive

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2021-02-02 15:00:33 -08:00
Alex Pozhylenkov
8360db3208
update tests (#15449) 2021-01-28 15:00:25 -08:00
Billy O'Neal
dbf5193ebb
[vcpkg] Improve error reporting for vcpkg_abi_info.txt copy failure. (#15871)
In build https://dev.azure.com/vcpkg/public/_build/results?buildId=48398

we are getting output like:

```
Error: Building package v-hacd:x64-windows-static failed with: BUILD_FAILED
Elapsed time for package v-hacd:x64-windows-static: 4.156 s
Starting package 1396/1464: v8:x64-windows-static
Building package v8[core]:x64-windows-static...
-- Using msys root at D:/downloads/tools/msys2/969c0913b9df89e1
-- Fetching https://chromium.googlesource.com/v8/v8.git...
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:108 (message):
    Command failed: C:/agent/externals/git/cmd/git.exe fetch https://chromium.googlesource.com/v8/v8.git 7565e93eb72cea4268028fc20186d415c22b1cff --depth 1 -n
    Working Directory: D:/downloads/git-tmp
    Error code: 128
    See logs for more information:
      D:\buildtrees\v8\git-fetch-x64-windows-static-err.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_from_git.cmake:91 (vcpkg_execute_required_process)
  ports/v8/portfile.cmake:71 (vcpkg_from_git)
  scripts/ports.cmake:128 (include)

Could not copy into file: D:\packages\v8_x64-windows-static\share\v8\vcpkg_abi_info.txt
```

but aren't printing the reason for the copy failure. Added printing of that reason.
2021-01-25 12:21:12 -08:00
Billy O'Neal
1d866090fb
Add dummy version.txt for vcpkg older than vcpkg_minimum_required. (#15828) 2021-01-25 10:09:27 -08:00
Kevin Lalumiere
f60b947e13
[vcpkg] Allow to use Nuget's cache for Nuget binary caching sources (fix #15169) (#15512)
* Fix warning on clang version 10.0.0-4ubuntu1

The warning was

```shell
../src/vcpkg/commands.porthistory.cpp:55:14: error: unused function 'is_date' [-Werror,-Wunused-function]
```

* Add environment variable VCPKG_USE_NUGET_CACHE

As the name suggests, this environment variable allow tu use Nuget
cache for Nuget binary caching sources.

* Document NuGet's Cache environment variable
2021-01-24 23:11:02 -08:00
ras0219
e4ce66eecf
[vcpkg] Improve diagnostics around compiler tracking and toolset errors. 'Fixes' #15823. (#15825) 2021-01-22 17:50:18 -08:00
ras0219
3b433e5081
[vcpkg] Fix regression in error messages with registries/versioning (#15709)
* [vcpkg] Fix regression in error messages with registries/versioning

* [vcpkg] Clean up redundant re-parsing with try_load_overlay_port

* [vcpkg] Deduplicate PathsPortfileProvider

* [vcpkg] Restore uses of Checks::exit_maybe_upgrade after merge
2021-01-22 12:26:01 -08:00
Billy O'Neal
925b64efd2
Restore x-upload-metrics command accidentally disabled by removing VCPKG_DISABLE_METRICS (#15810)
* Restore x-upload-metrics command accidentally disabled by removing VCPKG_DISABLE_METRICS in https://github.com/microsoft/vcpkg/pull/15470

* Didn't save a file.
2021-01-22 11:10:27 -08:00
Andrei Lebedev
83b8e27b95
[vcpkg,boost-modular-build-helper] initial ppc64le community support (#15572)
* [vcpkg] initial ppc64le community support

Signed-off-by: Andrei Lebedev <lebdron@gmail.com>

* [boost-modular-build-helper] ppc64le support

Signed-off-by: Andrei Lebedev <lebdron@gmail.com>

* Merge from master

Co-authored-by: PhoebeHui <20694052+PhoebeHui@users.noreply.github.com>
Co-authored-by: dan-shaw <51385773+dan-shaw@users.noreply.github.com>
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
2021-01-22 10:37:26 -08:00
nicole mazzuca
68a74950d0
[vcpkg] Rename port_versions to versions (#15784) 2021-01-21 09:53:22 -08:00
Billy O'Neal
bedeaa639c
[osgearth] Make all find_packages required in effort to make this port less "flaky", and turn on in CI. (#15777) 2021-01-21 08:58:11 -08:00
Billy O'Neal
4d136ef25f
[vcpkg] Add vcpkg_minimum_required as a replacement for VERSION.txt. (#15638) 2021-01-20 12:07:41 -08:00
nicole mazzuca
c977e3861d
[vcpkg] fix edit command on windows (#15767)
* [vcpkg] fix edit command on windows

* format
2021-01-19 19:42:00 -08:00
nicole mazzuca
b60f003ccf
[vcpkg] Rewriting CmdLineBuilder/Command (3/n) (#15673)
Rename CmdLineBuilder to Command, since it's no longer a builder but an actual data type
2021-01-15 18:32:04 -08:00
ras0219
d9351c9c3f
[vcpkg] Remove versions feature flag check in all places except inputs (#15676) 2021-01-15 13:54:39 -08:00
ras0219
4f8fb510ba
[vcpkg] Add initial versioning documentation (#15565)
* [vcpkg] Improve efficiency and tests of versioning

* [vcpkg] Add initial versioning documentation and rename x-default-baseline to builtin-baseline

* [vcpkg] Enable metrics for builtin-baseline & overrides

* [vcpkg] Address PR comments

* [vcpkg] Add support for  syntax in version>=

* [vcpkg] Remove port-version from dependency syntax

* [vcpkg] Address CR comment

* [vcpkg] Minor docs fixup
2021-01-15 12:35:48 -08:00
Victor Romero
a8e97d4a4b
[vcpkg] Format JSON output of x-add-version to minimize diffs (#15664)
* Fix output json file format

* Add instructions to fix missing versions file
2021-01-15 00:04:28 -08:00
Victor Romero
f87c92e42c
Reorder CI checks (#15662)
* Reorder CI checks

* Modify error message on local port changes

* Modify error message on local port changes - pt.2
2021-01-14 22:43:13 -08:00
nicole mazzuca
a597134450
[vcpkg registries] Add git registries (#15054)
* [vcpkg registries] Add git registries support

* Add git registries support to the registries module of vcpkg.
* add e2e tests for git registries
* fix vcpkg.cmake for registries

* fix CRs, remove a thing

* better error messages

* Billy CRs

* fix Robert's CR comment

* I learned about `-c` today

* format

* fix baseline.json

* failing to find baseline is technically not a bug
2021-01-14 19:50:31 -08:00
Victor Romero
eb6655cac5
Improve x-ci-verify-versions error messages (#15651)
* [vcpkg] Change version field in `baseline.json`

* Change name from `version-tag` to `baseline`

* [vcpkg] x-history serializes version scheme

* Update e2e tests

* Update baseline e2e test

* [x-ci-verify-versions] Improve error messages

* Enable CI check for port_versions

* Fix missing and extra line breaks.

* Remove CI check
2021-01-14 09:58:40 -08:00
nicole mazzuca
1515d080fe
[vcpkg] Rewriting CmdLineBuilder (2/n) (#15627)
* [vcpkg] Rewriting CmdLineBuilder (2/n)

I would like, and I think the team would like generally,
to switch to using stuff like `posix_spawn`, as opposed to the
existing use of `system` and `popen`.

This requires a pretty large change to how we use CmdLineBuilder.
The first change we have to make is that the execute functions
_cannot_ take a StringView anymore.
This PR makes that change.
2021-01-14 09:06:31 -08:00
Victor Romero
fb21b70846
[vcpkg] Change version field in baseline.json (#15633)
* [vcpkg] Change version field in `baseline.json`

* Change name from `version-tag` to `baseline`

* [vcpkg] x-history serializes version scheme

* Update e2e tests

* Update baseline e2e test
2021-01-14 08:57:05 -08:00
Billy O'Neal
3f3d9a615a
[vcpkg] Fix incorrect handling of messages for permenantly disabled metrics. (#15636)
Fixes #15630
2021-01-14 08:41:53 -08:00
Billy O'Neal
8414e15973
[vcpkg] Use a tag file rather than conditional compilation to permanently disable metrics. (#15470) 2021-01-13 14:06:06 -08:00
Billy O'Neal
4da47f758f
[vcpkg] Add sources for TLS 1.2 downloader tool. (#15516) 2021-01-13 14:05:38 -08:00
ras0219
c239e82510
[vcpkg] Add parse checking for version fields and enable non-string versions outside 'versions' flag (#15580) 2021-01-13 10:53:29 -08:00
nicole mazzuca
94b9db927c
[vcpkg] Add a different way to use CommandBuilder, support InWorkingDirectory (#15583)
* [vcpkg] Add stuff to the system.process API

* CmdLineBuilder - add rvalue overloads
* Add InWorkingDirectory support

* remove `&&` outside of system.process.cpp

* minor CR

* move the non-InWorkingDirectory functions into the header as inline

* Update toolsrc/include/vcpkg/base/system.process.h

Co-authored-by: Billy O'Neal <bion@microsoft.com>

* fix CmdLineBuilder name

* moar bugfixin

* fix native() location

Co-authored-by: Billy O'Neal <bion@microsoft.com>
2021-01-12 09:26:42 -08:00
Billy O'Neal
a8fa84e4d8
[vcpkg] Fix unrecognized identifier errors in prbuild and cibuild. (#15354) 2021-01-10 14:31:30 -08:00
nicole mazzuca
36cd510119
[vcpkg] Fix build for mingw (#15504)
* fix build

* stop the templateness

none of the major three implementations have string::const_iterator = char const*
2021-01-08 10:46:54 -08:00
Victor Romero
2a42024b53
[vcpkg] Add commands to maintain and verify versions db integrity (#14999)
* [vcpkg] Add x-ci-verify-versions command

* Code cleanup

* Remove port version splitting from x-history

* Fix wrong message on success

* Parallelize versions file generator

* Use cpu_count()/2 to avoid crashes

* Check db SHA against local SHA

* Check baseline version with x-ci-verify-versions and make baseline generator much faster

* Implement x-add-version to update version db files

* Better checks for x-add-info and make x-ci-verify-versions silent on success

* Use find() instead of [] on maps

* Create version file if does not exist

* Allow redirection of ports/ and port_versions/

* add test ports

* WIP end-to-end tests

* Change pats in e2e tests

* Fix e2e args

* e2e once more

* Pass ersions feature flag to e2e

* Exit with code 1 if there are errors

* Files to test for failure cases

* Update test files

* Add test for x-add-version

* fix redirected ports in last test

* Add CI check (use dummy data)

* Add feature-flags=versions

* Ignore subdirectories inside ports

* Add --verify-git-trees switch

* [vcpkg] Fix build breaks

* [x-ci-verify-versions] PR comments

* [x-add-version] PR comments

* Fix merge conflicts

* Modify tests and pipeline

* Baselines should only have version-string

* Refactor x-add-version

* [vcpkg] Fix help message

* [vcpkg] Fix minor warnings

* `x-add-version --all` doesn't stop on first failure and reduced default verbosity

* [vcpkg] Fix default-baseline

* Load file instead of using paths provider

* Format

* Remove ci test

* Add fish port for testing

* Update version files

* Update fish port to cause SHA discrepancy

* Test for discrepancy between local SHA and declared SHA

* Missing = operator

* Check for error message since x-add-version exits with code 0

* Make x-add-version fail with non-zero exit code if not run with --all

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Robert Schumacher <ras0219@outlook.com>
2021-01-07 18:04:11 -08:00
ras0219
d717d4119e
[vcpkg] Add support for --overlay-ports to versioning (#15013)
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2021-01-07 17:44:45 -08:00
Billy O'Neal
d1ef42c0fd
[vcpkg] Restore embedded git hash behind an option. (#15472) 2021-01-07 12:51:46 -08:00
Victor Romero
6d3d6490eb
[vcpkg] Improve versioning files generators (#15172)
* Remove port version splitting from x-history

* Parallelize versions file generator

* Use cpu_count()/2 to avoid crashes

* Use generatePortVersionsDb.py output to generate baseline

* Update scripts/generateBaseline.py

Co-authored-by: Adam Johnson <AdamJohnso@gmail.com>

* rename generateBaseline function

* Update toolsrc/src/vcpkg/commands.porthistory.cpp

Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>

* Remove unused code

Co-authored-by: Adam Johnson <AdamJohnso@gmail.com>
Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
2021-01-05 14:36:46 -08:00
Robert Schumacher
6772fdd145
[vcpkg] Teach vcpkg install --no-build-missing (#15139)
* [vcpkg] Teach `vcpkg install` `--no-build-missing`

This switch causes failure to restore from cache to abort the build instead of performing a just-in-time build.

This is useful in complex CI systems where the build was expected to have been performed previously, such as via another pipeline.

* [vcpkg] Rename flag to require binary caching
2020-12-30 12:12:17 -08:00
Billy O'Neal
24290fb002
[vcpkg] Fix pwsh version detection for old versions to download a fresh copy. (#15355) 2020-12-28 19:35:21 -08:00
Billy O'Neal
229f537c94
[opentracing] Update VMs 2020-12 (#15151)
* Add meson from https://github.com/microsoft/vcpkg/pull/12860/

* Add autoconf-archive from https://github.com/microsoft/vcpkg/pull/13081/

* Add kf5windowsystem libs from https://github.com/microsoft/vcpkg/pull/13467/

* Open the FTP and SFTP ports from https://github.com/microsoft/vcpkg/pull/14412/

* Add libxcb-util0-dev from https://github.com/microsoft/vcpkg/pull/14678/

* Add libasound2-dev from https://github.com/microsoft/vcpkg/pull/14774

* Remove no longer necessary apt-mark calls.

* Update nasm on Linux.

* Fix longstanding bug where Storage was publicly accessible and change to generate SAS token rather than File Share

* Delete no longer necessary azure storage firewall rules.

* Install the newer Windows SDK with the VS installer instead of manually.

* Install the VS2015 and VS2017 compilers.

* Update Powershell-Core to 7.1.0.

* Update source of WDK.

* Update pools.

* [opentracing] Repair arm64-windows failures caused by mojibake in `expected.hpp` and errors in opentracing-cpp's lint for arm64 where it thinks exceptions are disabled when they are enabled.

Fixes:
C:\Dev\vcpkg\buildtrees\opentracing\src\b67575dab0-0250653c81.clean\3rd_party\include\opentracing/expected/expected.hpp(1): warning C4828: The file contains a character starting at offset 0x4a77 that is illegal in the current source character set (codepage 65001).

Fixes:
D:\buildtrees\opentracing\src\b67575dab0-0250653c81.clean\include\opentracing/tracer.h:223:5: error: cannot use 'try' with exceptions disabled [clang-diagnostic-error]
    try {
    ^

* [mmloader] Patch out overrides of CMAKE_C_FLAGS and CMAKE_CXX_FLAGS that inserted /WX.

Note that this port sets /GS-, possibly because it may be for authoring shellcode.

* Bump storage API version to 2020-04-08.
2020-12-22 14:52:58 -08:00
nicole mazzuca
c898283a41
[vcpkg registries] support versions (#15114)
* [vcpkg registries] support versions

This PR merges the Registries changes and the versioning changes, so that one can use both at the same time.

There is one major difference between this PR and the RFC (#13590), which is that instead of version files looking like:

```json
[
  ...
]
```

version files look like:

```
{
  "versions": [
    ...
  ]
}
```

this is to support interop between this PR and existing demos and the like;
fixing this, along with perhaps renaming `port_versions` to `port-versions` should be done after this is merged,
should be a trivial change.
2020-12-21 15:40:21 -08:00
Billy O'Neal
d97eae3338
Print failing upload attempts in !debug. (#15206)
Other changes:
* Changed Strings::replace_all to use more StringView
* Introduced Strings::inplace_replace_all for the common x = replace_all(move(x) pattern and tests
-> Also fixed bug if the search string was empty consuming infinite memory!
* Added many missing {}s in binarycaching.cpp
2020-12-21 09:19:57 -08:00
nanoric
fa8f120071
Fixed internal compiler error when using newer GCC@master. (#15188) 2020-12-18 12:05:16 -08:00
ras0219
9a81392e48
[vcpkg] VCPKG_ENV_PASSTHROUGH_UNTRACKED (#15115)
* [vcpkg] Add VCPKG_ENV_PASSTHROUGH_UNTRACKED

* [vcpkg] CR comments

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-12-17 11:35:08 -08:00
Kevin Lalumiere
a268c5a7f1
[vcpkg] Fix warning (as error) when building vcpgk/toolsrc with clang++ 10 or g++ 9.3 (see #15148) (#15149) 2020-12-17 00:20:34 -08:00
Long Nguyen
7944ed328a
[icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (#14969) 2020-12-15 15:00:41 -08:00
nicole mazzuca
0d76ba45a4
[vcpkg] fix v140. again (#15116) 2020-12-15 14:31:10 -08:00
ras0219
595777db23
[vcpkg] Remove extra indirection in IVersionedPortfileProvider/IBaselineProvider (#15010)
* [vcpkg] Remove extra indirection in IVersionedPortfileProvider/IBaselineProvider

* [vcpkg] Address CR comment

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-12-15 10:28:20 -08:00
ras0219
ef7e1abfb1
[vcpkg] Fix CMAKE_CURRENT_LIST_DIR in load_dep_info_vars() (#15110)
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-12-15 10:27:32 -08:00
ras0219
815396fa4e
[vcpkg] Refactor end-to-end tests (#15081)
* [vcpkg] Refactor end-to-end tests

* [vcpkg] Cherry-pick x-builtin-ports-root from #14999

* [vcpkg] Move create test from unit tests to e2e

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-12-15 10:26:00 -08:00