Commit Graph

27 Commits

Author SHA1 Message Date
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
Billy O'Neal
af56d50d64
[libarchive] Disable C4061 which causes build to fail in Visual Studio 2019 16.6 (#11570)
* [libarchive] Disable C4061 which causes build to fail in Visual Studio 2019 16.6

* Bump verison.
2020-05-26 21:01:32 -07:00
Alexander Neumann
f05560d812
[libarchive] expose zstd as a build feature (#11044)
* [libarchive] add zlib and zstd to wrapper and expose zstd as a build feature.

* bump control
2020-04-27 06:56:50 -07:00
Alexander Neumann
4d8237b89c
[libarchive, libuv]Fix static linkage (#10769)
* [libarchive] fix static linkage of libarchive in dependent ports (non yet)

* [libuv] fix static builds of dependent ports

* modernize portfiles

* remove POSIX_REGEX_LIB=NONE 
since it is added elsewhere

* remove debug message
2020-04-17 14:13:24 -07:00
Phil Christensen
e62d136128
[vcpkg] Add Supports: field. Use contents of triplets instead of names for dependency resolution. (#8601)
* remove unfinished "supports" tag

* extract "supports" from control files
But do nothing with the value

* Start `Supports` documentation

* Use Supports in a bunch of control files

I only tried matching the already existing logic in the portfile.cmake.

* Cmake var provider (#8)

* Cmake var provider (#9)

* fix windows build (#10)

* Add missing files to build

* Fix test (#11)

* adding hooks for cmake variables in expressions

* Adding hooks for 'supports' in CI test

* Fix test (#12)

* Add overrides to evaluation environment

* use "supported" tag in CI testing

* cleanup comment

* Fix issues with PR

* [var_provider] Get library linkage variables from triplet

* Fix compilation errors in tests

* Add unimplemented functions

* Fix unit tests part 1

* Fix issue when buildtrees dir does not exist

* Change binary output hash

* Fix handling of * feature

* Add core feature when using *

* Do not add Default-Features when installing 'core'

* [vcpkg] WIP. 6 failing tests.

* [vcpkg] WIP. 1 failing tests.

* [vcpkg] WIP. 0 failing tests.

* [vcpkg] Removed 'remove_graph'. 0 failing tests.

* [vcpkg] Removed 'install_graph'. 0 failing tests.

* [vcpkg] Remove AnyAction; replace with ActionPlan

* [vcpkg] Minor cleanup.

* [vcpkg][z3][qt5-connectivity][qt5-purchasing] Improve error messages while parsing. Fix a few trivial port issues.

* [vcpkg] Work around ICE with MSVC v140

* [vcpkg] Add purge on fail to decompress for CI

* [vcpkg] Fix parsing of nested parentheses in qualifiers

* [vcpkg] Fix Linux builds (explicit qualification in declaration)

* [vcpkg] Fix Build-Depends implying default features. Fix qualified dependencies regression.

* [mmx] Add to skip list and full rebuild -- mmx causes problems by installing 'sched.h'

* [libpqxx][mqtt-cpp] Prevent installing include/CMakeLists.txt

* [cppitertools] Fix installed include namespace (should be include/cppitertools)

* [libsoundio] Move headers into soundio/ subdirectory as per original cmake

* [ci.baseline] Temporarily skip charls due to conflict with dcmtk

* [vcpkg] Add restricted include files post build check -- bump global abi version

* [libsoundio] Hotfix stray line in portfile

* [vcpkg] Fix regression: CMake information was not being displayed for build-and-install actions

* [jsonnet] Fix installation of internal headers; use system nlohmann-json

* [grpc][upb] Teach grpc to use packaged upb. Add find_package(upb). Remove inappropriate upb features.

* [zfp] Move problematic 'include/bitstream.h' to 'include/zfp/bitstream.h'

* [x265] Bump control version to trigger rebuild after zfp conflict

* [akali] Disable parallel configure

* [dirent][dlfcn-win32][getopt-win32][pthreads] Grandfather into VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS

* [ci.baseline] Update baseline for improved upb support

* [tgui] Disable parallel configure

* [libiconv] Enable VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS

* [aws-sdk-cpp] Disable parallel configure

* [vcpkg] Implement policy VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS

* [aws-sdk-cpp] Fix amount of escaping semicolons -- Note: I do not know the root cause requiring this change

* [libodb-sqlite] Fix configuring into source directory

* [gettext] Grandfather into VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS

* [libodb] DISABLE_PARALLEL_CONFIGURE

* [vcpkg] Add 'config.h' and 'local.h' to restricted header list

* [mcpp] Remove unused and problematic include 'config.h' from installed files

* [teemo] Move installed headers into subdirectory to prevent conflicts with x265

* [ci.baseline] Update current OSX. Skip libmesh on all platforms due to heavy conflicts.

* [vcpkg] Add 'slice.h' as a restricted header

* [osg] Improve accuracy of dependencies (disable some, add some to Depends)

* [vcpkg] Skip invoking a subprocess for 0 specs in load_tag_vars

* [ci.baseline] Skip mongo-c-driver on osx due to flakiness

* [teemo] Fix incorrect include file read

* [osg] Fix dependency typo: glut -> freeglut

* [vcpkg] Recover some lost performance with the addition of vcpkg_get_tags.

A huge performance cost was loading the triplet files over and over; instead, we splice the sources into a macro and load it once, then just call that macro for each port.
Remove use of hashing because we aren't cross-process-safe anyway (global static will do instead).

* [vcpkg] Change Supports atom 'windows' to include UWP. Improve Supports field documentation.

* [vcpkg] Add docs for VCPKG_ENV_PASSTHROUGH and VCPKG_DEP_INFO_OVERRIDE_VARS

* Fix typo

Co-authored-by: Curtis J Bezault <curtbezault@gmail.com>
Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-02-03 14:22:52 -08:00
Oleg Shparber
6ee44d2260 [libarchive] Update to 3.4.1 (#9676) 2020-01-17 16:13:12 -08:00
Robert Schumacher
59b28867dc
[vcpkg-baseline] Fixes for vtk, libarchive, xalan-c, and openvpn3 on Linux (#9411)
* [libarchive] Fix cpu_set_t missing

* [xalan-c] Fix flakiness in presense of ICU

* [openvpn3] Add missing bits/endian.h include

* [vcpkg-baseline] Mark vtk as no longer failing
2019-12-21 11:34:24 -08:00
scholle
1835f4c56c bump libarchive CONTROL version 2019-10-14 00:09:38 +02:00
Julian Scholle
c309af4c71 fix mixed release and debug build (was always using zstd release) 2019-10-11 16:55:50 +02:00
Robert Schumacher
1550b9e71b
[many ports] Updates 2019.07.09 (#7217)
* [many ports] Upgrades 2019.07.11

* Re-generate patches and fix build errors.

* [manyport]Fix build errors.

* Fix avro-c and console-bridge failures, revert curl and tesseract

* fix botan failure

* Fix build errors and undo some ports upgrades.

* [aws-c-common,chipmunk,cxxopts,grpc]Fix build errors

* Fix build errors.

* [angle]Undo upgrade changes.

* [directxtk]Fix UWP build error (#7233)

* Revert leptonica since it cause tesseract failed

* Revert jsonnet

* [google-cloud-cpp] Disable parallel configure due to source directory writes

* [many ports] Undo undesired changes

* [bitsery] Fix indentation

* [avro-c][aws-c-common][graphite2] Convert line endings to minimize PR diff

* fix console-bridge and remove usockets unused patch

* update ogre patch

* [many ports] Revert unneeded changes w.r.t. master. Add missing write to console-bridge.

* [console-bridge] Fix export macro

* [avro-c] Revert upgrade; split to #7875

* [avro-c] Complete previous revert
2019-08-24 13:43:57 -07:00
pravic
18b029a5e3 [WIP] Add a Homepage URL entry for vcpkg ports (#2933)
* [vcpkg] Add "Homepage" field to the CONTROL files.
2019-06-15 16:54:47 -07:00
DDoSolitary
728c993bc4 fix(libarchive): fix lz4 patch to align with upstream
* Fix fix-lz4.patch.
* Switch base to v3.3.3 for fix-lz4.patch.
2019-02-07 14:42:50 -08:00
Bo Anderson
62f294eeae [libarchive] Fix libxml2 feature not taking effect (#5298) 2019-02-06 12:48:27 -08:00
Oleg Shparber
b0137ff288 [libarchive] Update to version 3.3.3, add feature support (#4407)
* [libarchive] Update to version 3.3.3, add feature support

* [libarchive] Mark features as default to mimic previous behavior. To not install them, use `libarchive[core]`.
2018-10-08 20:30:12 -07:00
Robert Schumacher
b08e78b07d [cmark][gl3w][libpopt][libraw][libssh][live555] Fixes, mostly around changing download locations. 2018-07-02 22:16:47 -07:00
DDoSolitary
4772ed9965
[libarchive] Increase build number. 2018-05-23 18:34:07 +08:00
DDoSolitary
98898a3b7c
[libarchive] Fix indenting. 2018-05-23 18:33:36 +08:00
DDoSolitary
7971d70e10
Fix dep to lz4 for libarchive.
Fix #3271.
2018-05-22 19:43:24 +08:00
Alexander Karatarakis
26516fe485 vcpkg_configure_cmake (and _meson) now embed debug symbols within static libs (/Z7) 2017-09-09 00:12:54 -07:00
codicodi
cceab52788 [libarchive] update to 3.3.2 2017-07-12 18:26:28 +02:00
codicodi
b1110308f6 [libarchive] fix list of dependencies 2017-05-10 18:20:37 +02:00
codicodi
84518495ce [libarchive] update to 3.3.1 2017-04-05 16:06:42 +02:00
Robert Schumacher
490ddfe2f7 [libarchive] Disable libiconv support
This fixes an issue with the detection code on VS2017. Additionally, it appears that the functionality provided by libiconv is minimal on Windows due to the existance of the Win32 conversion APIs.
2017-01-25 21:14:57 -08:00
codicodi
cf5770d264 [libarchive] bump version 2017-01-24 21:59:24 +01:00
codicodi
05b82a96ae [libarchive] apply patch 2017-01-24 21:59:05 +01:00
codicodi
6946f2d244 [libarchive] add one more patch 2017-01-24 21:57:52 +01:00
codicodi
f99d143dc3 add libarchive 2017-01-05 21:22:32 +01:00