131 lines
4.7 KiB
Bash
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"
|
|
}
|