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

[opencv] update to 4.9 #38928

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

[opencv] update to 4.9 #38928

wants to merge 38 commits into from

Conversation

cenit
Copy link
Contributor

@cenit cenit commented May 24, 2024

Fixes #36009
Fixes #39224
Fixes #39454
Fixes #38321
Fixes #36771
Fixes #36093
Fixes #35937
Fixes #34559
Fixes #34279
Fixes #33742
Fixes #32228
Fixes #17850
Fixes #13120
Fixes #4937

  • Changes comply with the maintainer guide.
  • SHA512s are updated for each updated download.
  • The "supports" clause reflects platforms that may be fixed by this new version.
  • Any fixed CI baseline entries are removed from that file.
  • Any patches that are no longer applied are deleted from the port's directory.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Only one version is added to each modified port's versions file.

@JonLiu1993 JonLiu1993 added the category:port-update The issue is with a library, which is requesting update new revision label May 24, 2024
-DWITH_DSHOW=${WITH_DSHOW}
-DBUILD_opencv_calib3d=${BUILD_opencv_calib3d}
-DBUILD_opencv_highgui=${BUILD_opencv_highgui}
${ADDITIONAL_BUILD_FLAGS}
Copy link
Contributor

Choose a reason for hiding this comment

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

Please also fix python installation behavior.
I needed to add:
-D__INSTALL_PATH_PYTHON3=${CURRENT_PACKAGES_DIR}/${PYTHON3_SITE}/cv2

and for cleanup later:

  file(GLOB python_dir LIST_DIRECTORIES true RELATIVE "${CURRENT_PACKAGES_DIR}/lib/" "${CURRENT_PACKAGES_DIR}/lib/python*")
  file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/${python_dir}/site-packages/cv2/typing")
  file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/${python_dir}/site-packages/cv2/typing")

However if the install logs show that python bindings get installed into the right directory already than consider this obsolete.

@@ -380,12 +383,16 @@ endif()
vcpkg_cmake_configure(
Copy link
Contributor

Choose a reason for hiding this comment

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

I feel like there are way to many options here which should and are already be controlled by vcpkg_check_features

        -DBUILD_WEBP=OFF
        -DBUILD_ZLIB=OFF
        -DBUILD_TBB=OFF
        -DWITH_OPENVINO=${WITH_OPENVINO}
        -DWITH_TBB=${WITH_TBB}
        -DWITH_OPENJPEG=OFF

etc.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

some with options are more complex than what might be handled by vcpkg_check_features and so they are handled outside of it

Copy link
Contributor

Choose a reason for hiding this comment

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

I misread some of the options since they are so similar. BUILD_ prefix probably means to build those so those should be correctly off but the WITH_ options all look like they should be handled with vcpkg_check_features if all they want is OFF/ON

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 combination to decide on/off is not just user based but depends on the target architecture/os...

Copy link
Contributor

Choose a reason for hiding this comment

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

the combination to decide on/off is not just user based but depends on the target architecture/os...

That is controlled by designing the features accordingly with support statements or making them default features + platform expression. In general you don't need to have os/arch based logic if vcpkg_check_features is enough to pass the flag. The ON/OFF selection can be done via designing the manifest accordingly.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok I am leaving all your suggestions as open comments to remind them. Right now my first goal is to have it green flagged in ci, then I will do these "cosmetic" fixes

@cenit
Copy link
Contributor Author

cenit commented Jun 24, 2024

i want to close here quickly because then there is already opencv 4.10 to be added!

update feature matrix,
lapack was enabled without notice without this further variable,
remove cmake target,
win32ui not available for uwp,
add fixme tags,
remove gtk feature from default,
update reference
@cenit
Copy link
Contributor Author

cenit commented Jun 28, 2024

opencv and opencv4 are marked as passing on the remaining "failing tests" but vcpkg-ci-opencv is marked as failing without even testing. What am i missing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment