-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
openexr: update to 3.4.2 from 3.2.4 #29729
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
base: master
Are you sure you want to change the base?
Conversation
|
Notifying maintainers: |
|
@JGoldstone AFAIK updating to a newer minor version will need revbumping dependents. I had to do this when I moved from 3.2.x to 3.3.x: macos-powerpc/powerpc-ports@659621e (these may not be all dependents currently). |
|
@barracuda156 I have two questions, one regarding whether the revision fields need bumping in dependent ports and the other regarding how, if that's needed, to find all the dependent ports. The 'whether' question: the documentation for the
But the version of the software is being updated here, that's the whole point. Am I missing something? If I am missing something then there's the 'how' question: how do I determine the set of ports S that depend on port P? If I use |
|
Revision of a dependent should be increased when linking breaks due to dylib version change. For example, one of As long as You can use grep or a similar tool to find ports which have |
|
I am genuinely surprised there is nothing built into the There are many libraries or applications that include both Imath and OpenEXR. To avoid non-monotonic changes to the Revision value for ports of those libraries or applications, I suggest we put this PR on a side burner for a bit until the Imath dependencies can be sorted out and that PR merged. Does that sound reasonable to you? MacPorts support for the ASWF stack has gotten a bit stale; in addition to this (OpenEXR), and Imath, I foresee changes to Alembic, OpenVDB, OpenColorIO and OpenImageIO happening in that order. If these are iterated serially, then the OpenImageIO port is going to show up with increasing Revision numbers in five PRs. But better that, I think, than bundling multiple ASWF ports into one PR. |
|
So if we compare and In the Would things be better if Imath also created a link that looked like this? Of course the actual install name of the library would have to be match this as well, so that linking against it wrote that name into the linking executable or library. Does that make sense to you? Finally a question: is it normally the task of a MacPorts contributor that updates a port of a library, such that the library API changes and the compatibility version goes up, to find all the dependent ports in the ports tree, and bump their revisions? |
|
@JGoldstone It is probably done on purpose (at least in a case of a big project like openexr) that dylib id uses version that way, since presumably API may have breaking changes between minor versions. If so, we would only make it worse by tweaking installation to use a plain openexr.dylib string. Openexr upstream is responsive, AFAIK, this question can be asked there. You (or anyone) is not expected to check every dependent for every update of every port, that will be infeasible. However for ports with multiple dependents it makes sense to do some testing, otherwise a lot of ports can be broken by an update (that still happens in practice, unfortunately, exactly because often no testing is done at all). I usually check commit history in such cases, since such breakages won’t go unnoticed, and if an update was done with mass revbump before, it is probably needed now as well. |
|
I'm on the OpenEXR TSC but as almost everyone else is a pure linux user, at least as far as work goes, I'm the only one who really cares about this. I wasn't proposing to set the install name to a bare Because Imath is in the same boat, and OpenEXR depends on Imath, I'm going to finish #29731 first by adding dependent revision bumps to that PR, then let the dust settle, then do the dependent version bump for this PR and let the dust settle, then keep going with the other ASWF components. This bumping up the revision numbers of dependents, though, still isn't enough to deal with just how delicately incompatible the Imath/OpenEXR mess is. There are some discussions on long-term solutions that would probably require a major version number bump to the 4.x series. But to get a sense of how bad things are, look at https://openexr.com/en/latest/install.html#build-from-source (in particular the section "OpenEXR/Imath Version Compatibility"). |
|
@barracuda156 if you have a chance to look at the Imath revamp commit and tell me whether that's what you thought should happen, I'd appreciate it. Note that for a couple of them (the OpenCV ones for sure) the revision numbers appeared in two places, one for the library and one for the Python bindings; but since it's an outstanding issue IIRC that the Python bindings actually don't get built, I didn't revamp those. LMK if I should do those as well. If it's approved, would someone else be doing the squashing of the commit? I actually am so new at this I don't know how. |
Description
Update to openexr 3.4.2 release
Type(s)
Tested on
macOS 15.7.1 24G231 arm64
Xcode 26.0.1 17A400
Verification
Have you
port lint?sudo port test?sudo port -vst install?