Opened 16 months ago
Closed 8 months ago
#67750 closed update (fixed)
libjpeg-turbo: update to 3.0.0
Reported by: | mohd-akram (Mohamed Akram) | Owned by: | mascguy (Christopher Nielsen) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | larryv (Lawrence Velázquez), jmroot (Joshua Root), ryandesign (Ryan Carsten Schmidt) | |
Port: | libjpeg-turbo |
Description (last modified by mascguy (Christopher Nielsen))
Maintainer Notes:
- This must be done with extreme caution - and with a great amount of care and pre-testing - as this is a foundational port. (With 340+ dependents, as of 2023-07-16.)
- Upstream's release notes mention that there are some breaking changes, including removal of deprecated APIs. This almost guarantees that some ports - particularly those that are older, and/or no longer maintained by upstream - will break.
Given all of the above, this will take plenty of time before we can update. And ultimately, it's possible that we may have to create a new segregated port - say, libjpeg-turbo-3
- to maintain backward compatibility for those ports that don't work with 3.x.
Change History (6)
comment:1 Changed 16 months ago by mascguy (Christopher Nielsen)
Cc: | mascguy removed |
---|---|
Description: | modified (diff) |
Owner: | set to mascguy |
Status: | new → assigned |
comment:2 Changed 16 months ago by mascguy (Christopher Nielsen)
comment:3 Changed 16 months ago by mascguy (Christopher Nielsen)
Cc: | ryandesign added |
---|
Rather than attempt to build all dependent ports against v3 - which simply isn't practical locally, nor doable via GitHub CI - I'll start digging based on buildbot binaries.
The emphasis will initially be on the TurboJPEG API, as that's where most of the breaking changes were made. Whereas the libjpeg
API has remained relatively stable.
In any case, the following recipe was provided courtesy of Ryan, during investigation of poppler
dependents. And that's what I'll use, with the caveat that I'll have to build ports whose license preclude binary distribution. (Unless Ryan or Josh are interested in helping check those.)
- Make a list of archives of all ports that depend on
libjpeg-turbo
, that aren'tnoarch
- Download all public archives
- Decompress each archive, checking if it contains a reference to
libturbojpeg*.dylib
comment:5 Changed 8 months ago by jmroot (Joshua Root)
Everything else either built successfully against the new version, or failed for non-jpeg-related reasons.
comment:6 Changed 8 months ago by jmroot (Joshua Root)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Mohamed, if you're interested in using v3, that's available via
libjpeg-turbo-devel
:While the ABI appears to be compatible-ish - such that you may not see any issues during
rev-upgrade
- it's at build time that you'll see failures.