[proj4] Update to 8.1.1, revise features and dependencies#20443
[proj4] Update to 8.1.1, revise features and dependencies#20443BillyONeal merged 16 commits intomicrosoft:masterfrom
Conversation
|
Okay, libspatialite needs to learn transitive dependencies. |
ports/proj4/portfile.cmake
Outdated
There was a problem hiding this comment.
I personally don't like this, this will increase variability.
There was a problem hiding this comment.
I personally don't like this, this will increase variability.
What is your proposal? It just implements upstream feature design: With net and tools, there is projsync. But there is no AND in `vcpkg_check_features´.
There was a problem hiding this comment.
Use the original method:
if ("tools" IN_LIST FEATURES OR "net" IN_LIST FEATURES)
set(ADDITIONAL_OPTIONS "-DBUILD_PROJSYNC=ON")
endif()There was a problem hiding this comment.
The original method was variation in number of FEATURES supplied to check_feature_options (before check_feature_options, sometimes adding tools BUILD_PROJSYNC to EXTRA_FEATURES).
You propose another alternative, adding the setting to another variable, independent of check_feature_options.
I dislike both approaches for the inconsistency. All other tools are handled by vcpkg_check_features. vcpkg_check_features doesn't only set FEATURE_OPTIONS (functional effect) but also individual variables (side effect). I wanted to have the same behaviour for BUILD_PROJSYNC.
There was a problem hiding this comment.
See #20147.
This situation cannot be handled in vcpkg_check_features at present, we can only do so.
There was a problem hiding this comment.
This situation can be handled in vcpkg_check_features, but only in the proposed way: Changing the feature name.
There was a problem hiding this comment.
Well, please complete this PR and let my colleague review it further.
There was a problem hiding this comment.
I will complete it when the pc file PR is merged (#20458). We need to carry transitive usage requirements for static linkage. That's why it is a draft.
|
Depends on #20480. |
|
Seems to need #21594 which in turn needs #21599 which needs review from @JackBoosY. |
There was a problem hiding this comment.
This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 80be868eb552a8d2f94cda5ee1ce94d49612ce12 -- versions
./vcpkg x-add-version --allDiff
diff --git a/versions/baseline.json b/versions/baseline.json
index c557c01..674bfc4 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -5401,7 +5401,7 @@
"port-version": 1
},
"proj4": {
- "baseline": "8.0.0",
+ "baseline": "8.1.1",
"port-version": 0
},
"prometheus-cpp": {|
libcrypto from openssl needs user32.lib. This is not an issue with CMake which has implicit link libraries. But it is an isse with nmake when relying only on pkg-config. Alternative A: Update libcrypto.pc. Rebuilds all dependencies of openssl. I tend towards B. It seems to more consistent overall behaviour in vcpkg. |
|
@dg0yt Put them into |
Something like |
To unblock the highly desired proj changes now, I implemented alternative C: Add user32.lib explicitly where needed. In the long run, I still prefer alternative B. But this would be a fundamental change. It would better go to a new port vcpkg-nmake instead of the currrent unversioned maintainer script. |
|
CI strangeness: On osx, it rebuilds some ports which should be cached and are not affected by the changes. From the logs: Build 1, 0f07f0f: Rebuilding readosm, Build 2, d5bc878: Rebuiding freexl Build 2 was started after completing build 1, the ABI hashes didn't change, and |
|
Thanks for the updates! |
What does your PR fix?
netfeature. It is enabled by default, following upstream.Network support (via libcurl) was bound to the
toolsfeature but in fact it is independent.(I wonder if there is an established name for such a feature. Alternatives are "network" or "online".)
The key issue was properly exporting the dependencies for consumers (cmake config and pkgconfig).
Which triplets are supported/not supported? Have you updated the CI baseline?
unchanged
Does your PR follow the maintainer guide?
yes
If you have added/updated a port: Have you run
./vcpkg x-add-version --alland committed the result?yes
Important behavioural change
The opt-in feature
toolsno longer implies network support.