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

[usd] Bump to v24.08 #40225

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

theblackunknown
Copy link
Contributor

This PR updates usd port to v24.08.

This versions has no more dependency on boost (when USD Python is disabled, which is already set like this in the current port).
Moreover this version is now compatible with oneTBB so we should now be able to test it on the CI.

  • 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.

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.

Some early comments, not a full review.

ports/usd/002-vcpkg_find_tbb.patch Show resolved Hide resolved

+include(CMakeFindDependencyMacro)
+
+find_dependency(TBB CONFIG REQUIRED)
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
+find_dependency(TBB CONFIG REQUIRED)
+find_dependency(TBB CONFIG)

(All use of find_dependency depends on this patch. Hm.)

Comment on lines 22 to 24
-# Use the import targets set by Imath's package config
-if (Imath_FOUND)
- set(__OIIO_IMATH_LIBS "Imath::Imath")
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 work in vcpkg.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Can you clarify what you meant ?
I think instead of removing I could use a if(0) ... endif().
But what I am really after is to not use Imath::Imath and use OpenImageIO::OpenImageIO instead: here OpenUSD is micro-managing the indirect dependency.

ports/usd/007-vcpkg_find_vma.patch Outdated Show resolved Hide resolved
ports/usd/portfile.cmake Outdated Show resolved Hide resolved
@Cheney-W Cheney-W added the category:port-update The issue is with a library, which is requesting update new revision label Aug 2, 2024
Copy link
Contributor Author

@theblackunknown theblackunknown left a comment

Choose a reason for hiding this comment

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

Thanks for the early review, here is a partial review on your feedbacks @dg0yt

ports/usd/002-vcpkg_find_tbb.patch Show resolved Hide resolved
@Cheney-W
Copy link
Contributor

Cheney-W commented Sep 6, 2024

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

ports/usd/portfile.cmake Show resolved Hide resolved
Comment on lines 22 to 24
-# Use the import targets set by Imath's package config
-if (Imath_FOUND)
- set(__OIIO_IMATH_LIBS "Imath::Imath")
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Can you clarify what you meant ?
I think instead of removing I could use a if(0) ... endif().
But what I am really after is to not use Imath::Imath and use OpenImageIO::OpenImageIO instead: here OpenUSD is micro-managing the indirect dependency.

ports/usd/007-vcpkg_find_vma.patch Outdated Show resolved Hide resolved
ports/usd/007-vcpkg_find_vma.patch Outdated Show resolved Hide resolved
@theblackunknown
Copy link
Contributor Author

@dg0yt sorry for taking this long, I think I have addressed all your suggestions and comments.

@theblackunknown
Copy link
Contributor Author

Also OpenUSD v24.11 has just been released and I would like to work toward making usd port compatible with it, so let me know what remain to be done for this PR.

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)

You could go straight to the latest version if it isn't too much work to update the patches.

Patch should be kept small. This might be different from what one submit upstream.

ports/usd/002-vcpkg_find_tbb.patch Show resolved Hide resolved
ports/usd/portfile.cmake Show resolved Hide resolved
Comment on lines 157 to 163
if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
vcpkg_copy_tools(
TOOL_NAMES ${tools}
SEARCH_DIR "${CURRENT_PACKAGES_DIR}/debug/bin"
DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}"
)
endif()
Copy link
Contributor

Choose a reason for hiding this comment

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

I guess there is a reason why vcpkg_copy_tools normally omits debug tools.
If the port is really meant to install the debug tools, it might be good to add a comment.
And btw it is enough to check if(NOT VCPKG_BUILD_TYPE) in a portfile.

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'll remove it for now, it is useful to have it around for troubleshooting but I do not think I am ready to commit this.

ports/usd/vcpkg.json Outdated Show resolved Hide resolved
ports/usd/portfile.cmake Outdated Show resolved Hide resolved
@Cheney-W Cheney-W marked this pull request as draft October 28, 2024 09:20
@dg0yt dg0yt mentioned this pull request Oct 31, 2024
7 tasks
@dg0yt
Copy link
Contributor

dg0yt commented Oct 31, 2024

There is #41864 now. How to coordinate that simple update with your changes?

@theblackunknown
Copy link
Contributor Author

There is #41864 now. How to coordinate that simple update with your changes?

I really want to make the port dependency simplification to go in.
Is there any chance we can get this one in this week and ask #41864 to rebase their changes on top ?

@theblackunknown
Copy link
Contributor Author

Also this PR also brings back CI coverage, so we would have more confidence when modifying the port because as of now nothing is tested without this PR.

Copy link
Contributor Author

@theblackunknown theblackunknown left a comment

Choose a reason for hiding this comment

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

I have made another pass and will remove the draft status.
@dg0yt and @Cheney-W can you review those and let me know if we are good to go ?

ports/usd/002-vcpkg_find_tbb.patch Show resolved Hide resolved
ports/usd/portfile.cmake Show resolved Hide resolved
Comment on lines 157 to 163
if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
vcpkg_copy_tools(
TOOL_NAMES ${tools}
SEARCH_DIR "${CURRENT_PACKAGES_DIR}/debug/bin"
DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}"
)
endif()
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'll remove it for now, it is useful to have it around for troubleshooting but I do not think I am ready to commit this.

ports/usd/vcpkg.json Outdated Show resolved Hide resolved
@theblackunknown
Copy link
Contributor Author

Ok I cannot remove the draft status, so the future of this PR is in your hands @Cheney-W :)

@theblackunknown theblackunknown marked this pull request as ready for review November 7, 2024 23:13
@theblackunknown
Copy link
Contributor Author

Gentle reminder on this PR, is there anything I can do to help @Cheney-W ?


vcpkg_download_distfile(MATERIALX_1_39_PATCH
URLS "https://github.com/PixarAnimationStudios/OpenUSD/pull/3159.diff?full_index=1"
SHA512 f31b682d5d15c54d8bcaff4bcacc4a00b25c95b9735660f5e3908fb995bc5f29a6a71400b710a9feea4d9a5a6dcb2975131f9a249597e1efdf939ef34c795fd0
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
SHA512 f31b682d5d15c54d8bcaff4bcacc4a00b25c95b9735660f5e3908fb995bc5f29a6a71400b710a9feea4d9a5a6dcb2975131f9a249597e1efdf939ef34c795fd0
SHA512 4e91794bd418c329019e212a93052b06f947f360e4210e757a88d5774ed3a23b03c3063f40f3120f7d1c562ef73fca9aa410f116ce536ba193d8552b85c5b73e

@Cheney-W
Copy link
Contributor

Cheney-W commented Nov 8, 2024

I got below error with this command: .\vcpkg.exe install usd[*]:x64-windows
F:\v\vcpkg-40225\buildtrees\usd\config-x64-windows-out.log

CMake Error at F:/v/vcpkg-40225/scripts/buildsystems/vcpkg.cmake:857 (_find_package):
  Could not find a package configuration file provided by
  "unofficial-vulkanmemoryallocator" with any of the following names:

    unofficial-vulkanmemoryallocatorConfig.cmake
    unofficial-vulkanmemoryallocator-config.cmake

  Add the installation prefix of "unofficial-vulkanmemoryallocator" to
  CMAKE_PREFIX_PATH or set "unofficial-vulkanmemoryallocator_DIR" to a
  directory containing one of the above files.  If
  "unofficial-vulkanmemoryallocator" provides a separate development package
  or SDK, be sure it has been installed.

@Cheney-W Cheney-W marked this pull request as draft November 8, 2024 08:56
See https://vcpkg.io/en/docs/examples/versioning.getting-started.html for instructions.
]=])
vcpkg_download_distfile(FIND_DEPENDENCY_PATCH
URLS "https://github.com/PixarAnimationStudios/OpenUSD/pull/3205.diff?full_index=1"
Copy link
Contributor

Choose a reason for hiding this comment

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

This PR isn't merged. Its content and SHA512 may change, breaking the port.

# )

vcpkg_download_distfile(MATERIALX_1_39_PATCH
URLS "https://github.com/PixarAnimationStudios/OpenUSD/pull/3159.diff?full_index=1"
Copy link
Contributor

Choose a reason for hiding this comment

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

This PR isn't merged. Its content and SHA512 may change, breaking the port.

@dg0yt
Copy link
Contributor

dg0yt commented Nov 8, 2024

Ok I cannot remove the draft status,

You are the author. I'm sure you can.

@theblackunknown
Copy link
Contributor Author

theblackunknown commented Nov 10, 2024

install usd[*]:x64-windows

Good catch, I have made this port upgrade by backporting some of the patches we maintain internally but I need to test it against the more recent vulkan-memory-allocator in microsoft/vcpkg.

I am now testing again with usd[*] instead of usd:

  • metal is not something expected to build on all platforms, I have added a supports entry to the metal feature to reflect this.
  • materialx seems broken, it requires fixing the materialx port to correctly installed all headers corresponding to requesting features (i.e. materialx[glsl-generator] here). Do you mind if I follow up on this ?

@theblackunknown
Copy link
Contributor Author

Ok I cannot remove the draft status,

You are the author. I'm sure you can.

Sorry for the confusion, somehow the button was not available on my webpage.
But the error is on me as it seems to clearly be available now.

@theblackunknown theblackunknown marked this pull request as ready for review November 10, 2024 16:35
@theblackunknown
Copy link
Contributor Author

So it turns out that while I am trying to converge this PR, oneTBB 2022 was out last week and that we now have a port for it (which is great !)
Unfortunately this now breaks this port.

I'll investigate if I can easily fix this, otherwise I may simply revert my changes on ci.baseline.txt

@theblackunknown
Copy link
Contributor Author

I have pushed a new patch which now makes this port compatible with TBB 2022 and pass the CI.

Let me know what you think of the latest changes @dg0yt @Cheney-W

@Cheney-W
Copy link
Contributor

Feature openimageio and vulkan test passed with x64-windows triplet.
Usage test passed with x64-windows triplet.

@Cheney-W Cheney-W added the info:reviewed Pull Request changes follow basic guidelines label Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-update The issue is with a library, which is requesting update new revision info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants