-
Notifications
You must be signed in to change notification settings - Fork 6.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ports/ed25519/CMakeLists.txt] Install all headers #35143
base: master
Are you sure you want to change the base?
Conversation
@SamuelMarks, thanks for your PR, plesase also add "port-version: 1" to vcpkg.json file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ed25519:x64-linux:/include/ed25519.h
ed25519:x64-linux:/include/fe.h
ed25519:x64-linux:/include/fixedint.h
ed25519:x64-linux:/include/ge.h
ed25519:x64-linux:/include/precomp_data.h
ed25519:x64-linux:/include/sc.h
ed25519:x64-linux:/include/sha512.h
Not acceptable. Some filepaths (e.g. include/sha512.h
) shouldn't be owned by this port.
It might be possible to move the private headers to a s subdir, but does it help those consumers?
Note: I will be converting your PR to draft status. When you respond, please revert to "ready for review". That way, I can be aware that you've responded since you can't modify the tags. |
@dg0yt @JonLiu1993 How about just these four headers? Otherwise will have to figure out a pretty big patch file to namespace everything here; and another patch to namespace everything in the callee library (that I don't maintain). |
Hm, I'm still mildly opposed to putting private headers into the main include dir, for one unknown use case. |
@SamuelMarks, One thing I'm sure of is that if you want to add a private header file in the main include dir, you need to get the author's permission from upstream. |
There are two separate questions:
|
Ping @SamuelMarks for response. |
I've limited the included headers to 4. If you want it to be namespaced ask? |
@SamuelMarks, You can ask the upstream if it agrees to install the private header file? |
This upstream repository is unmaintained, and issues submitted upstream have not been responded to for a long time, so I think we can merge this PR. |
@SamuelMarks, please merge this PR to master, thanks. |
@JonLiu1993 Did that yesterday |
We took a look at the headers and noticed that the public API is contained to just You mentioned that some packages require |
@@ -53,7 +53,7 @@ write_basic_package_version_file( | |||
COMPATIBILITY SameMajorVersion | |||
) | |||
install(FILES "${VERSION_FILE_PATH}" DESTINATION "share/unofficial-${PROJECT_NAME}") | |||
install(FILES "src/ed25519.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") | |||
install(FILES "src/ed25519.h" "src/fe.h" "src/fixedint.h" "src/ge.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
install(FILES "src/ed25519.h" "src/fe.h" "src/fixedint.h" "src/ge.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") | |
install(FILES "src/ed25519.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vicroms That's what I had before; but the library I am integrated vcpkg into uses these other headers directly and I don't want to edit their codebase [source or header files] in order to support the platforms vcpkg supports.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is still the suggestion to put the private headers into a unique subdir. This is one change for that project (to use an additional include dir), instead of having the private headers in everybody's search path.
(And for specific single-user requirements, their are overlay ports and other customization points.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The vcpkg team agrees with @dg0yt's points:
- Moving the private headers into a subdirectory (e.g.:
orlp-ed25519/*.h
) would be acceptable. - Forcing other users to deal with the consequences of a project deciding to take a dependency on private headers not meant for consumption is not acceptable.
- Users can override the behavior by using overlay ports with the changes you have made here.
Please let me know if this resolution is acceptable to you.
./vcpkg x-add-version --all
and committing the result.Not sure if I'm meant to manually change
"port-version": 0
?Anyway these headers all need to be installed as some packages, for example, depend on
ge.h
so that needs to be installed.