If a call to `vcpkg_replace_string` makes no changes i.e doesn't
effectively replace a string, A warning is logged.
This should also help identify ports that no longer need these calls to
fix things in `.pc` files etc.
Resolves#38869.
For simplicity, always acquire `PKGCONFIG`:
It is needed by multiple features, and on `UNIX`, curl's find modules
will try to load it for determining package hints.
Refactor curl port:
- Add test
- Refine dependencies patch
- gssapi feature is not for windows
<!-- 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/. -->
- [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.
- [x] The "supports" clause reflects platforms that may be fixed by this
new version.
- [x] Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.
- [x] 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) -->
Co-authored-by: WangWeiLin-MV <156736127+WangWeiLin-MV@users.noreply.github.com>
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] 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.
- [x] 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).
- [x] The versioning scheme in `vcpkg.json` matches what upstream says.
- [x] The license declaration in `vcpkg.json` matches what upstream
says.
- [x] The installed as the "copyright" file matches what upstream says.
- [x] The source code of the component installed comes from an
authoritative source.
- [x] The generated "usage text" is accurate. See
[adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md)
for context.
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is in the new port's versions file.
- [x] Only one version is added to each modified port's versions file.
krb5 have an issue of absolute paths that I am not sure how to fix, also
I didn't succeeded to compile it on windows, but this PR is a good
start.
```
warning: There should be no absolute paths, such as the following, in an installed package:
/home/tal/vcpkg/packages/krb5_x64-linux
/home/tal/vcpkg/installed
/home/tal/vcpkg/buildtrees/krb5
/home/tal/vcpkg/downloads
Absolute paths were found in the following files:
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/bin/compile_et
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/bin/krb5-config
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/debug/bin/compile_et
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/debug/bin/krb5-config
error: Found 1 post-build check problem(s). To submit these ports to curated catalogs, please first correct the portfile: /home/tal/vcpkg/ports/krb5/portfile.cmake
```
<!-- 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/. -->
- [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.
- [x] The "supports" clause reflects platforms that may be fixed by this
new version.
- [x] Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.
- [x] 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) -->
<!-- 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/. -->
- [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.
- [x] The "supports" clause reflects platforms that may be fixed by this
new version.
- [x] Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.
- [x] 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.
When you install curl[tool,idn2] with vcpkg, and the you do:
```
curl --version
```
You can see the lib that it install with, and even you install the
feature idn2, it missing. I fix it.
It should look similar to that:
```
curl 8.7.0-DEV (Linux) libcurl/8.7.0-DEV ... libidn2/2.3.4 ...
```
The commit [1] broke consuming curl for downstream projects:
CMake Error at cmake-build-debug/vcpkg_installed/x64-windows-static/share/curl/CURLTargets.cmake:61 (set_target_properties):
The link interface of target "CURL::libcurl" contains:
c-ares::cares
but the target was not found. Possible reasons include:
* There is a typo in the target name.
* A find_package call is missing for an IMPORTED target.
* An ALIAS target is missing.
[1]: c9eb3bd14e
* [curl] Update to 7.86.0
* [azure-core-cpp] Add missing Ws2_32.lib.
Filed upstream as https://github.com/Azure/azure-sdk-for-cpp/pull/4127
* [aws-sdk-cpp] Lock the selected curl features.
Co-authored-by: FrankXie <v-frankxie@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* Fix SSL on iOS
Enables secure transport SSL backend on iOS.
When CURL_CA_BUNDLE is set (defaults to /etc/ssl/cert.pem) curl sets it as CA for every request, but on iOS this file is missing and curl's `sectransp` SSL implementation can't deal with it, failing the request completely.
This change makes CURL_CA_BUNDLE to be unset, much like CURL_CA_PATH so that `sectransp` uses system CA store.
* Update versions/c-/curl.json
Co-authored-by: Frank <65999885+FrankXie05@users.noreply.github.com>
Co-authored-by: Frank <65999885+FrankXie05@users.noreply.github.com>
* Add wolfSSL port
* Add wolfMQTT
* Add wolfTPM
* Update ci.baseline.txt for wolfSSL, wolfMQTT, wolfTPM
* curl: Add wolfSSL feature
* wolfSSL: Always build out of tree and enable DES3
* wolfssl: support !uwp and use PORT variable for copyright install
* curl: use `VCPKG_TARGET_IS_WINDOWS` instead of triplet and `MATCHES`
Co-authored-by: Cheney Wang <38240633+Cheney-W@users.noreply.github.com>
* curl[wolfssl]: add DES_ECB and add patch to resolve ntlm includes
* Fix version database.
Co-authored-by: Cheney Wang <38240633+Cheney-W@users.noreply.github.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* move boost out of the toolchain
* move icu out of the toolchain
* remove CURL from the toolchain (was already unreachable?)
* remove gsl from toolchain
* remove grpc from toolchain
* version stuff
* fix indent and missing endif()
* version stuff
* Revert changes to vcpkg.cmake
* push port version
* version stuff
* [curl] Fix android builds. Greatly simplify pkgconfig handling.
* [curl] Fix permissions on curl-config
* [curl] Fix missing assigment in replacement
* [curl] Update version
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* [poppler] Fix issue with using libcurl.
* [curl] Ensure CMake policy is set for the libcurl config file.
Otherwise, ports using old (eg pre-2.8) CMake minimums might fail when
they import the package.
* [poppler] Add curl feature to test curl vcpkg-cmake-wrapper.