From b17313b7b6b18e622f28ffa46bc15d277143165a Mon Sep 17 00:00:00 2001 From: wiz Date: Wed, 15 Nov 2023 19:59:31 +0000 Subject: [PATCH] openexr: update to 3.2.1. ## Version 3.2.1 (September 27, 2023) Patch release with miscellaneous build fixes: * Fix for linking statically against an external ``libdeflate`` * Fix a compile error with ``OPENEXR_VERSION_HEX`` * Fix various compiler warnings * Pkg-config generation is now on by default for all systems, including Windows ### Merged Pull Requests Fix Imf/Iex/IlmThread namespaces in python bindings and website code Update openexr_deps.bzl Bazel: Improve module Clean up handling of libdeflate when linking static Omit OPENEXR_IMAGES_TAG from test image url if empty Set build-shared:OFF for Static build OPENEXR_INSTALL_PKG_CONFIG is on by default, even on Windows Default value for chromaticities attribute constructor in exrstdattr Fix OPENEXR_VERSION_HEX Python wheel setup gets version from OpenEXR.pc/Imath.pc Fix warnings from cross-compiling with x86_64-w64-mingw32-gcc-posix Fix warnings in multipartExamples.cpp Don't trigger ci/bazel/ossfuzz builds on pushes/PRs to src/wrappers Propagate OPENEXR_INSTALL_PKG_CONFIG to internal Imath Set minimal permissions for workflow python-wheels.yml Remove check for _MSC_VER in internal_cpuid.h ## Version 3.2.0 (August 30, 2023) Minor release with several additions, changes and improvements: * Zip compression via ``libdeflate`` As of OpenEXR release v3.2, OpenEXR depends on [libdeflate](https://github.com/ebiggers/libdeflate) for DEFLATE-based compression. Previous OpenEXR releases relied on [zlib](https://www.zlib.net). Builds of OpenEXR can choose either an ``libdeflate`` installation, or CMake can auto-fetch the source and build it internally. The internal build is linked statically, so no extra shared object is produced. See [website/install.rst](website/install.rst) for more details. * New camdkit/camdkit-enabled standard attributes These changes bring to OpenEXR new standard optional attributes that were discussed in the [SMPTE Rapid Industry Solutions On-Set Virtual Production Initiative)](https://www.smpte.org/blog/update-on-smptes-rapid-industry-solutions-ris-on-set-virtual-production-osvp-initiative). Additionally, some useful attributes from the SMPTE ACES Container File Layout standard, SMPTE ST 2065-4:2023, have been included as well. The new attributes are: Support automated editorial workflow: - ``reelName`` - ``imageCounter`` - ``ascFramingDecisionList`` Support forensics: - ``cameraMake`` - ``cameraModel`` - ``cameraSerialNumber`` - ``cameraFirmware`` - ``cameraUuid`` - ``cameraLabel`` - ``lensMake`` - ``lensModel`` - ``lensSerialNumber`` - ``lensFirmware`` - ``cameraColorBalance`` Support pickup shots: - ``shutterAngle`` - ``cameraCCTSetting`` - ``cameraTintSetting`` Support metadata-driven match move: - ``sensorCenterOffset`` - ``sensorOverallDimensions`` - ``sensorPhotositePitch`` - ``sensorAcquisitionRectangle`` - ``nominalFocalLength`` - ``effectiveFocalLength`` - ``pinholeFocalLength`` - ``entrancePupilOffset`` - ``tStop`` (complementing existing aperture) Also, ``renderingTransform`` and ``lookTransform`` have been deprecated. * Updated SO versioning policy This change adopts a policy of appending the ``MAJOR.MINOR.PATCH`` software release name to the ``SONAME`` to form the real name of the shared library. * Python bindings & PyPI wheel Support for the [OpenEXR python bindings](https://pypi.org/project/OpenEXR) have been formally adopted by the OpenEXR project. * Miscellaneous improvements: - "docs" renamed to "website" ([PR #1504](https://github.com/AcademySoftwareFoundation/openexr/pull/1504)) - Additional deep & multipart code examples ([PR #1493](https://github.com/AcademySoftwareFoundation/openexr/pull/1493) and [PR #1502](https://github.com/AcademySoftwareFoundation/openexr/pull/1502)) - Many small build/test fixes - bin tools man pages - Expanded test coverage Specific OSS-fuzz issues addressed: Out-of-memory in ``openexr_exrcheck_fuzzer`` Heap-buffer-overflow in ``generic_unpack`` Integer-overflow in ``reconstruct_chunk_table`` Heap-double-free in ``Imf_3_1::RgbaInputFile::~RgbaInputFile`` Abrt in ``Imf_3_1::RgbaInputFile::~RgbaInputFile`` Direct-leak in ``Imf_3_1::RgbaInputFile::RgbaInputFile`` ### Merged Pull Requests `OpenEXRConfig.h.in` uses version extracted from `openexr_version.h` Add bzlmod support Add `DEPENDENCIES Imath::Imath` for OpenEXRCore (#1523) Rename cifuzz workflow to OSS-Fuzz, and filter out unnecessary triggers fix memory leaks in exrmultipart Remove .bazelrc file Bazel support: Simplify use of libdeflate dependency Streamline Python wheel workflow, and add tests and a CMake setup for bindings Bazel support: Remove Bazel specific example and use same examples as CMake build Separate Actions workflow for the website Website "Attributes" page now describes all attributes Deprecate renderingTransform and lookModTransform Initialize regs[] to 0 in check_for_x86_simd Fix CPUID detection with ``-march=x86-64-v3`` Add missing copyright/license specifiers Rename "docs" to "website" Reorganize ``share/util`` and remove unnecessary files multipart code examples Add website example source files to the CMake build for validation Add 2023 Virtual Town Hall to news Update and simplify SO versioning policy Bazel update Rename ``IMATH_REPO/TAG`` to ``OPENEXR_IMATH_REPO/TAG`` and update install docs Reorder attributes in doc to match order in header adds deep examples, fixes the deep examples in docs Readdress #1456: disallow NaNs in ``testOptimizedInterleavePatterns`` Add ``sensorCenterOffset``, ``sensorOverallDimensions``, ``sensorPhotositePitch`` Revert pre-computed values Python wheels Replace ``ILMBASE_THREADING_ENABLED`` with ``ILMTHREAD_THREADING_ENABLED`` Fix handling for corrupt number of DC components Add ``ImfMisc.h`` and ``ImfCompressor.h`` as installed headers Add ``OPENEXR_MISSING_ARM_VLD1`` workaround to ``internal_dwa_simd.h`` Update CI with vfx2023 Linux jobs. consolidate project configurations to one place Fix range check in dwa compressor Add detailed instructions for making both patch and major/minor release Remove old zlib reference v3.1.9/v3.1.8 notes and news CIFuzz skips PRs that only modify markdown Add simple abi checker util Fix handling of builddir and cxxwarns in ``clang_coverage.sh`` Prevent re-download of images if already in place prepare for new version of libdeflate with thread-safe alloc functions Start working on improving test coverage Fix reference to the number of supported compression types after other merges, need to fix include Document DWAA/DWAB compression in Technical Introduction ci: set minimal permissions on GitHub workflows Shift MacOS versions in flight Revert fix of spelling mistakes in PR messages ensure we are passing through valid function pointers Fix version h More robust ``openexr_version.h`` handling Fix spelling mistakes Bazel support update Remove unused private member ``variable`` _maxScanLineSize (ABI break) Updated Mac and Windows jobs for VFX platform 2023. Switch to embedding libdeflate into EXRCore Govern library version by ``OpenEXRVersion.h`` Add selected SMPTE camdkit or camdkit-enabling standard optional attributes Deprecate ``exrbuild.cpp`` Tool manpages, doc page, and standardized ``--help`` messages Reorder attribute definitions in ``ImfStandardAttributes.h`` by functional group notes and news for v3.1.7 Test Images page for website Extend Iex test coverage Fix ``run_gcov.sh`` to use proper ``_build/_coverage`` dirs Fix coverage analysis for .c files Add 3.1.6 to release notes and news Add tests for bin programs Bazel Support: Switch to Imath 3.1.7 Switch to Imath 3.1.6 for Bazel build Update bazel build Bazel support: Bump OpenEXR version to 3.2 Refactor ``ImfCheckFile`` and oss-fuzz tests Fix Bazel Imath version defines Update GitHub checkout action from V2 to V3 Bump version to 3.2.0 on the main branch prevent double-free of ``RgbaInputFile::_inputPart`` Fix build script so auto-build of imath uses the new branch name Merge release notes and SECURITY.md from RB-3.1 fix memory leak in ``RgbaInputFile`` constructor Extend multipart ``RgbaInputFile`` API Fix version number of Imath for Bazel build RgbaInputFile: Multipart support Merge v3.1.2 release notes to master Bazel update Bazel build: Update Imath version to 3.1.2 Update Imath to 3.1.1 and bazelisk to 1.10.1 Update Imath to 3.1.0 for Bazel build Use Bazel standard convention for repository names Analysis CI updates Release notes for v3.1.0 Cherry-pick v3.0.5 release notes into master Do Bazel CI builds also for pull requests Bazel build: Update Imath to version 3.0.5 Bazel build: Fix download hash for Imath Do not do a Bazel Build on old OpenEXR branches Fix bazel build: Add missing headers to exrenvmap Bazel build: Add some OpenEXR tools Sort source files in CMake targets Improve Bazel Build Add ``validate_openexr_libs.sh`` to validate .so symlinks ## Version 3.1.11 (August 13, 2023) Patch release that fixes a build failure with ``-march=x86-64-v3`` ### Merged Pull Requests Initialize ``regs[]`` to 0 in ``check_for_x86_simd`` Fix CPUID detection with ``-march=x86-64-v3`` ## Version 3.1.10 (August 2, 2023) Patch release that addresses miscellaneous build issues, test failures, and performance regressions, as well as: Heap-buffer-overflow in ``LossyDctDecoder_execute`` --- graphics/openexr/Makefile | 10 +++-- graphics/openexr/PLIST | 44 ++++++++++++------- graphics/openexr/distinfo | 9 ++-- .../patch-src_lib_OpenEXR_ImfSystemSpecific.h | 15 ------- 4 files changed, 38 insertions(+), 40 deletions(-) delete mode 100644 graphics/openexr/patches/patch-src_lib_OpenEXR_ImfSystemSpecific.h diff --git a/graphics/openexr/Makefile b/graphics/openexr/Makefile index b56caed004e6..3160c7243982 100644 --- a/graphics/openexr/Makefile +++ b/graphics/openexr/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.55 2023/07/18 18:19:23 nia Exp $ +# $NetBSD: Makefile,v 1.56 2023/11/15 19:59:31 wiz Exp $ -DISTNAME= openexr-3.1.9 +DISTNAME= openexr-3.2.1 CATEGORIES= graphics MASTER_SITES= ${MASTER_SITE_GITHUB:=openexr/} GITHUB_PROJECT= openexr @@ -15,15 +15,19 @@ USE_LANGUAGES= c c++ USE_CXX_FEATURES+= c++14 +USE_TOOLS+= pkg-config + PKGCONFIG_OVERRIDE= cmake/OpenEXR.pc.in PTHREAD_OPTS= require +CMAKE_ARGS+= -DBUILD_TESTING=OFF + CHECK_PORTABILITY_SKIP+= Contrib/DtexToExr/bootstrap CHECK_PORTABILITY_SKIP+= util/reformat.sh .include "../../devel/cmake/build.mk" .include "../../mk/pthread.buildlink3.mk" -.include "../../devel/zlib/buildlink3.mk" +.include "../../devel/libdeflate/buildlink3.mk" .include "../../math/imath/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/graphics/openexr/PLIST b/graphics/openexr/PLIST index aa259c05e54b..0fe9591198d0 100644 --- a/graphics/openexr/PLIST +++ b/graphics/openexr/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.24 2023/07/05 22:39:15 wiz Exp $ +@comment $NetBSD: PLIST,v 1.25 2023/11/15 19:59:31 wiz Exp $ bin/exr2aces bin/exrenvmap bin/exrheader @@ -41,6 +41,7 @@ include/OpenEXR/ImfChromaticitiesAttribute.h include/OpenEXR/ImfCompositeDeepScanLine.h include/OpenEXR/ImfCompression.h include/OpenEXR/ImfCompressionAttribute.h +include/OpenEXR/ImfCompressor.h include/OpenEXR/ImfConvert.h include/OpenEXR/ImfDeepCompositing.h include/OpenEXR/ImfDeepFrameBuffer.h @@ -94,6 +95,7 @@ include/OpenEXR/ImfLineOrder.h include/OpenEXR/ImfLineOrderAttribute.h include/OpenEXR/ImfLut.h include/OpenEXR/ImfMatrixAttribute.h +include/OpenEXR/ImfMisc.h include/OpenEXR/ImfMultiPartInputFile.h include/OpenEXR/ImfMultiPartOutputFile.h include/OpenEXR/ImfMultiView.h @@ -139,7 +141,8 @@ include/OpenEXR/openexr_attr.h include/OpenEXR/openexr_base.h include/OpenEXR/openexr_chunkio.h include/OpenEXR/openexr_coding.h -include/OpenEXR/openexr_conf.h +include/OpenEXR/openexr_compression.h +include/OpenEXR/openexr_config.h include/OpenEXR/openexr_context.h include/OpenEXR/openexr_debug.h include/OpenEXR/openexr_decode.h @@ -147,31 +150,36 @@ include/OpenEXR/openexr_encode.h include/OpenEXR/openexr_errors.h include/OpenEXR/openexr_part.h include/OpenEXR/openexr_std_attr.h +include/OpenEXR/openexr_version.h lib/cmake/OpenEXR/OpenEXRConfig.cmake lib/cmake/OpenEXR/OpenEXRConfigVersion.cmake lib/cmake/OpenEXR/OpenEXRTargets-release.cmake lib/cmake/OpenEXR/OpenEXRTargets.cmake -lib/libIex-3_1.so -lib/libIex-3_1.so.30 -lib/libIex-3_1.so.30.9.1 +lib/libIex-3_2.so +lib/libIex-3_2.so.31 +lib/libIex-3_2.so.31.3.2.1 lib/libIex.so -lib/libIlmThread-3_1.so -lib/libIlmThread-3_1.so.30 -lib/libIlmThread-3_1.so.30.9.1 +lib/libIlmThread-3_2.so +lib/libIlmThread-3_2.so.31 +lib/libIlmThread-3_2.so.31.3.2.1 lib/libIlmThread.so -lib/libOpenEXR-3_1.so -lib/libOpenEXR-3_1.so.30 -lib/libOpenEXR-3_1.so.30.9.1 +lib/libOpenEXR-3_2.so +lib/libOpenEXR-3_2.so.31 +lib/libOpenEXR-3_2.so.31.3.2.1 lib/libOpenEXR.so -lib/libOpenEXRCore-3_1.so -lib/libOpenEXRCore-3_1.so.30 -lib/libOpenEXRCore-3_1.so.30.9.1 +lib/libOpenEXRCore-3_2.so +lib/libOpenEXRCore-3_2.so.31 +lib/libOpenEXRCore-3_2.so.31.3.2.1 lib/libOpenEXRCore.so -lib/libOpenEXRUtil-3_1.so -lib/libOpenEXRUtil-3_1.so.30 -lib/libOpenEXRUtil-3_1.so.30.9.1 +lib/libOpenEXRUtil-3_2.so +lib/libOpenEXRUtil-3_2.so.31 +lib/libOpenEXRUtil-3_2.so.31.3.2.1 lib/libOpenEXRUtil.so lib/pkgconfig/OpenEXR.pc +share/doc/OpenEXR/examples/deepExamples.cpp +share/doc/OpenEXR/examples/deepExamples.h +share/doc/OpenEXR/examples/deepTiledExamples.cpp +share/doc/OpenEXR/examples/deepTiledExamples.h share/doc/OpenEXR/examples/drawImage.cpp share/doc/OpenEXR/examples/drawImage.h share/doc/OpenEXR/examples/generalInterfaceExamples.cpp @@ -181,6 +189,8 @@ share/doc/OpenEXR/examples/generalInterfaceTiledExamples.h share/doc/OpenEXR/examples/lowLevelIoExamples.cpp share/doc/OpenEXR/examples/lowLevelIoExamples.h share/doc/OpenEXR/examples/main.cpp +share/doc/OpenEXR/examples/multipartExamples.cpp +share/doc/OpenEXR/examples/multipartExamples.h share/doc/OpenEXR/examples/namespaceAlias.h share/doc/OpenEXR/examples/previewImageExamples.cpp share/doc/OpenEXR/examples/previewImageExamples.h diff --git a/graphics/openexr/distinfo b/graphics/openexr/distinfo index 496f7e8d4aa1..38c52e46db56 100644 --- a/graphics/openexr/distinfo +++ b/graphics/openexr/distinfo @@ -1,6 +1,5 @@ -$NetBSD: distinfo,v 1.51 2023/07/05 22:39:15 wiz Exp $ +$NetBSD: distinfo,v 1.52 2023/11/15 19:59:31 wiz Exp $ -BLAKE2s (openexr-3.1.9.tar.gz) = 2187d2dfcb59bfbeb832631e113380b3bdb64875e340915ba7a1fe6d38eb8a29 -SHA512 (openexr-3.1.9.tar.gz) = 81e66500e070f253accc35d9fb06d7ce07ef6caef6efacbfa896f01dfda9a2b5a3708edacd6c1f73e33363f01664637bbe9fdf5fa0984f39a14b718664c3e2cf -Size (openexr-3.1.9.tar.gz) = 20538624 bytes -SHA1 (patch-src_lib_OpenEXR_ImfSystemSpecific.h) = 87c234bc497cd1fe34d38dfcdaa943486f8971e5 +BLAKE2s (openexr-3.2.1.tar.gz) = 24602ed13f6dff1180a308671148a78bde9451869f8d0e01b80515be74fcfa10 +SHA512 (openexr-3.2.1.tar.gz) = 7ee14487357ef6c350b2408ea99089f5dc49be03552ae0fa0a1c97ff38a45297b89c25e38a3c21798415287c75d918683717c480c81aed43e314e6b3c5d14e11 +Size (openexr-3.2.1.tar.gz) = 18824332 bytes diff --git a/graphics/openexr/patches/patch-src_lib_OpenEXR_ImfSystemSpecific.h b/graphics/openexr/patches/patch-src_lib_OpenEXR_ImfSystemSpecific.h deleted file mode 100644 index a9de0ad7d31f..000000000000 --- a/graphics/openexr/patches/patch-src_lib_OpenEXR_ImfSystemSpecific.h +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-src_lib_OpenEXR_ImfSystemSpecific.h,v 1.1 2021/07/08 21:13:06 markd Exp $ - -Work around lack of posix_memalign() on (some?) Solaris, from PR 47867. - ---- src/lib/OpenEXR/ImfSystemSpecific.h.orig 2019-09-18 01:02:06.000000000 +0000 -+++ src/lib/OpenEXR/ImfSystemSpecific.h -@@ -59,6 +59,8 @@ EXRAllocAligned (size_t size, size_t ali - return _aligned_malloc (size, alignment); - #elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) - return _mm_malloc (size, alignment); -+#elif defined(__sun) -+ return memalign(alignment, size); - #elif defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L) - void* ptr = 0; - // With fortify_source on, just doing the (void) cast trick