Commit Graph

79 Commits

Author SHA1 Message Date
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
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
nicole mazzuca
30767175d5
[vcpkg ci] upload diff from clang-format to artifacts (#15141)
* [vcpkg ci] upload diff from clang-format to artifacts

this allows people who do not have access to clang-format to format their code via diff
2020-12-16 13:14:35 -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
ras0219
dd4421808c
[vcpkg_fixup_pkgconfig] Handle spaces in path, do not validate individual libraries (#13126) 2020-12-07 18:17:19 -08:00
nicole mazzuca
6b117c9c7e
[vcpkg docs] Check for documentation generation in CI (#14614)
* [vcpkg docs] Change how documenting port functions works

Instead of using `##`, use comment blocks for documentation.

Also, add some minor docs and change RST -> MD
so we actually get docs generated.

* add CI stuff

* regenerate docs

* fix vcpkg_find_acquire_program to not use _execute_process
2020-12-01 13:37:26 -08:00
ras0219
5c48bee451
[vcpkg] Add experimental x-azblob binary provider (#13626)
* [vcpkg] Add experimental x-azblob binary provider

* [vcpkg] Test azblob storage provider in CI

* [vcpkg] Address some CR comments from #13639

* [vcpkg] Fixup azure-pipelines

* [vcpkg] Fix regression where the downloaded package is purged before decompressing

* [vcpkg] Further refactor vcpkg::Downloads

* [vcpkg] Enable OSX for x-azblob testing

* [vcpkg] Reduce diff against master

* [vcpkg] Extract Downloads::details::split_uri_view

* [vcpkg] Address PR comments

* [vcpkg] Add testing and metrics for x-azblob

* [vcpkg] Add docs for x-azblob

This includes a note that it is currently experimental

* [vcpkg] Address CR comments

* [vcpkg] Revert pipeline changes except OSX to minimize disruption

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-11-18 12:21:23 -08:00
Jack·Boos·Yu
bf482a9b58
[ampl-mp] Update version, separate port ampl-asl and fix arm build (#14518)
* [ampl-asl] Separate port ampl-mp module asl to ampl-asl

* [ampl-mp] Update version, separate port ampl-asl and fix arm build

* update baseline

* [VMSS] Pre-install ampl-mp:x86-windows

* Update ports/ampl-asl/portfile.cmake
2020-11-12 12:55:11 -08:00
Billy O'Neal
1b1c17de82
[vcpkg baseline] [vs-yasm] Build yasm instead of downloading it to work around memory corruption bugs in yasm itself. (#14003) 2020-10-28 14:26:41 -07:00
Billy O'Neal
09a647a526
Delete use of vcpkg_test_cmake and vcpkg_common_functions. (#13065) 2020-10-28 14:18:07 -07:00
Billy O'Neal
bf7dbde05e
[vcpkg] Always publish failure logs, even on success. (#14260)
This way we get failure logs for things excluded by ci.baseline.txt in the nightly builds.
2020-10-27 15:35:28 -07:00
Stefano Sinigardi
eb183171d2
[cmake] upgrade to 3.18 (#12612)
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-10-19 17:18:39 -07:00
Billy O'Neal
ab86954093
Always accept = or space as delimiters when parsing common command line parameters. (#13857)
Resolves #11456.
2020-10-07 10:31:42 -07:00
ras0219
d8a4e63690
[vcpkg] Avoid computing triplet ABIs for editable packages (#13446)
* [vcpkg] Avoid computing triplet ABIs for editable packages

* [vcpkg] Address PR comments

* [vcpkg-end-to-end-tests] Add tests for --no-binarycaching, binarycaching by default, and --editable

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-10-06 14:34:59 -07:00
nicole mazzuca
decc96c149
[vcpkg macos ci] modify README slightly (#13829)
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-10-06 11:10:41 -07:00
nicole mazzuca
397d3d7188
[vcpkg osx ci] update 2020-09-28 (#13799)
* [vcpkg osx ci] update to newer bits

these ones should actually work!

* update vagrantfile

* correct scripts, reformat, add docs

* Finish Get-InternalBaseBox, move archives

In order to avoid people maliciously deleting the boxes,
the archives share and file share are in different users now.

* baseline libqcow to be fixed later

* actually check for the mount point

* fix Install-Prerequisites again

* add +x to Get-InternalBaseBox.ps1

additionally, fix some errors
2020-09-29 16:49:49 -07:00
Billy O'Neal
4dc9ecd32b
Add MSVC-internal testing scripts to public GitHub. (#13748) 2020-09-28 13:54:10 -07:00
Robert Schumacher
57b37381c3
[vcpkg] Fix Windows pipeline's outdated Ninja reference (#13722) 2020-09-25 12:58:58 -07:00
nicole mazzuca
4cbbcbddfd
[vcpkg macos ci] Switch to using our own base boxes, to fix bringing up mac machines (#13619)
* [vcpkg ci:osx] Remove brew install

* add instructions for creating a new vagrant box

* fix the vagrant scripts for the new box

* finish fixing the setup

* [mecab jxrlib] fix ports for CI

mecab needed to use an actual ref that wasn't master,
and jxrlib needed a patch for xcode 12 CLTs.

Additionally, this fixes the mecab version to be a date, the date of the last commit,
since `1.0` is not the correct version (mecab doesn't have released versions)

* [many ports] fix compile with Xcode 12 CLTs

This mostly means fixing errors on implicit-function-declaration,
and removing some Werrors
* alac-decoder
* apr
* argtable2
* arrow
* hyperscan
* mcpp
* minizip
* mosquitto
* stormlib

* [many ports] even more Xcode 12 CLT fixes

* [jxrlib darknet] fix the last ports! (hopefully)

* CRs, plus minor wip changes to osx scripts
2020-09-24 15:15:06 -07:00
Billy O'Neal
0890b5a25f
[vcpkg] Add build scripts to produce signed vcpkg binaries. (#13508) 2020-09-21 17:27:35 -07:00
nicole mazzuca
0fec1340eb
[vcpkg manifest] Add documentation! (#13488)
* [vcpkg docs] add docs for manifest files

These are just for the maintainer docs,
not user docs.

* [vcpkg] EBNF-ify platform expression parsing

this modifies nothing about what strings are accepted or rejected,
it just moves stuff around.

also adds tests.

* [vcpkg docs] add manifest mode example

* [wip] docs for augustin

also fix tabs

* [vcpkg manifest] switch to using maps for features

* Apply suggestions from code review

* un-experimentize format-manifest

* flesh out the user manifest mode docs

* CRs

* billy CRs

* final personal pass-thru
2020-09-14 15:07:02 -07:00
Billy O'Neal
8054263f15
[skia, ompl, capnproto] Update VMs for 2020-08-12 (including VS 16.7) (#12884)
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
2020-08-27 12:27:39 -07:00
Billy O'Neal
4a08a10f04
Allow use of VS LLVM clang-format. (#13142) 2020-08-26 11:47:39 -07:00
Jack·Boos·Yu
582e30d142
[VMSS] Fix the printed error message (#13107)
* check error message

* Remove https://

* Revert test changes
2020-08-25 15:07:38 -07:00
Billy O'Neal
4e65ce52ab
Sort file lists and failure logs together. (#13067) 2020-08-22 22:23:59 -07:00
ras0219
481738beae
[vcpkg] Add vcpkg export to E2E tests. Enable E2E tests on all platforms. (#12198)
* [vcpkg] Add `vcpkg export` to E2E tests. Enable E2E tests on MacOS.

* [vcpkg] Fix export --raw --output-dir=/path/ by changing directory to new export root

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-08-10 10:22:51 -07:00
nicole mazzuca
1c2af99415
[vcpkg format-manifest] Add convert-control flag (#12471)
* [vcpkg format-manifest] initial convert-control attempt

TODO: manifest comments! we should keep $directives

* Finalize x-format-manifest

First, fix Json::parse -- "\c", for any c, was incorrectly parsed.
It would emit the escaped character, and then parse the character, so
that `\b` would give you { '\b', 'b' }.

Second, canonicalize source paragraphs as we're parsing them. This found
an error in qt5 -- The `declarative` feature was listed twice, and we
now catch it, so I removed the second paragraph.

Add PlatformExpression::complexity to allow ordering platform
expressions in a somewhat reasonable way.

Notes:
  - We allow `all_modules` as a feature name for back-compat with
    paraview
  - In order to actually convert CONTROL to vcpkg.json, we'd need to
    rename the qt5 `default` feature.
  - We need to add support for $directives in x-format-manifest

* fix qt5 port

* format

* fix compile

* fix tests for canonicalization

* Clean up code

* add error message for nothing to format

* add extra_info field

* add `const X&` overloads for `Object::insert[_or_replace]`

* fix compile

* simple CRs

* add tests

* format

* Fix mosquitto port file

also unmerge a line

* fail the tests on malformed manifest

* fix format_all

* fix coroutine port-version

* format manifests
2020-08-02 10:08:07 -07:00
Kevin Lu
5512eafd80
[mpg123] Allow cross-compiling, fix previous builds tainting rebuilds (#11535)
* [mpg123] Allow cross-compiling, fix previous builds tainting rebuilds

* [mpg123] Rewrite to use vcpkg_configure_make

* Update ports/mpg123/portfile.cmake

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>

* [mpg123] Use vcpkg_execute_required_process

* [mpg123] Bump CONTROL version

* [mpg123] Remove unneeded legacy lines and strip out trailing newline from dumpmachine

* pre-install yasm on OSX.

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
2020-08-01 13:56:56 -07:00
Alexander Neumann
5c66f720c0
[cmake] Add cmake port to test qt (#10770)
* [cmake] add port for qt testing

* only add cmcldeps on windows

* [cmake] cleanup and fix portfile for osx build

* [cmake] more cleanup

* move cmake to scripts/test_ports

* add the overlay scripts/test_ports to ci
2020-07-31 16:48:52 -07:00
nicole mazzuca
f0ae3efbb4
[vcpkg-ci] fix macos setup scripts (#12639)
* [vcpkg-ci] fix macos setup scripts

* the disk feature is still experimental

* fix Get-InstalledVirtualBoxExtensionPacks

* use new bash install script for brew

instead of old-style ruby
2020-07-31 11:52:24 -07:00
Jack·Boos·Yu
d367c4c0b8
[vcpkg] Improve format check failure message (#12460)
* [docs] Add format document

* improve the error message

* Check the error message

* Finish test

* restore file list
2020-07-29 21:12:06 -07:00
Phoebe
9891a8f213
[libb2] Add supports and install pkg-conifg on macOS VM (#12398)
* [libb2] Add supports and install pkg-conifg on macOS VM

* Add blank line to the end of the json file

* vcpkg x-format-manifest --all

* Remove failed ports in ci baseline file
2020-07-14 08:37:14 -07:00
ras0219
bc07f4b052
[vcpkg-ci] Always publish file lists (#12384)
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-07-13 12:14:51 -07:00
ras0219
a571c8ecc0
[vcpkg] Move default binary cache from $root/archives to user-wide directory (#12256)
* [vcpkg] Move default binary cache from `$root/archives` to user-wide directory

Teach nuget/nugetconfig binary sources to use read/write.

* [vcpkg] Reformat

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-07-09 15:14:05 -07:00
nicole mazzuca
3871d73349
[vcpkg manifests] fix some issues (#12227)
Fixes #12190
Fixes #12208
Fixes #12234
Fixes #12286
Fixes #12315
Fixes #12186
Fixes #12331
Fixes googleapis/google-cloud-cpp#4487
2020-07-09 12:32:31 -07:00
ras0219
fd4a08806f
[vcpkg] Fix MSBuild regressions #12062 and #12086. (#12257)
This PR also renames the VcpkgUserTriplet MSBuild variable to VcpkgTriplet to minimize user confusion compared to previous practice and documentation.

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-07-08 15:08:17 -07:00
nicole mazzuca
9606917c81
[vcpkg ci] Update formatting CI (#12314)
* stage checking formatting

this means that the port CI won't run if the formatting failed

* fix invalid names

* add formatting of manifests

* fix dependsOn name

* fix a thing

* CRs

* oops, typo
2020-07-07 14:09:33 -07:00
nicole mazzuca
6a41626eaf
[vcpkg] Format the C++ in CI (#11655)
* [vcpkg] Format the C++ in the CI

* format the C++

* CR
2020-07-06 16:45:34 -07:00
Leo Yao
aa2b9ef32e
[vcpkg] Added python script to generate all packages file list, added to azur… (#12177)
* Added python script to generate all packages file list, added to azure pipeline to build at the end of the run

* fixed an issue that causes some leading slashes were being removed

* Header Database now includes hpp files for C++ header files

* Changed Header Database to include all files under \include\ folder

* Apply suggestions from code review, changing condition from eq to ne

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

* Update last condition from eq to ne

Co-authored-by: Billy O'Neal <bion@microsoft.com>
2020-07-06 13:38:22 -07:00
Billy O'Neal
a28bfe7674
[vcpkg] Remove the tombstones and 'ignore' baseline concepts. (#12197)
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.
2020-07-02 20:20:07 -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
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
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
Billy O'Neal
7ced7d721e
[vcpkg] Do not fail just because cleaning tombstones failed in CI. (#12074) 2020-06-24 11:39:47 -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
Billy O'Neal
00e0dbdcb1
[vcpkg] Clean tombstones in every build except PR validations (#12000) 2020-06-17 21:31:30 -07:00