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

[openexr] Side-by-side installation of version 2 and 3 #26788

Closed
wants to merge 26 commits into from

Conversation

dg0yt
Copy link
Contributor

@dg0yt dg0yt commented Sep 14, 2022

  • What does your PR fix?

    This PR transforms port openexr into a port openexr2 which can coexist with a new port openexr3. This approach is meant to mitigate the openexr update issues which turned up in previous attempts to update openexr. The availability of OpenEXR 3 is urgent to unlock further updates to consuming ports and to restore broken features such as openimageio[opencolorio] (cf. [openimageio] Build error #26089).
    Notes:

    • Includes are moved to include/openexr2 / include/openexr3.
    • Pkgconfig files can't coexist under the same name. openexr2's main pc file is renamed to OpenEXR2.pc.
    • There can only be one CMake wrapper for package name OpenEXR. However, there shouldn't be a wrapper for OpenEXR CONFIG. That's why the wrapper is maintained in legacy port openexr2.
    • CMake config selection (between different versions) can be left to CMake. However, it needs to be explicitly instructed to use "natural descending" search order. This is done in the wrapper. (Selection is not needed if only openexr3 is installed.)
    • Tested locally with port openimageio[opencolorio].

    Previous work: [openexr3] Add new port #25238 (only adding openexr3), [openexr] Update to 3.1.5 #24249, [openexr] Update to 3.1.4 #20957 (direct updates of openexr).

  • Which triplets are supported/not supported? Have you updated the CI baseline?

    unchanged, no

  • Does your PR follow the maintainer guide?

    WIP

  • If you have added/updated a port: Have you run ./vcpkg x-add-version --all and committed the result?

    I am still working on this PR.

@JonLiu1993 JonLiu1993 self-assigned this Sep 15, 2022
@JonLiu1993 JonLiu1993 added category:port-bug The issue is with a library, which is something the port should already support category:new-port The issue is requesting a new library to be added; consider making a PR! labels Sep 15, 2022
This is a preparation for updating port openexr to version 3.
@dg0yt dg0yt changed the title [openexr] Try to prepare side-by-side installation version 2 and 3 [openexr] Side-by-side installation version 2 and 3 Sep 15, 2022
@dg0yt dg0yt changed the title [openexr] Side-by-side installation version 2 and 3 [openexr] Side-by-side installation of version 2 and 3 Sep 15, 2022
"host": true
},
"zlib"
"openexr2",
Copy link
Contributor Author

Choose a reason for hiding this comment

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

openexr2 will be removed here once CI identified the ports which need to explicitly stay with openexr2.

@dg0yt
Copy link
Contributor Author

dg0yt commented Sep 16, 2022

Ports which still "need" openexr2

  • opencv2
  • ilmbase: Just an empty port forwarding to openexr2 ... but IIUC these features are no longer in openexr3.
  • some ports with optional features?

Ports which can use openexr3:

  • freeimage: Upstream is inactive, but patches for openexr3 are in [openexr] Update to 3.1.4 #20957 by @chausner
    • used by forge
    • used by ignition-common3
    • used by ogre[freeimage]
      • used by opencv4 ❗
  • opencv3
  • opencv4
  • openimageio
  • ...

If everything can be moved to openexr3, port openexr should just be updated in-place.

@dg0yt
Copy link
Contributor Author

dg0yt commented Sep 18, 2022

Everything OpenEXR 3 now.

@dg0yt
Copy link
Contributor Author

dg0yt commented Sep 19, 2022

Obsolete, direct port update in #26862.

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! category:port-bug The issue is with a library, which is something the port should already support
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants