OpenEXR: update to 3.1.5

This commit is contained in:
مهدي شينون (Mehdi Chinoune)
2022-08-28 17:36:39 +01:00
committed by مهدي شينون (Mehdi Chinoune)
parent 7c2b16a300
commit ffe0778e17
8 changed files with 60 additions and 479 deletions

View File

@@ -1,14 +1,14 @@
--- a/OpenEXR/IlmImf/ImfSimd.h.orig 2013-11-25 23:49:53.000000000 +0400
+++ b/OpenEXR/IlmImf/ImfSimd.h 2013-12-28 11:32:14.071000000 +0400
@@ -44,8 +44,10 @@
--- a/src/lib/OpenEXR/ImfSimd.h
+++ b/src/lib/OpenEXR/ImfSimd.h
@@ -14,8 +14,10 @@
// GCC and Visual Studio SSE2 compiler flags
-#if defined __SSE2__ || (_MSC_VER >= 1300 && !_M_CEE_PURE)
-#if defined __SSE2__ || (_MSC_VER >= 1300 && (_M_IX86 || _M_X64))
+#ifndef __MINGW64_VERSION_MAJOR
+ #if defined __SSE2__ || (_MSC_VER >= 1300 && !_M_CEE_PURE)
#define IMF_HAVE_SSE2 1
+ #endif
#endif
#if defined __SSE4_1__

View File

@@ -1,43 +0,0 @@
From 90de52ef5856c276848dc2c85dd4985f9e2639f4 Mon Sep 17 00:00:00 2001
From: Stephen <stephen.kiazyk@thinkboxsoftware.com>
Date: Wed, 24 Feb 2016 14:32:49 -0600
Subject: [PATCH] Add missing OpenEXR headers to CMake install rule
---
IlmImf/CMakeLists.txt | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/OpenEXR/IlmImf/CMakeLists.txt b/OpenEXR/IlmImf/CMakeLists.txt
index 18d90ed..11f7a1a 100644
--- a/OpenEXR/IlmImf/CMakeLists.txt
+++ b/OpenEXR/IlmImf/CMakeLists.txt
@@ -350,6 +350,29 @@ INSTALL ( FILES
ImfDeepImageState.h
ImfDeepImageStateAttribute.h
ImfFloatVectorAttribute.h
+ ImfAutoArray.h
+ ImfCheckedArithmetic.h
+ ImfCompressor.h
+ ImfDwaCompressor.h
+ ImfDwaCompressorSimd.h
+ ImfFastHuf.h
+ ImfInputPartData.h
+ ImfInputStreamMutex.h
+ ImfOptimizedPixelReading.h
+ ImfOutputPartData.h
+ ImfOutputStreamMutex.h
+ ImfPizCompressor.h
+ ImfPxr24Compressor.h
+ ImfRle.h
+ ImfRleCompressor.h
+ ImfScanLineInputFile.h
+ ImfSimd.h
+ ImfStdIO.h
+ ImfSystemSpecific.h
+ ImfTiledMisc.h
+ ImfTileOffsets.h
+ ImfZip.h
+ ImfZipCompressor.h
DEPENDENCIES
OpenEXR::Config
IlmBase::Iex

View File

@@ -1,32 +0,0 @@
--- openexr-2.4.0/IlmBase/IlmBase.pc.in.orig 2019-10-30 09:49:33.334966000 +0300
+++ openexr-2.4.0/IlmBase/IlmBase.pc.in 2019-10-30 09:53:46.375320200 +0300
@@ -4,9 +4,9 @@
##
prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
+exec_prefix=${prefix}/@exec_prefix@
+libdir=${prefix}/@libdir@
+includedir=${prefix}/@includedir@
libsuffix=@LIB_SUFFIX_DASH@
Name: IlmBase
Description: Base math and exception libraries
--- openexr-2.4.0/OpenEXR/OpenEXR.pc.in.orig 2019-10-30 09:54:34.675387800 +0300
+++ openexr-2.4.0/OpenEXR/OpenEXR.pc.in 2019-10-30 09:54:58.695421500 +0300
@@ -4,10 +4,10 @@
##
prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-OpenEXR_includedir=@includedir@/OpenEXR
+exec_prefix=${prefix}/@exec_prefix@
+libdir=${prefix}/@libdir@
+includedir=${prefix}/@includedir@
+OpenEXR_includedir=${prefix}/@includedir@/OpenEXR
libsuffix=@LIB_SUFFIX_DASH@
Name: OpenEXR

View File

@@ -1,41 +1,6 @@
--- openexr-2.4.0/IlmBase/config/IlmBaseSetup.cmake.orig 2019-10-29 15:34:57.792136700 +0300
+++ openexr-2.4.0/IlmBase/config/IlmBaseSetup.cmake 2019-10-29 15:35:30.172182000 +0300
@@ -31,7 +31,7 @@
set(ILMBASE_PACKAGE_NAME "IlmBase ${ILMBASE_VERSION}" CACHE STRING "Public string / label for displaying package")
# Whether to generate and install a pkg-config file IlmBase.pc on
-if(WIN32)
+if(MSVC)
option(ILMBASE_INSTALL_PKG_CONFIG "Install IlmBase.pc file" OFF)
else()
option(ILMBASE_INSTALL_PKG_CONFIG "Install IlmBase.pc file" ON)
--- openexr-2.4.0/IlmBase/config/LibraryDefine.cmake.orig 2019-10-29 15:37:25.812343900 +0300
+++ openexr-2.4.0/IlmBase/config/LibraryDefine.cmake 2019-10-29 15:38:12.164408900 +0300
@@ -84,7 +84,9 @@
)
endif()
set_target_properties(${libname} PROPERTIES
- OUTPUT_NAME "${libname}${ILMBASE_LIB_SUFFIX}"
+ OUTPUT_NAME "${libname}"
+ RUNTIME_OUTPUT_NAME "${libname}${ILMBASE_LIB_SUFFIX}"
+ ARCHIVE_OUTPUT_NAME "${libname}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
)
add_library(${PROJECT_NAME}::${libname} ALIAS ${libname})
--- openexr-2.4.0/OpenEXR/config/OpenEXRSetup.cmake.orig 2019-10-29 15:39:38.034529100 +0300
+++ openexr-2.4.0/OpenEXR/config/OpenEXRSetup.cmake 2019-10-29 15:39:43.874537300 +0300
@@ -21,7 +21,7 @@
set(OPENEXR_PACKAGE_NAME "IlmBase ${ILMBASE_VERSION}" CACHE STRING "Public string / label for displaying package")
# Whether to generate and install a pkg-config file OpenEXR.pc
-if (WIN32)
+if (MSVC)
option(OPENEXR_INSTALL_PKG_CONFIG "Install OpenEXR.pc file" OFF)
else()
option(OPENEXR_INSTALL_PKG_CONFIG "Install OpenEXR.pc file" ON)
--- openexr-2.4.0/oPENexr/config/LibraryDefine.cmake.orig 2019-10-29 15:38:56.304470700 +0300
+++ openexr-2.4.0/oPENexr/config/LibraryDefine.cmake 2019-10-29 15:39:22.864507900 +0300
@@ -78,7 +78,9 @@
--- a/cmake/LibraryDefine.cmake
+++ b/cmake/LibraryDefine.cmake
@@ -70,7 +70,9 @@
)
endif()
set_target_properties(${libname} PROPERTIES
@@ -46,23 +11,27 @@
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
)
add_library(${PROJECT_NAME}::${libname} ALIAS ${libname})
--- openexr-2.4.0/IlmBase/IlmBase.pc.in.orig 2019-10-29 16:09:29.326136000 +0300
+++ openexr-2.4.0/IlmBase/IlmBase.pc.in 2019-10-29 16:09:50.616346500 +0300
@@ -13,5 +13,5 @@
Version: @ILMBASE_VERSION@
Requires:
Conflicts:
-Libs: -L${libdir} -lImath${libsuffix} -lHalf${libsuffix} -lIex${libsuffix} -lIexMath${libsuffix} -lIlmThread${libsuffix} @PTHREAD_LIBS@
+Libs: -L${libdir} -lImath -lHalf -lIex -lIexMath -lIlmThread @PTHREAD_LIBS@
Cflags: @PTHREAD_CFLAGS@ -I${includedir} -I${includedir}/OpenEXR
--- openexr-2.4.0/OpenEXR/OpenEXR.pc.in.orig 2019-10-29 16:10:13.784661600 +0300
+++ openexr-2.4.0/OpenEXR/OpenEXR.pc.in 2019-10-29 16:10:17.744888100 +0300
--- a/cmake/OpenEXR.pc.in
+++ b/cmake/OpenEXR.pc.in
@@ -14,7 +14,7 @@
Description: OpenEXR image library
Version: @OPENEXR_VERSION@
-Libs: -L${libdir} -lIlmImf${libsuffix}
+Libs: -L${libdir} -lIlmImf
Cflags: -I${OpenEXR_includedir}
Requires: IlmBase
Libs.private: -lz
-Libs: @exr_pthread_libs@ -L${libdir} -lOpenEXR${libsuffix} -lOpenEXRUtil${libsuffix} -lOpenEXRCore${libsuffix} -lIex${libsuffix} -lIlmThread${libsuffix}
+Libs: @exr_pthread_libs@ -L${libdir} -lOpenEXR -lOpenEXRUtil -lOpenEXRCore -lIex -lIlmThread
Cflags: -I${includedir} -I${OpenEXR_includedir} @exr_pthread_cflags@
Requires: Imath
Libs.private: @zlib_link@
--- a/cmake/OpenEXRLibraryDefine.cmake
+++ b/cmake/OpenEXRLibraryDefine.cmake
@@ -49,7 +49,9 @@
)
endif()
set_target_properties(${libname} PROPERTIES
- OUTPUT_NAME "${libname}${OPENEXR_LIB_SUFFIX}"
+ OUTPUT_NAME "${libname}"
+ RUNTIME_OUTPUT_NAME "${libname}${OPENEXR_LIB_SUFFIX}"
+ ARCHIVE_OUTPUT_NAME "${libname}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
)
add_library(${PROJECT_NAME}::${libname} ALIAS ${libname})

View File

@@ -1,6 +1,6 @@
--- a/OpenEXR/IlmImf/dwaLookups.cpp
+++ b/OpenEXR/IlmImf/dwaLookups.cpp
@@ -42,6 +42,9 @@
--- a/src/lib/OpenEXR/dwaLookups.cpp
+++ b/src/lib/OpenEXR/dwaLookups.cpp
@@ -14,6 +14,9 @@
#include <math.h>
#include <vector>
@@ -8,5 +8,5 @@
+#include <windows.h>
+#endif
#include <OpenEXRConfig.h>
#include <OpenEXRConfigInternal.h>
#ifdef OPENEXR_IMF_HAVE_SYSCONF_NPROCESSORS_ONLN

View File

@@ -1,244 +0,0 @@
diff -Naur a/OpenEXR/IlmImf/ImfGenericInputFile.h b/OpenEXR/IlmImf/ImfGenericInputFile.h
--- a/OpenEXR/IlmImf/ImfGenericInputFile.h 2018-11-04 22:55:11.645972400 +0300
+++ b/OpenEXR/IlmImf/ImfGenericInputFile.h 2018-11-04 22:55:48.038053900 +0300
@@ -42,16 +42,13 @@
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
-class GenericInputFile
+class IMF_EXPORT GenericInputFile
{
public:
- IMF_EXPORT
virtual ~GenericInputFile();
protected:
- IMF_EXPORT
GenericInputFile();
- IMF_EXPORT
void readMagicNumberAndVersionField(OPENEXR_IMF_INTERNAL_NAMESPACE::IStream& is, int& version);
};
diff -Naur a/OpenEXR/IlmImf/ImfGenericOutputFile.h b/OpenEXR/IlmImf/ImfGenericOutputFile.h
--- a/OpenEXR/IlmImf/ImfGenericOutputFile.h 2018-11-04 22:55:07.805752800 +0300
+++ b/OpenEXR/IlmImf/ImfGenericOutputFile.h 2018-11-04 22:56:00.851786800 +0300
@@ -45,18 +45,14 @@
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
-class GenericOutputFile
+class IMF_EXPORT GenericOutputFile
{
public:
- IMF_EXPORT
virtual ~GenericOutputFile();
protected:
- IMF_EXPORT
GenericOutputFile();
- IMF_EXPORT
void writeMagicNumberAndVersionField (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream& os, const Header& header);
- IMF_EXPORT
void writeMagicNumberAndVersionField (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream& os, const Header * headers, int parts);
};
diff -Naur a/OpenEXR/IlmImf/ImfName.h b/OpenEXR/IlmImf/ImfName.h
--- a/OpenEXR/IlmImf/ImfName.h 2018-08-10 04:34:58.000000000 +0300
+++ b/OpenEXR/IlmImf/ImfName.h 2018-11-04 22:52:03.670220800 +0300
@@ -51,7 +51,7 @@
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
-class Name
+class IMF_EXPORT Name
{
public:
@@ -59,9 +59,7 @@
// Constructors
//-------------
- IMF_EXPORT
Name ();
- IMF_EXPORT
Name (const char text[]);
@@ -69,7 +67,6 @@
// Assignment operator
//--------------------
- IMF_EXPORT
Name & operator = (const char text[]);
diff -Naur a/OpenEXR/IlmImf/ImfPreviewImage.h b/OpenEXR/IlmImf/ImfPreviewImage.h
--- a/OpenEXR/IlmImf/ImfPreviewImage.h 2018-08-10 04:34:58.000000000 +0300
+++ b/OpenEXR/IlmImf/ImfPreviewImage.h 2018-11-04 22:39:19.052487200 +0300
@@ -52,7 +52,7 @@
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
-struct PreviewRgba
+struct IMF_EXPORT PreviewRgba
{
unsigned char r; // Red, green and blue components of
unsigned char g; // the pixel's color; intensity is
@@ -70,7 +70,7 @@
};
-class PreviewImage
+class IMF_EXPORT PreviewImage
{
public:
@@ -87,7 +87,6 @@
//
//--------------------------------------------------------------------
- IMF_EXPORT
PreviewImage (unsigned int width = 0,
unsigned int height = 0,
const PreviewRgba pixels[] = 0);
@@ -96,12 +95,9 @@
// Copy constructor, destructor and assignment operator
//-----------------------------------------------------
- IMF_EXPORT
PreviewImage (const PreviewImage &other);
- IMF_EXPORT
~PreviewImage ();
- IMF_EXPORT
PreviewImage & operator = (const PreviewImage &other);
diff -Naur a/OpenEXR/IlmImf/ImfStdIO.h b/OpenEXR/IlmImf/ImfStdIO.h
--- a/OpenEXR/IlmImf/ImfStdIO.h 2018-11-04 22:26:43.723504100 +0300
+++ b/OpenEXR/IlmImf/ImfStdIO.h 2018-11-04 22:43:25.795600100 +0300
@@ -58,7 +58,7 @@
// class OPENEXR_IMF_INTERNAL_NAMESPACE::IStream based on class std::ifstream
//-------------------------------------------
-class StdIFStream: public OPENEXR_IMF_INTERNAL_NAMESPACE::IStream
+class IMF_EXPORT StdIFStream: public OPENEXR_IMF_INTERNAL_NAMESPACE::IStream
{
public:
@@ -67,7 +67,6 @@
// The destructor will close the file.
//-------------------------------------------------------
- IMF_EXPORT
StdIFStream (const char fileName[]);
@@ -77,20 +76,14 @@
// will not close the std::ifstream.
//---------------------------------------------------------
- IMF_EXPORT
StdIFStream (std::ifstream &is, const char fileName[]);
- IMF_EXPORT
virtual ~StdIFStream ();
- IMF_EXPORT
virtual bool read (char c[/*n*/], int n);
- IMF_EXPORT
virtual Int64 tellg ();
- IMF_EXPORT
virtual void seekg (Int64 pos);
- IMF_EXPORT
virtual void clear ();
private:
@@ -105,26 +98,19 @@
// OPENEXR_IMF_INTERNAL_NAMESPACE::IStream, based on class std::istringstream
//------------------------------------------------
-class StdISStream: public OPENEXR_IMF_INTERNAL_NAMESPACE::IStream
+class IMF_EXPORT StdISStream: public OPENEXR_IMF_INTERNAL_NAMESPACE::IStream
{
public:
- IMF_EXPORT
StdISStream ();
- IMF_EXPORT
virtual bool read (char c[/*n*/], int n);
- IMF_EXPORT
virtual Int64 tellg ();
- IMF_EXPORT
virtual void seekg (Int64 pos);
- IMF_EXPORT
virtual void clear ();
- IMF_EXPORT
std::string str () const;
- IMF_EXPORT
void str (const std::string &s);
private:
@@ -139,7 +125,7 @@
// class OPENEXR_IMF_INTERNAL_NAMESPACE::OStream based on class std::ofstream
//-------------------------------------------
-class StdOFStream: public OPENEXR_IMF_INTERNAL_NAMESPACE::OStream
+class IMF_EXPORT StdOFStream: public OPENEXR_IMF_INTERNAL_NAMESPACE::OStream
{
public:
@@ -148,7 +134,6 @@
// The destructor will close the file.
//-------------------------------------------------------
- IMF_EXPORT
StdOFStream (const char fileName[]);
@@ -158,18 +143,13 @@
// will not close the std::ofstream.
//---------------------------------------------------------
- IMF_EXPORT
StdOFStream (std::ofstream &os, const char fileName[]);
- IMF_EXPORT
virtual ~StdOFStream ();
- IMF_EXPORT
virtual void write (const char c[/*n*/], int n);
- IMF_EXPORT
virtual Int64 tellp ();
- IMF_EXPORT
virtual void seekp (Int64 pos);
private:
@@ -184,21 +164,16 @@
// OPENEXR_IMF_INTERNAL_NAMESPACE::OStream, based on class std::ostringstream
//------------------------------------------------
-class StdOSStream: public OPENEXR_IMF_INTERNAL_NAMESPACE::OStream
+class IMF_EXPORT StdOSStream: public OPENEXR_IMF_INTERNAL_NAMESPACE::OStream
{
public:
- IMF_EXPORT
StdOSStream ();
- IMF_EXPORT
virtual void write (const char c[/*n*/], int n);
- IMF_EXPORT
virtual Int64 tellp ();
- IMF_EXPORT
virtual void seekp (Int64 pos);
- IMF_EXPORT
std::string str () const;
private:

View File

@@ -1,11 +0,0 @@
--- openexr-2.4.0/PyIlmBase/CMakeLists.txt.orig 2019-09-18 03:02:06.000000000 +0200
+++ openexr-2.4.0/PyIlmBase/CMakeLists.txt 2019-12-08 14:03:14.054387900 +0100
@@ -38,7 +38,7 @@
endif()
# now determine which (or both), and compile for both
-find_package(Python2 COMPONENTS Interpreter Development)
+#find_package(Python2 COMPONENTS Interpreter Development)
find_package(Python3 COMPONENTS Interpreter Development)
if(TARGET Python2::Python AND TARGET Python3::Python)
message(NOTICE ": Found Python ${Python2_VERSION} and ${Python3_VERSION}")

View File

@@ -2,39 +2,28 @@
_realname=openexr
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-ilmbase"
"${MINGW_PACKAGE_PREFIX}-${_realname}"
"${MINGW_PACKAGE_PREFIX}-pyilmbase")
pkgver=2.5.8
pkgrel=3
pkgdesc="OpenEXR library for EXR images (mingw-w64)"
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=3.1.5
pkgrel=1
pkgdesc='A high dynamic-range image file format library (mingw-w64)'
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64')
url="https://www.openexr.com/"
license=('spdx:BSD-3-Clause')
license=('BSD')
depends=("${MINGW_PACKAGE_PREFIX}-imath"
"${MINGW_PACKAGE_PREFIX}-libwinpthread-git"
"${MINGW_PACKAGE_PREFIX}-zlib")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-boost"
"${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-pkgconf"
"${MINGW_PACKAGE_PREFIX}-python"
"${MINGW_PACKAGE_PREFIX}-python-numpy")
source=(${_realname}-${pkgver}.tar.gz::https://github.com/openexr/openexr/archive/v${pkgver}.tar.gz
"${MINGW_PACKAGE_PREFIX}-ninja")
source=("https://github.com/openexr/openexr/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz"
0001-mingw-w64-fix.patch
0002-openexr-2.1.0-headers.patch
0005-fix-dirs-in-pkgconfig.patch
0006-cmake-soversion.patch
0009-win-dwalookups.patch
0012-exports.patch
0013-no-py2.patch)
sha256sums=('db261a7fcc046ec6634e4c5696a2fc2ce8b55f50aac6abe034308f54c8495f55'
'68bedb3a4acc6f62b1486c7c47c9025f5ce4131468e17445f0c716545ddd00c1'
'460dcfd86b407241382ed4ba5a003ae251c9fdce68e7cfdea021b09898ad2705'
'fba4e95d6921bcd253c8c644063b4c1334c84761a2a2232590d442ca81f8d7cd'
'313b0c98abdd792b8213ec9685a5a7b095ec69faa528f6fd0946f23576b6ef07'
'2ca841425ae676f75fa714a16f0124272224147fe40ea507ccc4bf74477f51ab'
'da9e92f066e9b45583f2b12678a9f49fcbb7fa1f06805d9b472d39fa5f18a629'
'47e4e068439a1adaca41d7d7f966f65f1ae68b4dee1d1dd7c5778256edc3b3e8')
0009-win-dwalookups.patch)
sha256sums=('93925805c1fc4f8162b35f0ae109c4a75344e6decae5a240afdfce25f8a433ec'
'b5ce04296e9711cace5c6a73ca13fc649b2fccde744023a6d2ff93dab23f7ba0'
'e65852ac2e5545472ad90830c97e964aa2c71e1795979a8b9867155d578d45ed'
'd7af93d993c5b09ff6be1f5198ab1239a95c550518ecc8de106f82c3d4185fbf')
# Helper macros to help make tasks easier #
apply_patch_with_msg() {
@@ -48,17 +37,10 @@ apply_patch_with_msg() {
prepare(){
cd "${srcdir}/${_realname}-${pkgver}"
sed -i 's/#define ZLIB_WINAPI/\/\/#define ZLIB_WINAPI/g' OpenEXR/IlmImf/ImfZipCompressor.cpp
sed -i 's/#define ZLIB_WINAPI/\/\/#define ZLIB_WINAPI/g' OpenEXR/IlmImf/ImfPxr24Compressor.cpp
apply_patch_with_msg \
0001-mingw-w64-fix.patch \
0002-openexr-2.1.0-headers.patch \
0006-cmake-soversion.patch \
0009-win-dwalookups.patch \
0012-exports.patch\
0013-no-py2.patch
# 0005-fix-dirs-in-pkgconfig.patch
0009-win-dwalookups.patch
}
build() {
@@ -72,70 +54,30 @@ build() {
extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi
CXXFLAGS+=" -Wno-ignored-attributes"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake \
-GNinja \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
${extra_config[@]} \
-DBUILD_SHARED_LIBS=ON \
-DPython_EXECUTABLE=${MINGW_PREFIX}/bin/python.exe \
-DPython_ROOT_DIR=${MINGW_PREFIX} \
-DPython_FIND_REGISTRY=NEVER \
-DPython3_EXECUTABLE=${MINGW_PREFIX}/bin/python.exe \
-DPython3_ROOT_DIR=${MINGW_PREFIX} \
-DPython3_FIND_REGISTRY=NEVER \
-DBUILD_TESTING=OFF \
-DOPENEXR_INSTALL_EXAMPLES=OFF \
-DOPENEXR_INSTALL_PKG_CONFIG=ON \
../${_realname}-${pkgver}
${MINGW_PREFIX}/bin/cmake --build .
}
package_ilmbase() {
pkgdesc="Base libraries from ILM for OpenEXR (mingw-w64)"
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-libwinpthread-git")
cd "${srcdir}/build-${MSYSTEM}/IlmBase"
DESTDIR=${pkgdir} ${MINGW_PREFIX}/bin/cmake --install .
check() {
cd "${srcdir}/build-${MSYSTEM}"
${MINGW_PREFIX}/bin/ctest.exe ./ || true
}
package_openexr() {
pkgdesc="An high dynamic-range image file format library (mingw-w64)"
depends=("${MINGW_PACKAGE_PREFIX}-ilmbase=${pkgver}"
"${MINGW_PACKAGE_PREFIX}-zlib")
package() {
cd "${srcdir}/build-${MSYSTEM}"
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install ./
cd "${srcdir}/build-${MSYSTEM}/OpenEXR"
DESTDIR=${pkgdir} ${MINGW_PREFIX}/bin/cmake --install .
install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE.md" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE.md"
}
package_pyilmbase() {
pkgdesc="Python bindings for OpenEXR library (mingw-w64)"
depends=("${MINGW_PACKAGE_PREFIX}-openexr=${pkgver}"
"${MINGW_PACKAGE_PREFIX}-boost"
"${MINGW_PACKAGE_PREFIX}-python-numpy")
cd "${srcdir}/build-${MSYSTEM}/PyIlmBase"
DESTDIR=${pkgdir} ${MINGW_PREFIX}/bin/cmake --install .
local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX})
for _f in "${pkgdir}${MINGW_PREFIX}"/lib/cmake/PyIlmBase/*.cmake; do
sed -e "s|${PREFIX_WIN}|\$\{_IMPORT_PREFIX\}|g" -i ${_f}
sed -e "s|${MINGW_PREFIX}|\$\{_IMPORT_PREFIX\}|g" -i ${_f}
done
# Install python modules
local _py3ver=$(${MINGW_PREFIX}/bin/python -c "import sys;sys.stdout.write('.'.join(map(str, sys.version_info[:2])))")
mkdir -p ${pkgdir}${MINGW_PREFIX}/lib/python${_py3ver}/site-packages
cp ${srcdir}/build-${MSYSTEM}/python${_py3ver//./_}/*.pyd ${pkgdir}${MINGW_PREFIX}/lib/python${_py3ver}/site-packages/
}
# template start; name=mingw-w64-splitpkg-wrappers; version=1.0;
# vim: set ft=bash :
# generate wrappers
for _name in "${pkgname[@]}"; do
_short="package_${_name#${MINGW_PACKAGE_PREFIX}-}"
_func="$(declare -f "${_short}")"
eval "${_func/#${_short}/package_${_name}}"
done
# template end;