Skip to content
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

[cpprealm] new port #39561

Draft
wants to merge 10 commits into
base: master
Choose a base branch
from
Draft

[cpprealm] new port #39561

wants to merge 10 commits into from

Conversation

leemaguire
Copy link
Contributor

  • Changes comply with the maintainer guide.
  • 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.
  • 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 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.

@leemaguire leemaguire marked this pull request as ready for review June 27, 2024 15:46
@jimwang118 jimwang118 added the category:new-port The issue is requesting a new library to be added; consider making a PR! label Jun 28, 2024
ports/cpprealm/portfile.cmake Outdated Show resolved Hide resolved
ports/cpprealm/portfile.cmake Outdated Show resolved Hide resolved
ports/cpprealm/portfile.cmake Outdated Show resolved Hide resolved
@jimwang118
Copy link
Contributor

Note: I will be converting your PR to draft status. The above suggested changes are only recommendations. If you are willing to adopt them, please click "ready for review" after making the modifications. If you do not wish to make any changes, please click "ready for review" directly. That way, I can be aware that you've responded since you can't modify the tags.

@jimwang118 jimwang118 marked this pull request as draft June 28, 2024 02:54
@leemaguire leemaguire marked this pull request as ready for review June 28, 2024 10:36
jimwang118
jimwang118 previously approved these changes Jul 1, 2024
Copy link
Contributor

@dg0yt dg0yt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Community feedback. Untested.

ports/cpprealm/portfile.cmake Outdated Show resolved Hide resolved
ports/cpprealm/portfile.cmake Outdated Show resolved Hide resolved
@jimwang118 jimwang118 added the info:reviewed Pull Request changes follow basic guidelines label Jul 3, 2024
jimwang118
jimwang118 previously approved these changes Jul 3, 2024
Copy link
Contributor

@dg0yt dg0yt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Community feedback.)

file(READ "${CURRENT_PACKAGES_DIR}/debug/include/cpprealm/internal/bridge/bridge_types.hpp" DEBUG_TYPE_HEADER_CONTENTS)
file(READ "${CURRENT_PACKAGES_DIR}/include/cpprealm/internal/bridge/bridge_types.hpp" RELEASE_TYPE_HEADER_CONTENTS)
file(WRITE "${CURRENT_PACKAGES_DIR}/include/cpprealm/internal/bridge/bridge_types.hpp" "
#if defined(_DEBUG) || !defined(NDEBUG)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO using NDEBUG is asking for trouble. The user project might set it independent of build type, anytime, to control assert, not ABI.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've removed this completely in favour of using the REALM_DISABLE_ALIGNED_STORAGE cmake flag we expose.

Comment on lines +9 to +22
{
"name": "curl",
"platform": "linux",
"version>=": "8.4.0"
},
{
"name": "libuv",
"platform": "!osx, !ios",
"version>=": "1.43.0"
},
{
"name": "realm-core",
"version>=": "14.8.0"
},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In other cases, version constraints were rejected for the main registry.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you expand more on what you mean by this, and what action we should take?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@leemaguire can you explain why this version constraint is required?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In other cases, version constraints were rejected for the main registry.

It looks like we have plenty of those to me:

image

The situation I know we had a problem with was that we opposed trying to keep 'metapackages' consistent because it made every change invalidate the universe. (as in, changing one thing about boost-build shouldn't force a package-version update on every other boost thing)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(That said, "just fill in the version that is current that a baseline would do anyway" should not happen)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JavierMatosD I have placed the version constraints as these are the minimum versions of the dependancies we test on for this version of cpprealm.

Copy link
Contributor Author

@leemaguire leemaguire Jul 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@BillyONeal @JavierMatosD if there is a more correct way to reference the dependancies in this case please let me know.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have placed the version constraints as these are the minimum versions of the dependancies we test on for this version of cpprealm.

In that case, I think we should drop the version constraints.

ports/cpprealm/portfile.cmake Outdated Show resolved Hide resolved
Comment on lines +9 to +22
{
"name": "curl",
"platform": "linux",
"version>=": "8.4.0"
},
{
"name": "libuv",
"platform": "!osx, !ios",
"version>=": "1.43.0"
},
{
"name": "realm-core",
"version>=": "14.8.0"
},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@leemaguire can you explain why this version constraint is required?

@@ -0,0 +1,32 @@
{
"name": "cpprealm",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be renamed to realm-cpp to match realm-core and the upstream repo?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The target name is cpprealm for historical reasons, and our docs & folder structure already reflect that target name.

I have no issue changing the port folder and name to be realm-cpp as long as the cpprealm target name can be kept. What are you thoughts @JavierMatosD?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think changing the name is necessary if that's the target name.

@JavierMatosD
Copy link
Contributor

Converting the PR to draft. Please mark ready for review once you've replied.

@JavierMatosD JavierMatosD marked this pull request as draft July 3, 2024 16:51
@leemaguire leemaguire marked this pull request as ready for review July 4, 2024 08:37
@JavierMatosD JavierMatosD marked this pull request as draft July 5, 2024 18:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:new-port The issue is requesting a new library to be added; consider making a PR! info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants