Here is an update to OpenImageIO 3.1.9.0.
ChangeLog https://github.com/AcademySoftwareFoundation/OpenImageIO/releases/tag/v3.1.6.1 Index: Makefile =================================================================== RCS file: /cvs/ports/graphics/openimageio/Makefile,v retrieving revision 1.83 diff -u -p -u -p -r1.83 Makefile --- Makefile 7 Sep 2025 16:33:46 -0000 1.83 +++ Makefile 10 Jan 2026 01:03:13 -0000 @@ -5,12 +5,11 @@ COMMENT = library for reading and writi GH_ACCOUNT = AcademySoftwareFoundation GH_PROJECT = OpenImageIO -GH_TAGNAME = v3.0.8.1 +GH_TAGNAME = v3.1.9.0 PKGNAME = ${DISTNAME:L} -REVISION = 1 -SHARED_LIBS += OpenImageIO 18.0 -SHARED_LIBS += OpenImageIO_Util 11.1 +SHARED_LIBS += OpenImageIO 19.0 +SHARED_LIBS += OpenImageIO_Util 12.0 CATEGORIES = graphics devel @@ -23,7 +22,7 @@ WANTLIB += ${COMPILER_LIBCXX} GL GLU Iex WANTLIB += OpenColorIO OpenEXR-3_4 OpenEXRCore-3_4 Qt6Core Qt6Gui WANTLIB += Qt6OpenGL Qt6OpenGLWidgets Qt6Widgets avcodec avformat WANTLIB += avutil bz2 c freetype gif heif jpeg jxl jxl_threads -WANTLIB += m openjp2 png pugixml raw_r sharpyuv swscale tbb tiff +WANTLIB += m openjp2 openjph png pugixml raw_r sharpyuv swscale tbb tiff WANTLIB += webp webpdemux z MODULES = devel/cmake \ @@ -32,7 +31,7 @@ MODULES = devel/cmake \ COMPILER = base-clang ports-gcc -BUILD_DEPENDS = devel/fmt>=10.2.1 \ +BUILD_DEPENDS = devel/fmt \ devel/py-pybind11 \ devel/robin-map \ textproc/txt2man @@ -44,10 +43,11 @@ LIB_DEPENDS = archivers/bzip2 \ graphics/jpeg \ graphics/libjxl \ graphics/libraw \ - graphics/libwebp>=1.5.0 \ + graphics/libwebp \ graphics/opencolorio \ graphics/openexr \ graphics/openjp2 \ + graphics/openjph \ graphics/png \ graphics/tiff \ math/imath \ Index: distinfo =================================================================== RCS file: /cvs/ports/graphics/openimageio/distinfo,v retrieving revision 1.25 diff -u -p -u -p -r1.25 distinfo --- distinfo 21 Jul 2025 15:01:38 -0000 1.25 +++ distinfo 10 Jan 2026 01:03:13 -0000 @@ -1,2 +1,2 @@ -SHA256 (OpenImageIO-3.0.8.1.tar.gz) = G5sNJ+gCJDwapJC5UVgNEOi+ZFRZ+AgL+g7W8hPhCCo= -SIZE (OpenImageIO-3.0.8.1.tar.gz) = 53129890 +SHA256 (OpenImageIO-3.1.9.0.tar.gz) = J4hicpjRDalGVG5+V8bWItke1E0RAYBYPf6CEMcYiYM= +SIZE (OpenImageIO-3.1.9.0.tar.gz) = 53610865 Index: patches/patch-src_ffmpeg_imageio_ffmpeginput_cpp =================================================================== RCS file: patches/patch-src_ffmpeg_imageio_ffmpeginput_cpp diff -N patches/patch-src_ffmpeg_imageio_ffmpeginput_cpp --- patches/patch-src_ffmpeg_imageio_ffmpeginput_cpp 21 Oct 2025 12:55:09 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -Index: src/ffmpeg.imageio/ffmpeginput.cpp ---- src/ffmpeg.imageio/ffmpeginput.cpp.orig -+++ src/ffmpeg.imageio/ffmpeginput.cpp -@@ -581,7 +581,11 @@ bool - FFmpegInput::close(void) - { - if (m_codec_context) -+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(61, 3, 100) - avcodec_close(m_codec_context); -+#else -+ avcodec_free_context(&m_codec_context); -+#endif - if (m_format_context) { - avformat_close_input(&m_format_context); - av_free(m_format_context); // will free m_codec and m_codec_context Index: patches/patch-src_heif_imageio_heifinput_cpp =================================================================== RCS file: patches/patch-src_heif_imageio_heifinput_cpp diff -N patches/patch-src_heif_imageio_heifinput_cpp --- patches/patch-src_heif_imageio_heifinput_cpp 7 Jan 2026 10:05:13 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,20 +0,0 @@ -Fix build with libheif 1.21 -https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4851 - -Index: src/heif.imageio/heifinput.cpp ---- src/heif.imageio/heifinput.cpp.orig -+++ src/heif.imageio/heifinput.cpp -@@ -390,8 +390,13 @@ HeifInput::read_native_scanline(int subimage, int mipl - #else - int ystride = 0; - #endif -+#if LIBHEIF_NUMERIC_VERSION >= MAKE_LIBHEIF_VERSION(1, 20, 2, 0) -+ const uint8_t* hdata = m_himage.get_plane2(heif_channel_interleaved, -+ &ystride); -+#else - const uint8_t* hdata = m_himage.get_plane(heif_channel_interleaved, - &ystride); -+#endif - if (!hdata) { - errorfmt("Unknown read error"); - return false; Index: patches/patch-src_heif_imageio_heifoutput_cpp =================================================================== RCS file: patches/patch-src_heif_imageio_heifoutput_cpp diff -N patches/patch-src_heif_imageio_heifoutput_cpp --- patches/patch-src_heif_imageio_heifoutput_cpp 7 Jan 2026 10:05:13 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,18 +0,0 @@ -Fix build with libheif 1.21 -https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4851 - -Index: src/heif.imageio/heifoutput.cpp ---- src/heif.imageio/heifoutput.cpp.orig -+++ src/heif.imageio/heifoutput.cpp -@@ -155,7 +155,11 @@ HeifOutput::write_scanline(int y, int /*z*/, TypeDesc - #else - int hystride = 0; - #endif -+#if LIBHEIF_NUMERIC_VERSION >= MAKE_LIBHEIF_VERSION(1, 20, 2, 0) -+ uint8_t* hdata = m_himage.get_plane2(heif_channel_interleaved, &hystride); -+#else - uint8_t* hdata = m_himage.get_plane(heif_channel_interleaved, &hystride); -+#endif - hdata += hystride * (y - m_spec.y); - memcpy(hdata, data, hystride); - return true; Index: patches/patch-src_include_OpenImageIO_typedesc_h =================================================================== RCS file: patches/patch-src_include_OpenImageIO_typedesc_h diff -N patches/patch-src_include_OpenImageIO_typedesc_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_include_OpenImageIO_typedesc_h 10 Jan 2026 01:03:13 -0000 @@ -0,0 +1,15 @@ +fix(build): Fix building on OpenBSD +342da8ee6ea9f914b61e5dc5f3242f0ced501fb7 + +Index: src/include/OpenImageIO/typedesc.h +--- src/include/OpenImageIO/typedesc.h.orig ++++ src/include/OpenImageIO/typedesc.h +@@ -409,7 +409,7 @@ template<> struct BaseTypeFromC<uint64_t> { static con + template<> struct BaseTypeFromC<const uint64_t> { static constexpr TypeDesc::BASETYPE value = TypeDesc::UINT64; }; + template<> struct BaseTypeFromC<int64_t> { static constexpr TypeDesc::BASETYPE value = TypeDesc::INT64; }; + template<> struct BaseTypeFromC<const int64_t> { static constexpr TypeDesc::BASETYPE value = TypeDesc::INT64; }; +-#if defined(__GNUC__) && (ULONG_MAX == 0xffffffffffffffff) && !(defined(__APPLE__) && defined(__MACH__)) || defined(__NetBSD__) ++#if defined(__GNUC__) && (ULONG_MAX == 0xffffffffffffffff) && !(defined(__APPLE__) && defined(__MACH__)) && !defined(__OpenBSD__) || defined(__NetBSD__) + // Some platforms consider int64_t and long long to be different types, even + // though they are actually the same size. + static_assert(!std::is_same_v<unsigned long long, uint64_t>); Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/graphics/openimageio/pkg/PLIST,v retrieving revision 1.24 diff -u -p -u -p -r1.24 PLIST --- pkg/PLIST 29 May 2025 23:46:46 -0000 1.24 +++ pkg/PLIST 10 Jan 2026 01:03:13 -0000 @@ -21,6 +21,7 @@ include/OpenImageIO/detail/ include/OpenImageIO/detail/farmhash.h include/OpenImageIO/detail/fmt/ include/OpenImageIO/detail/fmt.h +include/OpenImageIO/detail/fmt/base.h include/OpenImageIO/detail/fmt/chrono.h include/OpenImageIO/detail/fmt/core.h include/OpenImageIO/detail/fmt/format-inl.h @@ -37,6 +38,7 @@ include/OpenImageIO/fstream_mingw.h include/OpenImageIO/function_view.h include/OpenImageIO/half.h include/OpenImageIO/hash.h +include/OpenImageIO/image_span.h include/OpenImageIO/image_view.h include/OpenImageIO/imagebuf.h include/OpenImageIO/imagebufalgo.h @@ -45,6 +47,7 @@ include/OpenImageIO/imagebufalgo_util.h include/OpenImageIO/imagecache.h include/OpenImageIO/imageio.h include/OpenImageIO/memory.h +include/OpenImageIO/nsversions.h include/OpenImageIO/oiioversion.h include/OpenImageIO/optparser.h include/OpenImageIO/parallel.h @@ -82,6 +85,8 @@ lib/pkgconfig/OpenImageIO.pc lib/python${MODPY_VERSION}/site-packages/OpenImageIO/ @so lib/python${MODPY_VERSION}/site-packages/OpenImageIO/OpenImageIO.${MODPY_PYC_MAGIC_TAG}so lib/python${MODPY_VERSION}/site-packages/OpenImageIO/__init__.py +lib/python${MODPY_VERSION}/site-packages/OpenImageIO/__init__.pyi +lib/python${MODPY_VERSION}/site-packages/OpenImageIO/py.typed @man man/man1/iconvert.1 @man man/man1/idiff.1 @man man/man1/igrep.1
