27 Commits

Author SHA1 Message Date
c8ef
4327b9c40a
[abseil] update to 20240722.0 (#40297) 2024-08-06 14:22:36 -07:00
Kai Pastor
47c736a744
[abseil] Fix port bugs (#39664) 2024-07-05 13:37:48 -04:00
therselman
513ccfb2cb
[abseil] Fix missing #include <random> for std::uniform_int_distribution (#39522) 2024-06-26 20:25:54 -07:00
Dennis
561d171d79
[grpc/protobuf] Update grpc to 1.60.0 and update protobuf to 3.25.1 (#35781)
Resolves https://github.com/microsoft/vcpkg/issues/35566

This pr includes https://github.com/microsoft/vcpkg/pull/31159 and
https://github.com/microsoft/vcpkg/pull/35399

Ports changed in this pr:

Most of these changes stem from the fact that protobuf now depends on
abseil and requires c++14 while ports consume protobuf using
`target_link_libraries(lib ${Protobuf_LIBRARIES})` instead of
`target_link_libraries(lib PUBLIC protobuf::libprotobuf)`.

* **abseil** Updated to 03/04/2024 to address MSVC build issue in
openvino
* **arcus** Updated to 4.13.2
* **braft** Patched to use `find_package(Protobuf` instead of custom
FindProtobuf module. also link with `PUBLIC protobuf::libprotobuf)`.
* **brpc** Patch several `target_link_library` calls to include `PUBLIC`
instead of nothing. Patch some warnings that are treated as errors by
some OSX compiler. Patch usage of changed protobuf features most
importantly removal of `SetLogHandler`, tbd whether this patch is
acceptable with upstream.
* **cld3** Use CONFIG to find protobuf to propagate dependent abseil
libs and cxx14 correctly.
* **ecal** Use CONFIG to find protobuf. Use PUBLIC when linking it.
* **gamenetworkingsockets** Add `-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=on`
for protobuf.
* **gz-transport12** Update to fix usage of removed protobuf features.
* **ignition-msgs1/5/6** Remove protobuf version check which is confused
by the duplicate versioning scheme (v25.1 vs. 3.25.1 vs 4.x). Why are we
even maintaining this no longer maintained major version of this port? I
would welcome a more strict policy on removing ports/adding them to
ci.baseline.txt
* **ignition-transport4/8/9** Same as above + cherry-pick a protobuf
deprecation patch.
* **libprotobuf-mutator** Cherry-pick two commits to address altered
protobuf functionality. Add CONFIG and PUBLIC to protobuf handling in
CMake.
* **marble** Explicitly set protobuf to not found since it is not part
of the vcpkg.json but is made available transitively but another
dependency.
* **mysql-connector-cpp** Several CMake changes and removal of
protobuf::SetLogHandler patch.
* **openvino** Find protobuf using CONFIG
* **osgearth** Link libraries using PUBLIC and link with
protobuf::libprotobuf instead of Protobuf_LIBRARIES
* **paraview** Find protobuf using CONFIG and remove version check
* **pulsar-client-cpp** Add protobuf linkage to PULSAR_OBJECT_LIB.
Simplify protoc patch. Remove -Werror.
* **shogun** Update and patch as much as possible. Users are required to
override bitsery version to 4.x to use shogun since it does not support
5.x provided by vcpkg. Therefore add shogun to ci.baseline.txt.
* **srpc** Update and fix static crt linkage. Patch protobuf linkage and
remove hardcoded `-std=c++11` flag. Protobuf requires c++14 and CMake
does not recognize the hardcoded c++11 flag and will therefore not add a
c++14 flag when the compiler uses c++14 by default.
* **upb** Update to align version with protobuf/grpc and use new github
repo. Patch usual CMake mess (they do not support CMake officially)
which should probably be `unofficial-upbConfig.cmake` but I didn't dig
into downstream implications so I kept it at `upbConfig.cmake` as
before.
* **utf8-range** Update to allign version with protobuf.
2024-06-21 13:39:50 -07:00
Lily Wang
cd57207772
[abseil] Update to 20240116.2 (#38379)
Update `abseil` to 20240116.2.

- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] SHA512s are updated for each updated download.
- [ ] ~~The "supports" clause reflects platforms that may be fixed by
this new version.~~
- [ ] ~~Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.~~
- [ ] ~~Any patches that are no longer applied are deleted from the
port's directory.~~
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.

Feature passed with following triplets:
```
x86-windows
x64-windows
x64-windows-static
```
Usage test passed on `x64-windows`.

---------

Co-authored-by: Lily Wang <v-lilywang@microsoft.com>
2024-04-25 09:13:32 -04:00
wtz
50ca16008c
[multiple ports] Keep description consistent with upstream (#37998)
<!-- If your PR fixes issues, please note that here by adding "Fixes
#NNNNNN." for each fixed issue on separate lines. -->

<!-- If you are still working on the PR, open it as a Draft:
https://github.blog/2019-02-14-introducing-draft-pull-requests/. -->

<!-- If this PR updates an existing port, please uncomment and fill out
this checklist: -->

- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] ~SHA512s are updated for each updated download.~
- [ ] ~The "supports" clause reflects platforms that may be fixed by
this new version.~
- [ ] ~Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.~
- [ ] ~Any patches that are no longer applied are deleted from the
port's directory.~
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.

<!-- If this PR adds a new port, please uncomment and fill out this
checklist:

- [ ] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] The name of the port matches an existing name for this component
on https://repology.org/ if possible, and/or is strongly associated with
that component on search engines.
- [ ] Optional dependencies are resolved in exactly one way. For
example, if the component is built with CMake, all `find_package` calls
are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or
disabled with
[CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html).
- [ ] The versioning scheme in `vcpkg.json` matches what upstream says.
- [ ] The license declaration in `vcpkg.json` matches what upstream
says.
- [ ] The installed as the "copyright" file matches what upstream says.
- [ ] The source code of the component installed comes from an
authoritative source.
- [ ] The generated "usage text" is accurate. See
[adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md)
for context.
- [ ] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [ ] Only one version is in the new port's versions file.
- [ ] Only one version is added to each modified port's versions file.

END OF NEW PORT CHECKLIST (delete this line) -->
2024-04-09 12:10:21 -04:00
jim wang
2639f60109
[abseil] Update to 20240116.1 (#37461)
Fixes https://github.com/microsoft/vcpkg/issues/37439
2024-03-18 14:32:22 -07:00
Jia Yue Hua
be1e1b72e7
[abseil]: update to 2023.08.02.1 (#33975) 2023-09-25 23:40:53 -07:00
Weihang Ding
d36252e12a
[abseil] Bump to 20230802.0 (#33099)
* [abseil] Bump to 20230802.0

* update version database

* apply suggestions

* update version database
2023-08-11 09:45:37 -07:00
Daniel Schürmann
8184c5e06c
[abseil] Add patch that fixed the CoreFoundation linkage (#32781) 2023-07-27 09:24:47 -07:00
Carlos O'Ryan
3b9862c081
[abseil] update to 20230125.3 version (#31764)
Protobuf >= 23.0 will require Abseil 20230125.3 or higher.
2023-06-06 16:18:18 -07:00
pigeon
726f920294
[abseil] Fix activation of cxx17 feature (#29843)
Previously nothing would happen when specifying the `cxx17` feature, because the detection in the portfile is wrong.
2023-03-08 14:44:00 -08:00
Carlos O'Ryan
341d02562a
[abseil] update to latest release (20230125.0) (#29692)
* [abseil] update to latest release (20230125.0)

* Fix DLL support

* Update version

* I do not understand the warning about version-string, fixing it seems to make things worse

* [etcd-cpp-apiv3] Abseil requires C++14

* Update a downstream port

* I just cannot get these right, argh

* Try to switch from version-string to version (again)

* Regenerate versions

* Improve etcd handling of C++ standard

* Regenerate versions

* Use target_link_libraries to get compilation flags

* Update version files
2023-02-21 08:28:07 -08:00
Dennis
5f6a2ed8cf
[grpc] Update to 1.49.0 (#26836)
* abseil: Update to 20220623.1

* upb: Update to 2022-06-21

* grpc: Update to 1.49.0

* grpc: Adjust SHA512 for v1.49.0

* abseil: Add license field
2022-09-25 23:11:57 -07:00
yuehua.jia
aa24b585e1
[abseil] Upgrade to 2021.1102 (#22017)
* [abseil] Upgrade to 2021.1102

* revert portfile.cmake

* update version

* update portfile.cmake

* update version

Co-authored-by: Jonliu1993 <13720414433@163.com>
2021-12-16 15:52:45 -08:00
NancyLi1013
430dde6fbc
[abseil] Support x86 and arm (#21152) 2021-11-04 10:47:10 -07:00
Sergii Baitala
27d8b29764
[abseil] Upgrade to 20210324.2 (#19357)
* Update vcpkg_from_github.cmake

* Update abseil to 20210324.2

* Use version-date instead of version-string

* Update abseil.json

* Remove port-version from ports/abseil/vcpkg.json

Co-authored-by: JonLiu1993 <63675417+JonLiu1993@users.noreply.github.com>

* update version-date

* Update abseil.json

* Update vcpkg.json

* Update version

* Update abseil.json

* Add port-version back

* Update ports/abseil/vcpkg.json

Co-authored-by: JonLiu1993 <63675417+JonLiu1993@users.noreply.github.com>

* [abseil] Upgrade to 20210324.2

* update version

* update vcpkg.json

* update version

Co-authored-by: JonLiu1993 <63675417+JonLiu1993@users.noreply.github.com>
Co-authored-by: Jonliu1993 <13720414433@163.com>
2021-08-18 17:22:30 -07:00
Alexander Neumann
42edfd6e40
[abseil] vcpkg_fixup_pkgconfig (#17774)
* pkgconf abseil

* version stuff
2021-05-11 00:34:31 -07:00
Christian Fersch
c94ecfa8f6
[abseil] Upgrade to 20210324 (#16928)
* [abseil] Upgrade to 20210324

* Use new version field

Co-authored-by: Phoebe <20694052+PhoebeHui@users.noreply.github.com>

Co-authored-by: Phoebe <20694052+PhoebeHui@users.noreply.github.com>
2021-03-29 09:19:41 -07:00
xyb
44d235f7ee
[abseil] Upgrade to 20200923 patch 3, fix gcc11 build error (#16664) 2021-03-15 15:18:10 -07:00
Jack·Boos·Yu
c6e8d45193
[abseil] Remove link flag '-ignore:4221' (#16106)
* [abseil] Remove link flag '-ignore:4221'

* update version record
2021-02-08 13:48:46 -08:00
Jack·Boos·Yu
9b72cad7f0
[abseil] Re-fix cxx 17 standard, add macro ABSL_USE_CXX17 (#14647)
* [abseil] Re-fix cxx 17 standard, add macro ABSL_USE_CXX17 to `absl-config.cmake`

* [grpc] Fix build failure when abseil use cxx 17 standard

* Update ports/abseil/portfile.cmake
2020-11-20 11:53:48 -08:00
Jack·Boos·Yu
75e24fa124
[abseil] Revert changes about arm build (#14109) 2020-11-03 22:46:27 -08: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
Dico
cfe88ab476
[abseil] Fix CMake warning (#12781)
* abseil: Patch to fix CMake Threads dependency warning.

* abseil: Make portfile comment more concise
2020-08-07 11:13:09 -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
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