مهدي شينون (Mehdi Chinoune) 28ab984d59 Imath 3.2 rebuilds (indirect)
Fixes #25570
2025-09-17 21:03:12 +01:00

131 lines
4.7 KiB
Bash

# Maintainer: Alexey Pavlov <alexpux@gmail.com>
_realname=openimageio
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=3.0.10.0
pkgrel=3
pkgdesc="A library for reading and writing images, including classes, utilities, and applications (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://www.openimageio.org/"
msys2_repository_url="https://github.com/AcademySoftwareFoundation/OpenImageIO"
msys2_references=(
'archlinux: openimageio'
'gentoo: media-libs/openimageio'
"cpe: cpe:/a:openimageio:openimageio"
)
license=('spdx:Apache-2.0')
depends=("${MINGW_PACKAGE_PREFIX}-boost-libs"
"${MINGW_PACKAGE_PREFIX}-bzip2"
"${MINGW_PACKAGE_PREFIX}-dcmtk"
"${MINGW_PACKAGE_PREFIX}-ffmpeg"
"${MINGW_PACKAGE_PREFIX}-freetype"
"${MINGW_PACKAGE_PREFIX}-giflib"
"${MINGW_PACKAGE_PREFIX}-libheif"
"${MINGW_PACKAGE_PREFIX}-libjpeg"
"${MINGW_PACKAGE_PREFIX}-libpng"
"${MINGW_PACKAGE_PREFIX}-libraw"
"${MINGW_PACKAGE_PREFIX}-libsquish"
"${MINGW_PACKAGE_PREFIX}-libtiff"
"${MINGW_PACKAGE_PREFIX}-libultrahdr"
"${MINGW_PACKAGE_PREFIX}-libwebp"
"${MINGW_PACKAGE_PREFIX}-opencolorio"
"${MINGW_PACKAGE_PREFIX}-opencv"
"${MINGW_PACKAGE_PREFIX}-openexr"
"${MINGW_PACKAGE_PREFIX}-openjpeg2"
"${MINGW_PACKAGE_PREFIX}-openvdb"
"${MINGW_PACKAGE_PREFIX}-ptex"
"${MINGW_PACKAGE_PREFIX}-pugixml"
"${MINGW_PACKAGE_PREFIX}-tbb"
"${MINGW_PACKAGE_PREFIX}-zlib")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-boost"
"${MINGW_PACKAGE_PREFIX}-fmt"
"${MINGW_PACKAGE_PREFIX}-qt6-base"
"${MINGW_PACKAGE_PREFIX}-robin-map"
"${MINGW_PACKAGE_PREFIX}-python"
"${MINGW_PACKAGE_PREFIX}-pybind11"
"${MINGW_PACKAGE_PREFIX}-python-numpy")
optdepends=("${MINGW_PACKAGE_PREFIX}-python: bindings support"
"${MINGW_PACKAGE_PREFIX}-qt6-base: iv image viewer")
source=(https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz
0000-workaround-ansidecl-h-PTR-define-conflict.patch
0002-mingw-putenv.patch)
sha256sums=('c424637af66fc6d04f202156c3f7cf4a5484ccbe07966d3d8a1fde27c7472721'
'9e4e21333676268a91c0f4e7676aeab7658e5f748e7e5cfe43a92f0fd7931229'
'a03bcafded0808f9894d26b55a2bf26e69ce0676bf73d8a512ec1546de16ca34')
# Helper macros to help make tasks easier #
apply_patch_with_msg() {
for _patch in "$@"
do
msg2 "Applying ${_patch}"
patch -Nbp1 -i "${srcdir}/${_patch}"
done
}
prepare() {
cd "${srcdir}"/OpenImageIO-${pkgver}
apply_patch_with_msg \
0000-workaround-ansidecl-h-PTR-define-conflict.patch \
0002-mingw-putenv.patch
}
build() {
mkdir -p "${srcdir}"/build-${MSYSTEM} && cd "${srcdir}"/build-${MSYSTEM}
declare -a extra_config
if check_option "debug" "n"; then
extra_config+=("-DCMAKE_BUILD_TYPE=Release")
else
extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi
local _pyver=$(${MINGW_PREFIX}/bin/python -c "import sys;sys.stdout.write('.'.join(map(str, sys.version_info[:2])))")
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \
-Wno-dev \
-G"Ninja" \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DCMAKE_DLL_NAME_WITH_SOVERSION=ON \
-DCMAKE_CXX_STANDARD=17 \
-DUSE_FREETYPE=ON \
-DUSE_OPENCV=ON \
-DUSE_OPENGL=ON \
-DUSE_QT=ON \
-DUSE_FFMPEG=ON \
-DPYTHON_VERSION=${_pyver} \
-DPython_EXECUTABLE=${MINGW_PREFIX}/bin/python.exe \
-DUSE_EXTERNAL_PUGIXML=ON \
-DOIIO_BUILD_TESTS=OFF \
-DBUILD_TESTING=OFF \
-DSTOP_ON_WARNING=OFF \
${extra_config} \
../OpenImageIO-${pkgver}
${MINGW_PREFIX}/bin/cmake --build .
}
package() {
cd "${srcdir}"/build-${MSYSTEM}
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install .
local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX})
sed -e "s|${PREFIX_WIN}|\$\{PACKAGE_PREFIX_DIR\}|g" \
-i "${pkgdir}${MINGW_PREFIX}"/lib/cmake/OpenImageIO/OpenImageIOConfig.cmake
sed -e "s|${MINGW_PREFIX}|\$\{PACKAGE_PREFIX_DIR\}|g" \
-i "${pkgdir}${MINGW_PREFIX}"/lib/cmake/OpenImageIO/OpenImageIOConfig.cmake
for _f in "${pkgdir}${MINGW_PREFIX}"/lib/cmake/OpenImageIO/*.cmake; do
sed -e "s|${PREFIX_WIN}|\$\{_IMPORT_PREFIX\}|g" -i ${_f}
sed -e "s|${MINGW_PREFIX}|\$\{_IMPORT_PREFIX\}|g" -i ${_f}
done
install -Dm644 "${srcdir}"/OpenImageIO-${pkgver}/LICENSE.md "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE.md"
}