# # spec file for package Imath # # Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %global so_suffix -3_1 %define sonum 29 Name: Imath Version: 3.1.12 Release: 1.3 Summary: C++ and Python Library of 2D and 3D Vector, Matrix, and Math Operations License: BSD-3-Clause Group: Development/Libraries/C and C++ URL: https://www.openexr.com/ Source0: https://github.com/AcademySoftwareFoundation/Imath/archive/refs/tags/v%{version}.tar.gz Source2: baselibs.conf BuildRequires: cmake >= 3.12 BuildRequires: gcc-c++ BuildRequires: pkgconfig %description Imath is a library for the C++ representation of 2D and 3D vectors and matrices and other mathematical objects, functions, and data types common in computer graphics applications, including the “half” 16-bit floating-point type. %package devel Summary: Base library for ILM software (OpenEXR) License: BSD-3-Clause AND GPL-2.0-or-later Group: Development/Libraries/C and C++ Requires: libImath%{so_suffix}-%{sonum} = %{version} Requires: libstdc++-devel # provides ilmbase-devel partly only; openexr-devel requires Imath-devel # and provides/obsoletes it Obsoletes: ilmbase-devel < 3.0 %description devel Devel files for Imath, which is the base library for OpenEXR. %package -n libImath%{so_suffix}-%{sonum} Summary: Vector/matrix library for OpenEXR License: BSD-3-Clause Group: System/Libraries %description -n libImath%{so_suffix}-%{sonum} %{summary}. %prep %setup -q %build %cmake %make_build %install %cmake_install %check # https://github.com/openexr/openexr/issues/570 %ifnarch i586 export LD_LIBRARY_PATH="$PWD/build/src/Imath:$LD_LIBRARY_PATH" %ctest %endif %post -n libImath%{so_suffix}-%{sonum} -p /sbin/ldconfig %postun -n libImath%{so_suffix}-%{sonum} -p /sbin/ldconfig %files devel %doc CHANGES.md CODE_OF_CONDUCT.md CONTRIBUTING.md CONTRIBUTORS.md README.md SECURITY.md %license LICENSE.md %{_includedir}/Imath %{_libdir}/libImath.so %{_libdir}/libImath%{so_suffix}.so %{_libdir}/pkgconfig/Imath.pc %dir %{_libdir}/cmake/Imath/ %{_libdir}/cmake/Imath/*.cmake %files -n libImath%{so_suffix}-%{sonum} %{_libdir}/libImath%{so_suffix}.so.%{sonum}* %changelog * Fri Jan 17 2025 ming li - update to 3.1.12: * Support for compiling half.h with hip-runtime-amd * Also, the v3.1.11 release had improper versioning in its cmake and pkgconf configuration files. This is now fixed. * Mon Jul 1 2024 Dirk Müller - update to 3.1.11: * Fix a problem where downstream projects using Imath would build python bindings even if they weren't requested. * Fix for missing `std::bit_cast` * Fix missing/necessary use of IMATH_HOSTDEVICE * IMATH_INSTALL_PKG_CONFIG is now on by default, even on Windows * Fix calling default constructor by uniform init in TypeTraits * Fix redundant PYIMATH_EXPORTS causing compile issues on Windows Clang * Update to SO versioning policy: * succ()/pred() now use std::nextafter(). * Expand epsilon bounds for m44x pyImath test. * Rename "docs" to "website". * Add missing copyright/license identifiers. * Tue Jun 27 2023 Dirk Müller - update to 3.1.9: * Fix Heap-buffer-overflow in internal_huf_decompress * Support for DWA compression in OpenEXRCore * Fix for threadpool deadlocks during shutdown on Windows * Stack-buffer-overflow in DwaCompressor_readChannelRules * Tue Dec 6 2022 Dirk Müller - update to 3.1.6: * Patch release with miscellaneous bug/doc/build fixes. * [#269] fix memory leak in V3fArrayFromBuffer * [#268] Add for int64_t * [#263] Initialize x in testRoots.cpp:solve() to suppress compiler warning * [#262] Fix gcc compiler warning in testFun.cpp * [#261] Test return value of extractSHRT to avoid uninitialized reference * [#260] Fix example code so it compiles as is * [#259] Cuda safety in several headers * [#256] Fix markdown and typos in README.md * [#255] Do not warn if half.h has already being included * [#250] Fix compiler warnings on windows * [#249] Remove irrelevant cvs ignore files * [#248] Update sphinx version * Tue Jun 21 2022 Dirk Müller - update to 3.1.5: * Update CI workflow matrix for VFX-CY2022 * Use _WIN32 instead of _MSC_VER to fix mingw build * Fix 32-bit x86 build failure with 16c instructions * Move numeric_limits specializations into half.h * Change references to "master" branch to "main" * Remove some simple typos in the code * Added missing check _M_IX86 or _M_X64 when using __lzcnt. * SolveNormalizedCubic fix to return proper real root * Add docs target only if not a subproject * Fix docs race condition and make installation optional * Remove dead PyImath code and references to ilmbase * Use equalWithAbsError instead of equal operator for float * Fix sphinx warnings and man page filenames * Adding missing stdexcept header * for better SIMD auto-vectorization * Remove extra project layer for the pyimath code * Successor/predecessor functions use isnan() and isinf() * Fix python imath export * Cuda safety fixes * Sort Imath source files * Fix formatting in release notes * Mon Dec 13 2021 pgajdos@suse.com - version update to 3.1.3 * Patch release with miscellaneous fixes * Fix undefined access of a vector when empty * Require sphinx 4.0.3 * Build sphinx/doxygen docs with CMake * Use PYIMATH_OVERRIDE_PYTHON_INSTALL_DIR to specify destination python modules * Guard `__has_attribute` for compilers that don't support it * Cuda safety fixes * Replace stray Imath:: with IMATH_INTERNAL_NAMESPACE:: * Thu Aug 19 2021 pgajdos@suse.com - Imath-devel obsoletes ilbase-devel (https://build.opensuse.org/request/show/912661#comment-1504935) * Tue Aug 17 2021 pgajdos@suse.com - be more precise in %%files section (https://build.opensuse.org/request/show/911960#comment-1503939) * Mon Aug 16 2021 pgajdos@suse.com - do not obsolete/provide ilmbase, Imath provides just part of functionality of former ilmbase * Sat Aug 14 2021 Jan Engelhardt - Trim conjecture from description. * Fri Aug 13 2021 pgajdos@suse.com - fix baselibs.conf - modified sources %% baselibs.conf * Tue Aug 10 2021 pgajdos@suse.com - version update to 3.1.2 - deleted patches - Imath-pkgconfig-fix-libdir.patch (upstreamed) * Fri Apr 9 2021 pgajdos@suse.com - initial version 3.0.1, splitted from openexr - added patches fix https://github.com/AcademySoftwareFoundation/openexr/issues/595 + Imath-pkgconfig-fix-libdir.patch (splitted from openexr's 0001-Use-absolute-CMAKE_INSTALL_FULL_LIBDIR-for-libdir-in.patch)