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

[rtmfp-cpp] Added rtmfp-cpp library #29442

Merged
merged 24 commits into from
Mar 2, 2023
Merged

Conversation

as-shura
Copy link
Contributor

@as-shura as-shura commented Feb 4, 2023

No description provided.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

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 f648140dbc5b73364021deac130daa99dd5eda8b -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index b2a5c34..c3f1f90 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -6868,6 +6868,10 @@
       "baseline": "2020-04-16",
       "port-version": 3
     },
+    "rtmfp-cpp": {
+      "baseline": "1.3.0",
+      "port-version": 0
+    },
     "rtmidi": {
       "baseline": "5.0.0",
       "port-version": 2

You have modified or added at least one portfile where deprecated functions are used.

If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake -> vcpkg_cmake_install (from port vcpkg-cmake)
vcpkg_build_cmake -> vcpkg_cmake_build (from port vcpkg-cmake)
vcpkg_configure_cmake -> vcpkg_cmake_configure (Please remove the option PREFER_NINJA) (from port vcpkg-cmake)
vcpkg_fixup_cmake_targets -> vcpkg_cmake_config_fixup (from port vcpkg-cmake-config)
vcpkg_extract_source_archive_ex -> vcpkg_extract_source_archive
vcpkg_build_msbuild -> vcpkg_install_msbuild
vcpkg_copy_tool_dependencies -> vcpkg_copy_tools
vcpkg_apply_patches should be replaced by the PATCHES arguments to the "extract" helpers (e.g. vcpkg_from_github())

In the ports that use the new function, you have to add the corresponding dependencies:

{
  "name": "vcpkg-cmake",
  "host": true
},
{
  "name": "vcpkg-cmake-config",
  "host": true
}

The following files are affected:

  • ports/rtmfp-cpp/portfile.cmake

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

You have modified or added at least one portfile where deprecated functions are used.

If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake -> vcpkg_cmake_install (from port vcpkg-cmake)
vcpkg_build_cmake -> vcpkg_cmake_build (from port vcpkg-cmake)
vcpkg_configure_cmake -> vcpkg_cmake_configure (Please remove the option PREFER_NINJA) (from port vcpkg-cmake)
vcpkg_fixup_cmake_targets -> vcpkg_cmake_config_fixup (from port vcpkg-cmake-config)
vcpkg_extract_source_archive_ex -> vcpkg_extract_source_archive
vcpkg_build_msbuild -> vcpkg_install_msbuild
vcpkg_copy_tool_dependencies -> vcpkg_copy_tools
vcpkg_apply_patches should be replaced by the PATCHES arguments to the "extract" helpers (e.g. vcpkg_from_github())

In the ports that use the new function, you have to add the corresponding dependencies:

{
  "name": "vcpkg-cmake",
  "host": true
},
{
  "name": "vcpkg-cmake-config",
  "host": true
}

The following files are affected:

  • ports/rtmfp-cpp/portfile.cmake

github-actions[bot]
github-actions bot previously approved these changes Feb 4, 2023
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

You have modified or added at least one portfile where deprecated functions are used.

If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake -> vcpkg_cmake_install (from port vcpkg-cmake)
vcpkg_build_cmake -> vcpkg_cmake_build (from port vcpkg-cmake)
vcpkg_configure_cmake -> vcpkg_cmake_configure (Please remove the option PREFER_NINJA) (from port vcpkg-cmake)
vcpkg_fixup_cmake_targets -> vcpkg_cmake_config_fixup (from port vcpkg-cmake-config)
vcpkg_extract_source_archive_ex -> vcpkg_extract_source_archive
vcpkg_build_msbuild -> vcpkg_install_msbuild
vcpkg_copy_tool_dependencies -> vcpkg_copy_tools
vcpkg_apply_patches should be replaced by the PATCHES arguments to the "extract" helpers (e.g. vcpkg_from_github())

In the ports that use the new function, you have to add the corresponding dependencies:

{
  "name": "vcpkg-cmake",
  "host": true
},
{
  "name": "vcpkg-cmake-config",
  "host": true
}

The following files are affected:

  • ports/rtmfp-cpp/portfile.cmake

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

error: checked-in files for rtmfp-cpp have changed but the version was not updated
version: 1.3.0
old SHA: 0d795ae2b23412c275c5a85cc7f35d991f3e5e5e
new SHA: fe02072ff6b83f7628cfa205f7063ae4cfc4e9ab
Did you remember to update the version or port version?
Use --overwrite-version to bypass this check
***No files were updated***

You have modified or added at least one portfile where deprecated functions are used.

If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake -> vcpkg_cmake_install (from port vcpkg-cmake)
vcpkg_build_cmake -> vcpkg_cmake_build (from port vcpkg-cmake)
vcpkg_configure_cmake -> vcpkg_cmake_configure (Please remove the option PREFER_NINJA) (from port vcpkg-cmake)
vcpkg_fixup_cmake_targets -> vcpkg_cmake_config_fixup (from port vcpkg-cmake-config)
vcpkg_extract_source_archive_ex -> vcpkg_extract_source_archive
vcpkg_build_msbuild -> vcpkg_install_msbuild
vcpkg_copy_tool_dependencies -> vcpkg_copy_tools
vcpkg_apply_patches should be replaced by the PATCHES arguments to the "extract" helpers (e.g. vcpkg_from_github())

In the ports that use the new function, you have to add the corresponding dependencies:

{
  "name": "vcpkg-cmake",
  "host": true
},
{
  "name": "vcpkg-cmake-config",
  "host": true
}

The following files are affected:

  • ports/rtmfp-cpp/portfile.cmake

@as-shura
Copy link
Contributor Author

as-shura commented Feb 4, 2023

Can someone explain to me what I need to do because I don't get it!

ports/rtmfp-cpp/portfile.cmake Outdated Show resolved Hide resolved
@Adela0814 Adela0814 added the category:new-port The issue is requesting a new library to be added; consider making a PR! label Feb 6, 2023
@Adela0814
Copy link
Contributor

@as-shura Are you trying to fix the failures?
install-x64-linux-dbg-out.log

github-actions[bot]
github-actions bot previously approved these changes Feb 10, 2023
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

You have modified or added at least one portfile where deprecated functions are used.

If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake -> vcpkg_cmake_install (from port vcpkg-cmake)
vcpkg_build_cmake -> vcpkg_cmake_build (from port vcpkg-cmake)
vcpkg_configure_cmake -> vcpkg_cmake_configure (Please remove the option PREFER_NINJA) (from port vcpkg-cmake)
vcpkg_fixup_cmake_targets -> vcpkg_cmake_config_fixup (from port vcpkg-cmake-config)
vcpkg_extract_source_archive_ex -> vcpkg_extract_source_archive
vcpkg_build_msbuild -> vcpkg_install_msbuild
vcpkg_copy_tool_dependencies -> vcpkg_copy_tools
vcpkg_apply_patches should be replaced by the PATCHES arguments to the "extract" helpers (e.g. vcpkg_from_github())

In the ports that use the new function, you have to add the corresponding dependencies:

{
  "name": "vcpkg-cmake",
  "host": true
},
{
  "name": "vcpkg-cmake-config",
  "host": true
}

The following files are affected:

  • ports/rtmfp-cpp/portfile.cmake

@as-shura
Copy link
Contributor Author

@as-shura Are you trying to fix the failures? install-x64-linux-dbg-out.log

The log is empty there is nothing:

@Adela0814
Copy link
Contributor

Please try this one:
install-x64-linux-dbg-out.log

@as-shura
Copy link
Contributor Author

Please try this one: install-x64-linux-dbg-out.log

I contacted the owner of code zenomt/rtmfp-cpp#13

@as-shura
Copy link
Contributor Author

Contributor

Can retrigger a new compilation ?

@zenomt
Copy link

zenomt commented Feb 16, 2023

@as-shura

Can retrigger a new compilation ?

it doesn't look like you updated this PR to reference the latest commit in zenomt/rtmfp-cpp so a new compilation will have the same errors. i bet if you update the REF and push a new commit, it'll automatically trigger a new build.

@as-shura
Copy link
Contributor Author

@as-shura

Can retrigger a new compilation ?

it doesn't look like you updated this PR to reference the latest commit in zenomt/rtmfp-cpp so a new compilation will have the same errors. i bet if you update the REF and push a new commit, it'll automatically trigger a new build.

I removed the REF_ID so that it take the master all the time.

github-actions[bot]
github-actions bot previously approved these changes Feb 16, 2023
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

You have modified or added at least one portfile where deprecated functions are used.

If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake -> vcpkg_cmake_install (from port vcpkg-cmake)
vcpkg_build_cmake -> vcpkg_cmake_build (from port vcpkg-cmake)
vcpkg_configure_cmake -> vcpkg_cmake_configure (Please remove the option PREFER_NINJA) (from port vcpkg-cmake)
vcpkg_fixup_cmake_targets -> vcpkg_cmake_config_fixup (from port vcpkg-cmake-config)
vcpkg_extract_source_archive_ex -> vcpkg_extract_source_archive
vcpkg_build_msbuild -> vcpkg_install_msbuild
vcpkg_copy_tool_dependencies -> vcpkg_copy_tools
vcpkg_apply_patches should be replaced by the PATCHES arguments to the "extract" helpers (e.g. vcpkg_from_github())

In the ports that use the new function, you have to add the corresponding dependencies:

{
  "name": "vcpkg-cmake",
  "host": true
},
{
  "name": "vcpkg-cmake-config",
  "host": true
}

The following files are affected:

  • ports/rtmfp-cpp/portfile.cmake

@zenomt
Copy link

zenomt commented Feb 16, 2023

@as-shura according to the documentation for vcpkg_from_github, "REF ... This should not be a branch", but you specify "master". also, if REF is specified, SHA512 must also be specified (which it is in your latest commit).

this means that the next time i push any commit to master (main) in zenomt/rtmfp-cpp, this package will be broken.

based only on looking at that doc page, i think you want HEAD_REF instead of REF+SHA512.

ports/rtmfp-cpp/portfile.cmake Outdated Show resolved Hide resolved
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

error: checked-in files for rtmfp-cpp have changed but the version was not updated
version: 1.4.0-20230213.18168ec
old SHA: 826d147e14135574d243874924fddbc2a1721591
new SHA: c21433899bb0168f0573b148a2e38db27acabe66
Did you remember to update the version or port version?
Use --overwrite-version to bypass this check
***No files were updated***

github-actions[bot]
github-actions bot previously approved these changes Feb 17, 2023
},
{
"git-tree": "e06da86339d4d4525090a61f90fab6aa0e2b61dc",
"version": "1.3.0",
Copy link

Choose a reason for hiding this comment

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

since actual-release 1.3.0 is unlikely to work well (or at all) with vcpkg on all platforms, do you still want to leave 1.3.0 here?

Copy link
Contributor

Choose a reason for hiding this comment

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

This must be removed anyways. A PR can add just one entry.

Copy link

Choose a reason for hiding this comment

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

@as-shura i don't understand why you marked this conversation "resolved" without taking the required action to remove the entry for version 1.3.0, so that this PR will add only one entry (for the correct version 1.4.0-20230213.18168ec)

"version": "1.4.0-20230213.18168ec",
"port-version": 0
},
{
Copy link

Choose a reason for hiding this comment

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

@dg0yt said
This must be removed anyways. A PR can add just one entry.

starting a new conversation for this since the previous one was marked "resolved" with no action. @as-shura please remove this extra section for version 1.3.0 because (1) apparently only one entry can be added per PR and (2) version 1.3.0 is unlikely to work as expected with vcpkg.

@zenomt
Copy link

zenomt commented Feb 20, 2023

hi @dg0yt and @Adela0814 , question for you both as people versed in vcpkg and its nuance: regarding the version specification in various files here, the vcpkg documentation is contradictory whether version is fully SemVer-compatible or not.

this page https://learn.microsoft.com/en-us/vcpkg/reference/vcpkg-json#version says that version is a

Relaxed Semantic Version 2.0.0, allowing more or less than 3 primary numbers. Example: 1.2.3.4.10-alpha1

where the example suggests that the full SemVer syntax including prerelease designator is allowed.

however, this page https://learn.microsoft.com/en-us/vcpkg/users/versioning#version says that version is a

relaxed, dot-separated-, semver-like scheme. The version is logically composed of dot-separated (.) numeric sections. Each section must contain an integer positive number with no leading zeroes. The regex pattern for this versioning scheme is: (0|[1-9]\d*)(\.(0|[1-9]\d*))*

The regex in particular indicates that the full SemVer syntax (including prerelease designators) isn't allowed. do you know which is correct? i'd hope that the first case (relaxed but full SemVer syntax and semantics including comparison and ordering) is actually supported, rather than the much more restrictive second case.

the purpose of this question is to determine if @as-shura should continue to use version, or if they should change to version-semver. staying with version seems preferable if that's appropriate.

@dg0yt
Copy link
Contributor

dg0yt commented Feb 21, 2023

the purpose of this question is to determine if @as-shura should continue to use version, or if they should change to version-semver. staying with version seems preferable if that's appropriate.

version, please. Unless upstream is strictly following semver.

Adela0814
Adela0814 previously approved these changes Feb 23, 2023
@Adela0814 Adela0814 added info:reviewed Pull Request changes follow basic guidelines and removed requires:author-response labels Feb 23, 2023
@JavierMatosD
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 docs/examples/adding-an-explicit-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.

When trying to install the port, it fails with the following:

Error: Failed to download from mirror set:
File does not have the expected hash:
url : [ https://github.com/zenomt/rtmfp-cpp/archive/v1.4.0-20230213.18168ec.tar.gz ]
File path : [ C:\dev\vcpkg\downloads\zenomt-rtmfp-cpp-v1.4.0-20230213.18168ec.tar.gz.22012.part ]

Expected hash : [eea3e4b52a4639dce3ff3f88011ae5b2f07dbeb7237f854b9b3f1a829c04af930c8edfa3a1a3cad95890a372fc6cc436b00c4dadf9b06fc404f50bdd36634a08 ]

Actual hash : [e83df63d01207300f53dcbece150e8c2db8630f19a5b477292285833ad3406a09037c3055181b9f67b6a6a0f528e1c36f72577c86451591161fd3ccd945f5841 ]

Additionally, I see two entries in the ports version file. There must only be one entry in the ports version file.

@JavierMatosD JavierMatosD added requires:author-response and removed info:reviewed Pull Request changes follow basic guidelines labels Feb 23, 2023
@as-shura
Copy link
Contributor Author

Expected hash : [eea3e4b52a4639dce3ff3f88011ae5b2f07dbeb7237f854b9b3f1a829c04af930c8edfa3a1a3cad95890a372fc6cc436b00c4dadf9b06fc404f50bdd36634a08 ]

Actual hash : [e83df63d01207300f53dcbece150e8c2db8630f19a5b477292285833ad3406a09037c3055181b9f67b6a6a0f528e1c36f72577c86451591161fd3ccd945f5841 ]

This is what is in the port file :

vcpkg_from_github(
    OUT_SOURCE_PATH SOURCE_PATH
    REPO zenomt/rtmfp-cpp
    REF "v${VERSION}"
    SHA512 eea3e4b52a4639dce3ff3f88011ae5b2f07dbeb7237f854b9b3f1a829c04af930c8edfa3a1a3cad95890a372fc6cc436b00c4dadf9b06fc404f50bdd36634a08
    HEAD_REF main
)

@zenomt
Copy link

zenomt commented Feb 25, 2023

@as-shura the SHA512 hash in the port file is incorrect for the tag v1.4.0-20230213.18168ec. the error message is telling you "expected" (which is in the port file) doesn't match the actual (from downloading that tag as a .tgz file:

% curl -s -L https://github.com/zenomt/rtmfp-cpp/archive/v1.4.0-20230213.18168ec.tar.gz | openssl sha512
(stdin)= e83df63d01207300f53dcbece150e8c2db8630f19a5b477292285833ad3406a09037c3055181b9f67b6a6a0f528e1c36f72577c86451591161fd3ccd945f5841

the SHA512 hash in the port file needs to be changed to match the "Actual hash".

also the entry in versions/r-/rtmfp-cpp.json for version 1.3.0 still needs to be removed.

(EDIT further explanation): even though the tag v1.4.0-20230213.18168ec points to the same commit as the one you previously got a SHA512 for, the tar archive of the repo includes the tag/commit/branch name in the filenames (the top-level directory), so a different tag, even for the same commit, will have different filenames in the tar archive, so the archive file and its hash will be different.

@as-shura
Copy link
Contributor Author

as-shura commented Mar 1, 2023

merge please

@Adela0814 Adela0814 added info:reviewed Pull Request changes follow basic guidelines and removed requires:author-response labels Mar 2, 2023
@dan-shaw dan-shaw merged commit 62fb5ef into microsoft:master Mar 2, 2023
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

7 participants