203 Commits

Author SHA1 Message Date
Victor Romero
31eda3e931
[vcpkg] RFC: Versioning (#11758)
* Initial commit of Versioning Specification

* Add image for algorith example

* Add image file

* Address some PR comments

* Apply suggestions from code review

Co-authored-by: Yehezkel Bernat <yehezkelshb@gmail.com>
Co-authored-by: Miro Knejp <miro@knejp.de>
Co-authored-by: Rachel Lu <lurachel18@gmail.com>

* Update spec

* Modify how baseline versions work

* Add implementation details spec

* WIP: Update specs to reflect latest discussions

* Maybe fix formatting on GitHub preview

* Apply suggestions from code review

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

* Update spec

* Update spec, match implementation

* Delete unnecessary files

Co-authored-by: Yehezkel Bernat <yehezkelshb@gmail.com>
Co-authored-by: Miro Knejp <miro@knejp.de>
Co-authored-by: Rachel Lu <lurachel18@gmail.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
2021-01-16 16:38:46 -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
f649f9a67e
[vcpkg] Add CI check for version files and update maintainer's guideline (#15655)
* Add CI check using dummy version files

* Fix ci test

* Update maintainer's guideline

* Point CI check to actual version files

* Remove --git-verify-trees

* Fix typo

* Fix more typoes

* Even more typos

* Even more typos
2021-01-14 21:29:15 -08:00
Alexander Neumann
0b16dbc1cf
[vcpkg_from_git] new options TAG and X_OUT_REF (#15049)
* [vcpkg_from_git] new options TAG and OUT_REF
- TAG github tag to checkout
- OUT_REF github commit id related to tag or ref
(useable for automatic updates of ports if used with a version tag)

* Apply suggestions from code review

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>

* additional changes due to CR

* regenerate docs

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2021-01-11 00:27:56 -08:00
ras0219
6b346462ba
[vcpkg] Improve docs for binarycaching (#15396) 2021-01-05 14:37:04 -08:00
Takahiro Ueda
41e5b0815f
[docs] fix "CMake script" -> "makefile" for vcpkg_(n)build_make (#15419) 2021-01-05 12:37:19 -08:00
dweckmann
e2d3408547
[cppunit] add linux support and bump version to 1.15.1 (#15018) 2020-12-28 19:35:08 -08:00
Adam Johnson
bdb225bc68
[python3] Build interpreter (#14891) 2020-12-18 12:00:45 -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
Billy O'Neal
5d41154c42
[docs] Document acceptable uses for features. (#15171) 2020-12-17 00:19:02 -08:00
Long Nguyen
7944ed328a
[icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (#14969) 2020-12-15 15:00:41 -08:00
ras0219
acb6b10e7f
[vcpkg] Fix uploading to Azure DevOps Artifacts (#14952) 2020-12-08 10:46:46 -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
ef0c3036fc
[vcpkg baseline][vtk-m] fix the sha512 (#14884)
* [vtk-m] fix the sha512

* Bump version

* add FILE_DISAMBIGUATOR to vcpkg_from_gitlab

* actually use the file disambiguator

* regenerate docs

* [moos-core] Add DISABLE_PARALLEL_CONFIGURE

Co-authored-by: NancyLi1013 <lirui09@beyondsoft.com>
2020-12-03 13:24:26 -08:00
nicole mazzuca
d938359602
[docs] fix pwsh sorting (#14914) 2020-12-02 11:21:22 -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
TeeVenDick
43e41bb2b0
Fix broken doc link (#14833) 2020-11-29 13:44:03 -08:00
Joakim L. Gilje
d9633d939c
[vcpkg] initial openbsd (community) support (#14549)
* initial openbsd support in vcpkg

* after clang-format

* hardcoded in the preferred compiler for openbsd in bootstrap scipt (thanks @tormfinn)

* Fetch a patched pkg-config because openbsd pkg-config lacks {fcfiledir}

* fixes from review feedback

* corrected hash for pkg-config.openbsd

* re-added missing endif()

* regenerate docs

* Update scripts/cmake/vcpkg_configure_meson.cmake

Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
2020-11-23 09:43:23 -08:00
Jack·Boos·Yu
fdfe770571
[gdal] Update to 3.1.3 (#13449)
* [vcpkg_*_nmake] Add option INSTALL_COMMAND

* [gdal] Update to 3.1.3 and switch to vcpkg_*_nmake on Windows

* [vcpkg_build_make] Add option MAKEFILE

* fix install on windows, fix linux build

* fix options position

* [gdal] Fix linux build

* [gdal] Fix expat library name

* [gdal] Fix geos library name

* [gdal] Fix cmake wrapper

* [pdal] Fix dependency geos

* [pdal] Fix PDALConfig.cmake

* [gdal] Fix dependency cfitsio on *inx

* disable cfitsio temporary

* [gdal] Correct cmake wrapper and usage

* [gdal] Fix tools on windows-static

* Revert a9ac823007975485aacc7e1f3eb4053e295376e1

* Apply suggestions

* [vcpkg_build_nmake] Fix install command

* [vcpkg_build_nmake] Fix install command

* regenerate docs

* [gdal] Update dependency iconv and charset library names

* [gdal] add json-c as a dependency on non-windows

Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
2020-11-20 10:29:25 -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
miheer vaidya
b36ada7d75
[vcpkg] User help: selecting-library-features.md (#14189) 2020-11-02 17:26:25 -08:00
Billy O'Neal
09a647a526
Delete use of vcpkg_test_cmake and vcpkg_common_functions. (#13065) 2020-10-28 14:18:07 -07:00
ras0219
d1ba685e97
[vcpkg] Further JSON error improvements (#13399)
* [vcpkg] Split vcpkg/base/json.h into vcpkg/base/jsonreader.h

* [vcpkg] Extract definitions of Configuration-Deserializer (& friends)

These types are only used by VcpkgPaths during the initial parse.

* [vcpkg] Introduce levenshtein-distance suggestions for json errors

* [vcpkg] Fix regression in supports handling

* [vcpkg] Fix signed/unsigned mismatch

* [vcpkg] Address CR comments

* [vcpkg] Address CR comments

* Fix compiler error from merge conflict.

* [vcpkg] Change parameters of Reader::check_for_unexpected_fields to better match declaration

* [vcpkg] Improve errors from features set

* [vcpkg] Fix includes

* [vcpkg] Reuse code

* [vcpkg] Check the "name" field always to maximize error information

* [docs] Improve english phrasing in manifests.md

* [vcpkg] Correct docs link for manifests

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-10-12 10:22:47 -07:00
Alexander Neumann
0c1c43742d
[vcpkg] add env var VCPKG_OVERLAY_TRIPLETS (#12790)
* [vcpkg] add env var VCPKG_OVERLAY_TRIPLETS

* shorten way to complicated doc

* run clang format

* Apply CR

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

* Apply CR2

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-09-28 07:51:16 -07:00
ras0219
c98fd09290
[vcpkg-docs] Add note about GitHub hosted agents (#13641)
* [vcpkg_docs] Add note about GitHub hosted agents

* [vcpkg-docs] Add ./ prefixes to GitHub example

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-09-27 17:52:09 -07:00
Rafael Rivera
9c605a5efe
[vcpkg_docs] Fix feature flags option typo (#13578) 2020-09-17 13:10:02 -07:00
ras0219
54a09ff4ef
[vcpkg-docs] Add docs/users/binarycaching.md (#13517)
* [vcpkg-docs] Add docs/users/binarycaching.md

* [vcpkg] Address PR Comments

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-09-15 18:04:12 -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
6b97dbfce2
[vcpkg] Merge the vcpkg metadata uploader into the vcpkg binary (#13421) 2020-09-11 13:52:18 -07:00
jgehw
8b7e946c55
[execute_process] Don't strip embedded semicolons (#12926) 2020-09-09 10:36:58 -07:00
Martin Vejdarski
f7cd54fcd4
[chromium-base] Add new port (#12396)
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: Huahua <ihuahua@live.com>
2020-09-05 19:50:30 -07:00
Paul
6c7f2d95d8
11129: Add VCPKG_LINKER_FLAGS_<CONFIG>. (#11290)
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-09-03 11:00:35 -07:00
nicole mazzuca
d73ead568b
[vcpkg RFC] initial registries RFC (#12881) 2020-09-02 09:14:24 -07:00
ras0219
cdd4a988fd
[vcpkg_configure_cmake] Pass CMAKE_DISABLE_SOURCE_CHANGES to all ports by default (#12846)
* [vcpkg] Pass CMAKE_DISABLE_SOURCE_CHANGES to all ports by default

* [docs] Regenerate

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-08-31 22:35:52 -07:00
Frank Theile
5c056a65bb
Fix bullet lists for integration.md on readthedocs.io (#12873) 2020-08-19 21:13:37 -07:00
Alexander Neumann
4fb846bd44
[vcpkg] add environment variable VCPKG_OVERLAY_PORTS (#12640)
* [vcpkg] add environment variable VCPKG_OVERLAY_PORTS

* add documentation for VCPKG_OVERLAY_PORTS

* append env overlay instead of prepending to give explicitly listed overlays priority

* fix formating (manually)

* manually fixing formating

* improve help text

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

Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
2020-08-05 11:21:42 -07:00
Phoebe
f3221c0405
[sqlite3] Namespaced targets with unofficial:: (#12516)
* [sqlite3] Namespaced targets with unofficial::

* Fix failure ports

* Update the targets name

* Update related docs
2020-08-05 10:36:25 -07:00
Billy O'Neal
322b17f573
[vcpkg] Fix .gitignore excluding triplets/community, sort, and driveby vcpkg_check_linkage.md doc bug. (#12624)
* Un-.gitignore /triplets/community and use an absolute glob for all non .gitignore'd triplets.

* Fix vcpkg_check_linkage.md example to a port that actually uses vcpkg_check_linkage.

* Exclude all of the community directory.

* Update .gitignore

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
2020-08-01 13:57:39 -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
Jonathan Hale
5e40afca0d
[corrade,magnum,*-plugins,*-extras,*-integration] Update to v2020.06 (#12211)
* [magnum] Improve maintainability of feature to cmake flag conversion

* [magnum] Ignore features not supported on current platform

Allows `vcpkg install magnum[*]` on any platform.

Signed-off-by: Squareys <squareys@googlemail.com>

* [magnum] Add cglcontext and windowlesscglapplication features

* docs: Update valid VCPKG_CMAKE_SYSTEM_NAME values

Signed-off-by: Squareys <squareys@googlemail.com>

* [magnum-plugins] Replace deprecated basisu with archive download

Signed-off-by: Squareys <squareys@googlemail.com>

* [magnum-plugins] Add meshoptimizersceneconverter feature

Signed-off-by: Squareys <squareys@googlemail.com>

* [magnum-plugins] Also use vcpkg_check_features

Analog to magnum port.

Signed-off-by: Squareys <squareys@googlemail.com>

* [corrade,magnum,*-plugins,*-extras,*-integration] Update to v2020.06

Signed-off-by: Squareys <squareys@googlemail.com>

* [meshoptimizer] Add initial port

Signed-off-by: Squareys <squareys@googlemail.com>

* [magnum-plugins] Replace meshoptimizer download with feature dependency

Signed-off-by: Squareys <squareys@googlemail.com>

* [corrade,magnum-*] Fix license installation command

Signed-off-by: Squareys <squareys@googlemail.com>

* [meshoptimizer] Use vcpkg_fixup_cmake_targets

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-07-14 08:38:18 -07:00
Robert Schumacher
f38a61de33
[vcpkg] RFC: Binarycaching (#11204)
* [vcpkg] Initial commit of Binarycaching specification

* [vcpkg] Update to Binarycaching Specification

Note change to XDG directory structure.
Replace 'upload' config keyword with more flexible read/write/readwrite keywords.

* [vcpkg] Update binarycaching.md with new option

--write-nuget-packages-config
2020-07-14 08:36:01 -07:00
ras0219
385fb52332
[vcpkg] Track hashes of cmake script helpers in consuming portfiles (#12254)
* [vcpkg] Track hashes of cmake script helpers in consuming portfiles

* [vcpkg] Format

* [vcpkg_find_acquire_program] Use cpkg_from_sourceforge for FLEX and BISON

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-07-13 13:43:39 -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
f9bdf13953
[vcpkg] Implement --editable (#12200)
--editable suppresses binary caching and source re-extraction for packages listed on the command line (similar to --head).

This fundamentally changes the port maintenance loop, so several example documents were updated. To avoid users having substantial changes suddenly destroyed by forgetting to pass --editable, "clean" sources have different extract locations.

The undocumented command `build` implies `--editable`.

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-07-07 13:53:19 -07:00
Jack·Boos·Yu
21b56d9929
[vcpkg_from_sourceforge] Add retry mirror function (2/2) (#12018) 2020-07-03 09:36:40 -07:00
Phoebe
bd2dbb2ce5
[vcpkg] Update message in bootstrap.ps1 (#12145)
* [vcpkg] Update message in bootstrap.ps1

* Update docs/users/integration.md
2020-07-01 16:58:04 -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
a0e0c57f86
[vcpkg] Add vcpkg_from_sourceforge (1/2) (#11899) 2020-06-26 15:06:30 -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
Leonid Pospelov
5f237aa8a4
Mention --ignore-space-at-eol in patching.md (#11952) 2020-06-18 15:35:30 -07:00