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] Update to 3.1.4 #20957

Closed
wants to merge 52 commits into from
Closed

Conversation

chausner
Copy link
Contributor

@chausner chausner commented Oct 23, 2021

Describe the pull request

  • What does your PR fix?

    Updates openexr to 3.1.4. Also updates ports that directly or indirectly depend on openexr: devil, freeimage, ogre, osg

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

    As before, Yes

  • Does your PR follow the maintainer guide?

    Yes

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

    Yes

@chausner chausner marked this pull request as draft October 24, 2021 01:32
@PhoebeHui PhoebeHui self-assigned this Oct 24, 2021
@PhoebeHui PhoebeHui added the category:port-update The issue is with a library, which is requesting update new revision label Oct 25, 2021
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 d78a0b47bdd4deb6bc5547e06e289672892ed226 -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/o-/openexr.json b/versions/o-/openexr.json
index 8c0a5d8..7a1c966 100644
--- a/versions/o-/openexr.json
+++ b/versions/o-/openexr.json
@@ -1,7 +1,7 @@
 {
   "versions": [
     {
-      "git-tree": "0847323650d49af83fea1cc05c19ed046facbdf1",
+      "git-tree": "2c8b4ccfd87d7c78a84b20a5978cb50d29ca0700",
       "version": "3.1.2",
       "port-version": 0
     },

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: Local changes detected for osg but no changes to version or port version.
-- Version: 3.6.5#10
-- Old SHA: 233201eee3ebfaaac75ba9696d12209e9a1fbc32
-- New SHA: fc45c81eab3a137e76a5a2c58427e4b56572a6c6
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout d78a0b47bdd4deb6bc5547e06e289672892ed226 -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 0009d79..753f41c 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -5010,7 +5010,7 @@
     },
     "osg": {
       "baseline": "3.6.5",
-      "port-version": 11
+      "port-version": 10
     },
     "osg-qt": {
       "baseline": "Qt5",
diff --git a/versions/o-/osg.json b/versions/o-/osg.json
index f7487e5..6ca076e 100644
--- a/versions/o-/osg.json
+++ b/versions/o-/osg.json
@@ -1,10 +1,5 @@
 {
   "versions": [
-    {
-      "git-tree": "fc45c81eab3a137e76a5a2c58427e4b56572a6c6",
-      "version": "3.6.5",
-      "port-version": 11
-    },
     {
       "git-tree": "233201eee3ebfaaac75ba9696d12209e9a1fbc32",
       "version-string": "3.6.5",

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)

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/osg/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)

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/osg/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)

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/osg/portfile.cmake

@chausner chausner changed the title [openexr] Update to 3.1.3 [openexr] Update to 3.1.4 Apr 9, 2022
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)

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/osg/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)

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/osg/portfile.cmake

@chausner
Copy link
Contributor Author

chausner commented Apr 10, 2022

@chausner Any chance that you can continue this PR?

I am looking into it again right now. It turns out that there are actually many more ports that depend on OpenEXR and most of them are not compatible with OpenEXR 3.x, so they all need patches:

  • devil
  • directxtex
  • freeimage
  • magnum-plugins
  • ogre
  • opencv
  • opencv2
  • opencv3
  • opencv4
  • openimageio
  • openvdb
  • osg
  • pangolin

So far, I got devil, freeimage and ogre working but haven't looked into any of the others.

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: Local changes detected for devil but no changes to version or port version.
-- Version: 1.8.0#9
-- Old SHA: 8a9e4a06645f23783644e618a677cdebf68148cc
-- New SHA: 9969a0f6854657eca4923d8619078530164f1c4c
-- Did you remember to update the version or port version?
-- Pass `--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)

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/osg/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)

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/osg/portfile.cmake

@dg0yt
Copy link
Contributor

dg0yt commented Apr 10, 2022

Thanks for the update.

  • openimageio

This is the port where I got stuck recently when I tried to use it (i.e. test it) together with opencolorio, due to half/imath library issues, cf. #23918. That's why I was looking for related PRs and came to this one.

@simogasp
Copy link
Contributor

simogasp commented Apr 22, 2022

@PhoebeHui @chausner @fabiencastan
Since OpenEXR 3.0 introduced so many changes in terms of building (modern cmake) and the split into different libraries, wouldn't it make sense to have a port openexr3 like we already have for opencv (opencv3, opencv4). It will make things much easier because the ports that want to upgrade to > 3.0 can do it properly in their source code instead of creating patches here, and people who really need to have openexr 3 in vcpkg to link with their own project won't be stuck.

I know it's not ideal in terms of maintenance, but since it has been done for opencv it think it's the best solution. It's a very particular case because the changes introduced in openexr 3 are so radical that it's almost impossible to manage the compatibility between the two versions (I mean in terms of building rules/cmake) without writing a lot of cmake code that will have to take into account so many corner cases.

And in the medium term we can declare the original openxr deprecated to "force" maintainers of the ports to transition to the new way of importing. (or renaming the current openxr port as openexr2 and leave a openxr port for the version above 3, so that we won't have to have an openxr4 when version 4 is released and so on)

@JackBoosY
Copy link
Contributor

Any update on this PR?

@JackBoosY JackBoosY self-assigned this Jun 10, 2022
@chausner
Copy link
Contributor Author

Any update on this PR?

I am going to close this MR but I'll keep the branch in case somebody else wants to continue where I left off or try the approach suggested by @simogasp.

@chausner chausner closed this Jun 10, 2022
@simogasp
Copy link
Contributor

@JackBoosY What do you think about that proposal of mine? Does it seem reasonable?
If I have time I might give it a try

@JackBoosY
Copy link
Contributor

@simogasp Agreed.

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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

OpenEXR update to 3.1.3
8 participants