mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-20 00:21:35 +00:00
graphics/ilmbase, graphics/openexr: upgrade to upstream v2.4.0
graphics/gstreamer1-plugins-openexr: switch from C++98 to C++11 to match new OpenEXR headers and unbreak compilation. Bump PORTREVISION of all ports depending directly on either, based on assessing INDEX-12 (bump_portrevision.pl -l (shallow) used). Release Notes: https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.4.0 The update was deliberately deferred until after 2020Q1, and should not be MFH'd back to it.
This commit is contained in:
parent
c11266721a
commit
2e26d3323d
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=522079
@ -2,6 +2,7 @@
|
||||
|
||||
PORTNAME= kio-extras
|
||||
DISTVERSION= ${KDE_APPLICATIONS_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= devel kde kde-applications # kde kde-applications-plasma
|
||||
|
||||
MAINTAINER= kde@FreeBSD.org
|
||||
|
@ -4,7 +4,7 @@
|
||||
PORTNAME= synfig
|
||||
PORTVERSION= 1.2.2
|
||||
DISTVERSIONPREFIX=v
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= devel graphics multimedia
|
||||
|
||||
MAINTAINER= woodsb02@FreeBSD.org
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
PORTNAME= calligra
|
||||
DISTVERSION= 3.1.0
|
||||
PORTREVISION= 29
|
||||
PORTREVISION= 30
|
||||
CATEGORIES= editors kde
|
||||
MASTER_SITES= KDE/stable/${PORTNAME}/${PORTVERSION}
|
||||
DIST_SUBDIR= KDE/${PORTNAME}
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= pink-pony
|
||||
PORTVERSION= 1.4.1
|
||||
PORTREVISION= 17
|
||||
PORTREVISION= 18
|
||||
CATEGORIES= games
|
||||
|
||||
MAINTAINER= amdmi3@FreeBSD.org
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= alembic
|
||||
PORTVERSION= 1.7.11
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= graphics
|
||||
|
||||
MAINTAINER= danfe@FreeBSD.org
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= ampasCTL
|
||||
PORTVERSION= 1.5.2
|
||||
PORTREVISION= 3
|
||||
PORTREVISION= 4
|
||||
CATEGORIES= graphics devel
|
||||
|
||||
MAINTAINER= ports@FreeBSD.org
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= blender
|
||||
DISTVERSION= 2.80
|
||||
PORTREVISION= 6
|
||||
PORTREVISION= 7
|
||||
CATEGORIES= graphics multimedia
|
||||
MASTER_SITES= http://download.blender.org/source/ \
|
||||
http://mirror.cs.umn.edu/blender.org/source/ \
|
||||
|
@ -4,6 +4,7 @@
|
||||
PORTNAME= cimg
|
||||
DISTVERSIONPREFIX= v.
|
||||
DISTVERSION= 2.8.1
|
||||
PORTREVISION= 1
|
||||
PORTEPOCH= 3
|
||||
CATEGORIES= graphics devel
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= darktable
|
||||
PORTVERSION= 2.6.2
|
||||
PORTREVISION= 3
|
||||
PORTREVISION= 4
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= https://github.com/darktable-org/${PORTNAME}/releases/download/release-${PORTVERSION:C/\.rc/rc/}/
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= enblend
|
||||
PORTVERSION= 4.2
|
||||
PORTREVISION= 5
|
||||
PORTREVISION= 6
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= SF/enblend/enblend-enfuse/enblend-enfuse-${PORTVERSION}
|
||||
DISTNAME= enblend-enfuse-${PORTVERSION}
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= exact-image
|
||||
PORTVERSION= 1.0.2
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= graphics perl5 python
|
||||
MASTER_SITES= https://dl.exactcode.de/oss/exact-image/
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= exrtools
|
||||
PORTVERSION= 0.4
|
||||
PORTREVISION= 16
|
||||
PORTREVISION= 17
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= http://scanline.ca/exrtools/ \
|
||||
LOCAL/ehaupt
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= fyre
|
||||
PORTVERSION= 1.0.1
|
||||
PORTREVISION= 11
|
||||
PORTREVISION= 12
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= http://releases.navi.cx/fyre/
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
|
||||
PORTNAME= gegl
|
||||
PORTVERSION= 0.4.18
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= GIMP
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
PORTNAME= gmic
|
||||
PORTVERSION= 1.6.9
|
||||
PORTREVISION= 21
|
||||
PORTREVISION= 22
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= http://gmic.eu/files/source/
|
||||
PKGNAMEPREFIX= gimp-
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
PORTNAME= gmic
|
||||
DISTVERSION= 2.8.1
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= https://gmic.eu/files/source/
|
||||
DISTNAME= ${PORTNAME}_${DISTVERSION}
|
||||
|
@ -1,6 +1,6 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= graphics
|
||||
|
||||
COMMENT= GStreamer OpenExr codec plugin
|
||||
@ -8,6 +8,9 @@ COMMENT= GStreamer OpenExr codec plugin
|
||||
GST_PLUGIN= openexr
|
||||
DIST= bad
|
||||
|
||||
pre-configure:
|
||||
${REINPLACE_CMD} -e 's/c++98/c++11/' ${WRKSRC}/ext/openexr/Makefile.in
|
||||
|
||||
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= hdr_tools
|
||||
PORTVERSION= 0.0.2010.11.23 # unspecified by the author, so use the date
|
||||
PORTREVISION= 6
|
||||
PORTREVISION= 7
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= http://ttic.uchicago.edu/~cotter/projects/hdr_tools/archives/ \
|
||||
http://freebsd.nsu.ru/distfiles/
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= hugin
|
||||
PORTVERSION= 2019.0.0
|
||||
PORTREVISION= 4
|
||||
PORTREVISION= 5
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION:R}
|
||||
|
||||
|
@ -2,10 +2,8 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= ilmbase
|
||||
PORTVERSION= 2.3.0
|
||||
PORTREVISION= 4
|
||||
PORTVERSION= 2.4.0
|
||||
CATEGORIES= graphics devel
|
||||
MASTER_SITES= https://github.com/openexr/openexr/releases/download/v${PORTVERSION}/
|
||||
|
||||
MAINTAINER= mandree@FreeBSD.org
|
||||
COMMENT= ILM Base libraries a.k.a. Half, IlmThread, Imath, and Iex
|
||||
@ -17,29 +15,30 @@ LICENSE= BSD3CLAUSE
|
||||
# path we will pass down through CONFIGURE_SHELL below.
|
||||
BUILD_DEPENDS= ${BASH_CMD}:shells/bash
|
||||
|
||||
USES= compiler:c++14-lang pkgconfig libtool
|
||||
USES= cmake compiler:c++14-lang pkgconfig libtool
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
# The configure script uses bash arrays
|
||||
CONFIGURE_SHELL=${BASH_CMD}
|
||||
CONFIGURE_ARGS= --disable-static
|
||||
USE_GITHUB= yes
|
||||
GH_TUPLE= AcademySoftwareFoundation:openexr:v2.4.0
|
||||
WRKSRC_SUBDIR= IlmBase
|
||||
|
||||
# libtool links C++ libraries with -nostdlib, which prevents -pthread from
|
||||
# having an effect (at least with clang). Make sure we also pass -lpthread so
|
||||
# we do link against libthr.so.
|
||||
CONFIGURE_ENV+= PTHREAD_LIBS="-pthread -lpthread"
|
||||
TEST_TARGET= check
|
||||
|
||||
PORTDOCS= AUTHORS ChangeLog README.md
|
||||
PORTDOCS= README.md
|
||||
OPTIONS_DEFINE= DOCS LARGE_STACK
|
||||
LARGE_STACK_DESC= Enable sys-dependent large stack optimizations
|
||||
LARGE_STACK_CONFIGURE_ENABLE= large-stack
|
||||
|
||||
CMAKE_ARGS+= -DCMAKE_INSTALL_PREFIX=${PREFIX} --target install
|
||||
|
||||
BASH_CMD= ${LOCALBASE}/bin/bash
|
||||
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
MAJORVER= 2_3
|
||||
MAJORVER= 2_4
|
||||
VER= 24
|
||||
|
||||
PLIST_SUB= MAJORVER=${MAJORVER}
|
||||
@ -47,22 +46,19 @@ PLIST_SUB+= VER=${VER}
|
||||
|
||||
HALF_BIN= eLut toFloat
|
||||
|
||||
regression-test regression check:: test
|
||||
|
||||
post-configure:
|
||||
${REINPLACE_CMD} -e 's/#define HAVE_UCONTEXT_H 1/#undef HAVE_UCONTEXT_H/' ${WRKSRC}/config/IlmBaseConfig.h
|
||||
regression-test regression check::
|
||||
cd ${BUILD_WRKSRC} && ctest
|
||||
|
||||
post-install:
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libHalf.so.${VER}
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libHalf-${MAJORVER}.so
|
||||
${RM} ${STAGEDIR}${PREFIX}/lib/*.la
|
||||
.for l in libIex libIexMath libImath libIlmThread
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${l}-${MAJORVER}.so.${VER}
|
||||
@#${LN} -s ${l}-${MAJORVER}.so.${VER} ${STAGEDIR}${PREFIX}/lib/${l}.so || :
|
||||
${LN} -s ${l}.so ${STAGEDIR}${PREFIX}/lib/${l}-${MAJORVER}.so
|
||||
.for l in libHalf libIex libIexMath libImath libIlmThread
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${l}-${MAJORVER}.so
|
||||
${LN} -s ${l}-${MAJORVER}.so.${VER} ${STAGEDIR}${PREFIX}/lib/${l}.so || :
|
||||
.endfor
|
||||
|
||||
.for e in ${HALF_BIN}
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/Half/${e} ${STAGEDIR}${PREFIX}/bin/${e}
|
||||
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/Half/${e} ${STAGEDIR}${PREFIX}/bin/${e}
|
||||
.endfor
|
||||
|
||||
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1536500142
|
||||
SHA256 (ilmbase-2.3.0.tar.gz) = 456978d1a978a5f823c7c675f3f36b0ae14dba36638aeaa3c4b0e784f12a3862
|
||||
SIZE (ilmbase-2.3.0.tar.gz) = 595490
|
||||
TIMESTAMP = 1577542212
|
||||
SHA256 (AcademySoftwareFoundation-openexr-2.4.0-v2.4.0_GH0.tar.gz) = 4904c5ea7914a58f60a5e2fbc397be67e7a25c380d7d07c1c31a3eefff1c92f1
|
||||
SIZE (AcademySoftwareFoundation-openexr-2.4.0-v2.4.0_GH0.tar.gz) = 26806627
|
||||
|
24
graphics/ilmbase/files/patch-CMakeLists.txt
Normal file
24
graphics/ilmbase/files/patch-CMakeLists.txt
Normal file
@ -0,0 +1,24 @@
|
||||
From fe2fccde18bc35db11895718d0b77d3f23d427b5 Mon Sep 17 00:00:00 2001
|
||||
From: Kimball Thurston <kdt3rd@gmail.com>
|
||||
Date: Tue, 5 Nov 2019 21:42:45 +1300
|
||||
Subject: [PATCH] Fix #595 and others, issue with pkgconfig generation under
|
||||
cmake
|
||||
|
||||
autoconf seems to automatically insert the ${prefix} variable reference
|
||||
when emitting the pkg-config file. Make cmake rules conform to that
|
||||
pattern.
|
||||
--- config/CMakeLists.txt.orig 2019-09-18 01:02:06 UTC
|
||||
+++ config/CMakeLists.txt
|
||||
@@ -71,9 +71,9 @@ if(ILMBASE_INSTALL_PKG_CONFIG)
|
||||
# use a helper function to avoid variable pollution, but pretty simple
|
||||
function(ilmbase_pkg_config_help pcinfile)
|
||||
set(prefix ${CMAKE_INSTALL_PREFIX})
|
||||
- set(exec_prefix ${CMAKE_INSTALL_BINDIR})
|
||||
- set(libdir ${CMAKE_INSTALL_LIBDIR})
|
||||
- set(includedir ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
+ set(exec_prefix "\${prefix}")
|
||||
+ set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}")
|
||||
+ set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
set(LIB_SUFFIX_DASH ${ILMBASE_LIB_SUFFIX})
|
||||
if(TARGET Threads::Threads)
|
||||
# hrm, can't use properties as they end up as generator expressions
|
@ -1,30 +0,0 @@
|
||||
From adbc1900cb9d25fcc4df008d4008b781cf2fa4f8 Mon Sep 17 00:00:00 2001
|
||||
From: Kimball Thurston <kdt3rd@gmail.com>
|
||||
Date: Thu, 27 Jun 2019 22:15:17 +1200
|
||||
Subject: [PATCH] Fix #350 - memory leak on exit
|
||||
|
||||
This fixes CVE-2018-18443, the last thread pool provider set into the
|
||||
pool was not being correctly cleaned up at shutdown of the thread pool.
|
||||
|
||||
Signed-off-by: Kimball Thurston <kdt3rd@gmail.com>
|
||||
---
|
||||
CHANGES.md | 4 ++++ -- OMITTED/Matthias Andree
|
||||
IlmBase/IlmThread/IlmThreadPool.cpp | 2 ++
|
||||
2 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/IlmBase/IlmThread/IlmThreadPool.cpp b/IlmBase/IlmThread/IlmThreadPool.cpp
|
||||
index 174ab98c..24ca7395 100644
|
||||
--- ./IlmThread/IlmThreadPool.cpp~
|
||||
+++ ./IlmThread/IlmThreadPool.cpp
|
||||
@@ -566,9 +566,11 @@ ThreadPool::Data::~Data()
|
||||
{
|
||||
#ifdef ILMBASE_FORCE_CXX03
|
||||
provider->finish();
|
||||
+ delete provider;
|
||||
#else
|
||||
ThreadPoolProvider *p = provider.load( std::memory_order_relaxed );
|
||||
p->finish();
|
||||
+ delete p;
|
||||
#endif
|
||||
}
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- ImathTest/testBoxAlgo.cpp.orig 2017-11-17 23:00:23 UTC
|
||||
+++ ImathTest/testBoxAlgo.cpp
|
||||
@@ -356,7 +356,7 @@ entryAndExitPoints1 ()
|
||||
Box3f ()
|
||||
};
|
||||
|
||||
- for (int i = 0; i < sizeof (boxes) / sizeof (boxes[0]); ++i)
|
||||
+ for (unsigned int i = 0; i < sizeof (boxes) / sizeof (boxes[0]); ++i)
|
||||
testEntryAndExitPoints (boxes[i]);
|
||||
}
|
||||
|
@ -1,10 +0,0 @@
|
||||
--- ImathTest/testShear.cpp.orig 2017-11-17 23:00:23 UTC
|
||||
+++ ImathTest/testShear.cpp
|
||||
@@ -54,7 +54,6 @@ testShear ()
|
||||
|
||||
const float epsilon = IMATH_INTERNAL_NAMESPACE::limits< float >::epsilon();
|
||||
|
||||
- float array[6] = { 1.0F, 2.0F, 3.0F, 4.0F, 5.0F, 6.0F };
|
||||
IMATH_INTERNAL_NAMESPACE::Shear6f testConstructor1;
|
||||
IMATH_INTERNAL_NAMESPACE::Shear6f testConstructor2( testConstructor1 );
|
||||
|
@ -1,44 +0,0 @@
|
||||
--- Imath/ImathFun.cpp.orig 2017-11-17 23:00:23 UTC
|
||||
+++ Imath/ImathFun.cpp
|
||||
@@ -33,6 +33,7 @@
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
+#include <inttypes.h>
|
||||
#include "ImathFun.h"
|
||||
|
||||
IMATH_INTERNAL_NAMESPACE_SOURCE_ENTER
|
||||
@@ -41,14 +42,14 @@ IMATH_INTERNAL_NAMESPACE_SOURCE_ENTER
|
||||
float
|
||||
succf (float f)
|
||||
{
|
||||
- union {float f; int i;} u;
|
||||
+ union {float f; int32_t i;} u;
|
||||
u.f = f;
|
||||
|
||||
if ((u.i & 0x7f800000) == 0x7f800000)
|
||||
{
|
||||
// Nan or infinity; don't change value.
|
||||
}
|
||||
- else if (u.i == 0x00000000 || u.i == 0x80000000)
|
||||
+ else if (u.i == (int32_t)0x00000000 || u.i == (int32_t)0x80000000)
|
||||
{
|
||||
// Plus or minus zero.
|
||||
|
||||
@@ -76,14 +77,14 @@ succf (float f)
|
||||
float
|
||||
predf (float f)
|
||||
{
|
||||
- union {float f; int i;} u;
|
||||
+ union {float f; int32_t i;} u;
|
||||
u.f = f;
|
||||
|
||||
if ((u.i & 0x7f800000) == 0x7f800000)
|
||||
{
|
||||
// Nan or infinity; don't change value.
|
||||
}
|
||||
- else if (u.i == 0x00000000 || u.i == 0x80000000)
|
||||
+ else if (u.i == (int32_t)0x00000000 || u.i == (int32_t)0x80000000)
|
||||
{
|
||||
// Plus or minus zero.
|
||||
|
@ -57,9 +57,13 @@ include/OpenEXR/half.h
|
||||
include/OpenEXR/halfExport.h
|
||||
include/OpenEXR/halfFunction.h
|
||||
include/OpenEXR/halfLimits.h
|
||||
lib/cmake/IlmBase/IlmBaseConfig-%%CMAKE_BUILD_TYPE%%.cmake
|
||||
lib/cmake/IlmBase/IlmBaseConfig.cmake
|
||||
lib/cmake/IlmBase/IlmBaseConfigVersion.cmake
|
||||
lib/libHalf-%%MAJORVER%%.so
|
||||
lib/libHalf-%%MAJORVER%%.so.%%VER%%
|
||||
lib/libHalf-%%MAJORVER%%.so.%%VER%%.0.0
|
||||
lib/libHalf.so
|
||||
lib/libHalf.so.%%VER%%
|
||||
lib/libHalf.so.%%VER%%.0.0
|
||||
lib/libIex-%%MAJORVER%%.so
|
||||
lib/libIex-%%MAJORVER%%.so.%%VER%%
|
||||
lib/libIex-%%MAJORVER%%.so.%%VER%%.0.0
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
PORTNAME= kimageformats
|
||||
DISTVERSION= ${KDE_FRAMEWORKS_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= graphics kde kde-frameworks
|
||||
|
||||
MAINTAINER= kde@FreeBSD.org
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
PORTNAME= krita
|
||||
DISTVERSION= 4.2.8.2
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= graphics kde
|
||||
MASTER_SITES= KDE/stable/${PORTNAME}/${DISTVERSION:R}
|
||||
DIST_SUBDIR= KDE/${PORTNAME}
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= luminance-hdr
|
||||
DISTVERSION= 2.5.1
|
||||
PORTREVISION= 5
|
||||
PORTREVISION= 6
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= SF/qtpfsgui/luminance/${DISTVERSION}
|
||||
PKGNAMESUFFIX= -qt5
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= nvidia-texture-tools
|
||||
PORTVERSION= 2.0.8.1 # needed to not bump PORTEPOCH; remove on next update
|
||||
PORTREVISION= 13
|
||||
PORTREVISION= 14
|
||||
CATEGORIES= graphics
|
||||
|
||||
MAINTAINER= amdmi3@FreeBSD.org
|
||||
|
@ -2,13 +2,10 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= openexr
|
||||
PORTVERSION= 2.3.0
|
||||
PORTREVISION= 3
|
||||
PORTVERSION= 2.4.0
|
||||
CATEGORIES= graphics devel
|
||||
MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/v${PORTVERSION}/:dist \
|
||||
LOCAL/mandree/:test
|
||||
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:dist \
|
||||
${PORTNAME}-2.2.0-comp_dwa-test-images.tar.xz:test
|
||||
MASTER_SITES= LOCAL/mandree/:test
|
||||
DISTFILES= ${PORTNAME}-2.2.0-comp_dwa-test-images.tar.xz:test
|
||||
|
||||
MAINTAINER= mandree@FreeBSD.org
|
||||
COMMENT= High dynamic-range (HDR) image file format
|
||||
@ -16,16 +13,15 @@ COMMENT= High dynamic-range (HDR) image file format
|
||||
LICENSE= BSD3CLAUSE
|
||||
|
||||
# exact version required to avoid hard-to-debug issues
|
||||
LIB_DEPENDS= libImath-2_3.so.24:graphics/ilmbase
|
||||
LIB_DEPENDS= libImath-2_4.so.24:graphics/ilmbase
|
||||
|
||||
WRKSRC= ${WRKDIR}/${DISTNAME}
|
||||
|
||||
USES= compiler:c++14-lang gmake libtool pathfix pkgconfig
|
||||
GNU_CONFIGURE= yes
|
||||
CONFIGURE_ARGS= --disable-ilmbasetest --enable-imfexamples
|
||||
USES= cmake compiler:c++14-lang libtool pathfix pkgconfig
|
||||
USE_LDCONFIG= yes
|
||||
TEST_TARGET= check
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_TUPLE= AcademySoftwareFoundation:openexr:v2.4.0
|
||||
|
||||
CPPFLAGS+= -I. -I../IlmImf
|
||||
# must be linked with -l{thr|pthread} explicitly
|
||||
LDFLAGS+= -lpthread
|
||||
@ -33,15 +29,18 @@ LDFLAGS+= -lpthread
|
||||
PORTDOCS= *
|
||||
PORTEXAMPLES= *
|
||||
|
||||
DOCSRCDIR1= ${WRKSRC}
|
||||
DOC_FILES1= AUTHORS ChangeLog NEWS README.md
|
||||
DOCSRCDIR1= ${WRKSRC}/..
|
||||
DOC_FILES1= CHANGES.md CONTRIBUTING.md GOVERNANCE.md LICENSE.md SECURITY.md \
|
||||
CODE_OF_CONDUCT.md CONTRIBUTORS.md README.md
|
||||
|
||||
DOCSRCDIR2= ${WRKSRC}/doc
|
||||
DOC_FILES2= *.pdf
|
||||
DOC_FILES2= *.odt *.pdf
|
||||
|
||||
OPTIONS_DEFINE= DOCS EXAMPLES LARGE_STACK
|
||||
LARGE_STACK_DESC= Enable sys-dependent large stack optimizations
|
||||
|
||||
WRKSRC_SUBDIR= OpenEXR
|
||||
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
LARGE_STACK_CONFIGURE_ENABLE= large-stack
|
||||
@ -52,23 +51,14 @@ LARGE_STACK_CONFIGURE_ENABLE= large-stack
|
||||
USE_GCC= yes
|
||||
.endif
|
||||
|
||||
MAJORVER= 2_3
|
||||
MAJORVER= 2_4
|
||||
VER= 24
|
||||
|
||||
PLIST_SUB+= MAJORVER=${MAJORVER}
|
||||
PLIST_SUB+= VER=${VER}
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|== x|= x|g' ${WRKSRC}/configure
|
||||
@${REINPLACE_CMD} \
|
||||
-e 's|$$(datadir)/doc/OpenEXR-@OPENEXR_VERSION@/examples|$$(prefix)/share/examples/${PORTNAME}|' \
|
||||
${WRKSRC}/IlmImfExamples/Makefile.in
|
||||
@${REINPLACE_CMD} -e 's|$$(datadir)/doc/OpenEXR-@OPENEXR_VERSION@||' \
|
||||
-e 's|$$(EXTRA_DIST)||' \
|
||||
${WRKSRC}/doc/Makefile.am ${WRKSRC}/doc/Makefile.in
|
||||
|
||||
# too many reports about compilation failures, so sanity check C++
|
||||
# library
|
||||
# too many reports about compilation failures, so
|
||||
# sanity check we are using the same C++ standard library
|
||||
_ilm_libcxx=${COMPILER_FEATURES:Mlib*c++}
|
||||
pre-configure:
|
||||
@${READELF} -d ${LOCALBASE}/lib/libImath.so \
|
||||
@ -82,20 +72,28 @@ post-install:
|
||||
${STRIP_CMD} \
|
||||
${STAGEDIR}${PREFIX}/lib/libIlmImf-${MAJORVER}.so.${VER} \
|
||||
${STAGEDIR}${PREFIX}/lib/libIlmImfUtil-${MAJORVER}.so.${VER}
|
||||
.for i in libIlmImf libIlmImfUtil
|
||||
${LN} -s ${i}-${MAJORVER}.so.${VER} ${STAGEDIR}${PREFIX}/lib/${i}.so
|
||||
.endfor
|
||||
|
||||
post-install-EXAMPLES-on:
|
||||
${MV} \
|
||||
${STAGEDIR}${PREFIX}/share/doc/${PORTNAME}/examples/ ${STAGEDIR}${EXAMPLESDIR}
|
||||
@${RMDIR} ${STAGEDIR}${PREFIX}/share/doc/${PORTNAME} 2>/dev/null || :
|
||||
${STAGEDIR}${PREFIX}/share/doc/OpenEXR/examples/ ${STAGEDIR}${EXAMPLESDIR}
|
||||
@${RMDIR} ${STAGEDIR}${PREFIX}/share/doc/OpenEXR 2>/dev/null || :
|
||||
|
||||
post-install-EXAMPLES-off:
|
||||
${RM} -R ${STAGEDIR}${PREFIX}/share/doc/${PORTNAME}/examples/
|
||||
${RM} -R ${STAGEDIR}${PREFIX}/share/doc/OpenEXR/examples/
|
||||
|
||||
post-install-DOCS-on:
|
||||
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||
${INSTALL_DATA} ${DOC_FILES1:S|^|${DOCSRCDIR1}/|} ${STAGEDIR}${DOCSDIR}
|
||||
${INSTALL_DATA} ${DOC_FILES2:S|^|${DOCSRCDIR2}/|} ${STAGEDIR}${DOCSDIR}
|
||||
${MV} ${STAGEDIR}${DOCSDIR}/../OpenEXR/[a-df-zA-Z]* ${STAGEDIR}${DOCSDIR}
|
||||
|
||||
post-install-DOCS-off:
|
||||
@${RMDIR} ${STAGEDIR}${PREFIX}/share/doc/${PORTNAME} 2>/dev/null || :
|
||||
|
||||
regression-test check:
|
||||
cd ${BUILD_WRKSRC} && ctest -j ${MAKE_JOBS_NUMBER}
|
||||
|
||||
.include <bsd.port.post.mk>
|
||||
|
@ -1,5 +1,5 @@
|
||||
TIMESTAMP = 1536500711
|
||||
SHA256 (openexr-2.3.0.tar.gz) = fd6cb3a87f8c1a233be17b94c74799e6241d50fc5efd4df75c7a4b9cf4e25ea6
|
||||
SIZE (openexr-2.3.0.tar.gz) = 18412067
|
||||
TIMESTAMP = 1577537381
|
||||
SHA256 (openexr-2.2.0-comp_dwa-test-images.tar.xz) = bbb8ff547e9b68f0dfb1e8804a7ad984978c2b15897988399cc68176e99dd63a
|
||||
SIZE (openexr-2.2.0-comp_dwa-test-images.tar.xz) = 653768
|
||||
SHA256 (AcademySoftwareFoundation-openexr-2.4.0-v2.4.0_GH0.tar.gz) = 4904c5ea7914a58f60a5e2fbc397be67e7a25c380d7d07c1c31a3eefff1c92f1
|
||||
SIZE (AcademySoftwareFoundation-openexr-2.4.0-v2.4.0_GH0.tar.gz) = 26806627
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- IlmImfTest/main.cpp.orig 2018-08-10 01:34:59 UTC
|
||||
+++ IlmImfTest/main.cpp
|
||||
@@ -100,7 +100,7 @@
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
-#if defined(OPENEXR_IMF_HAVE_LINUX_PROCFS) || defined(OPENEXR_IMF_HAVE_DARWIN)
|
||||
+#if defined(OPENEXR_IMF_HAVE_LINUX_PROCFS) || defined(OPENEXR_IMF_HAVE_DARWIN) || defined(__FreeBSD__)
|
||||
#include <unistd.h>
|
||||
#include <sstream>
|
||||
#endif
|
@ -1,22 +0,0 @@
|
||||
--- IlmImfTest/testOptimizedInterleavePatterns.cpp.orig 2018-08-10 01:34:59 UTC
|
||||
+++ IlmImfTest/testOptimizedInterleavePatterns.cpp
|
||||
@@ -226,7 +226,8 @@ bool compare(const FrameBuffer& asRead,
|
||||
writtenHalf=half(i.slice().fillValue);
|
||||
}
|
||||
|
||||
- if (writtenHalf.bits()!=readHalf.bits())
|
||||
+ if (writtenHalf.bits()!=readHalf.bits() &&
|
||||
+ !(writtenHalf.isNan() && readHalf.isNan()))
|
||||
{
|
||||
if (nonfatal)
|
||||
{
|
||||
@@ -235,7 +236,8 @@ bool compare(const FrameBuffer& asRead,
|
||||
else
|
||||
{
|
||||
cout << "\n\nerror reading back channel " << i.name() << " pixel " << x << ',' << y << " got " << readHalf << " expected " << writtenHalf << endl;
|
||||
- assert(writtenHalf.bits()==readHalf.bits());
|
||||
+ assert(writtenHalf.bits()==readHalf.bits() ||
|
||||
+ (writtenHalf.isNan() && readHalf.isNan()));
|
||||
exit(1);
|
||||
}
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
--- IlmImfUtilTest/main.cpp.orig 2018-08-10 01:34:59 UTC
|
||||
+++ IlmImfUtilTest/main.cpp
|
||||
@@ -46,7 +46,7 @@
|
||||
#include <cstring>
|
||||
#include <time.h>
|
||||
|
||||
-#if defined(OPENEXR_IMF_HAVE_LINUX_PROCFS) || defined(OPENEXR_IMF_HAVE_DARWIN)
|
||||
+#if defined(OPENEXR_IMF_HAVE_LINUX_PROCFS) || defined(OPENEXR_IMF_HAVE_DARWIN) || defined(__FreeBSD__)
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
@ -1,91 +0,0 @@
|
||||
--- IlmImf/ImfFrameBuffer.cpp.orig 2018-08-10 01:34:58 UTC
|
||||
+++ IlmImf/ImfFrameBuffer.cpp
|
||||
@@ -74,6 +74,88 @@ Slice::Slice (PixelType t,
|
||||
// empty
|
||||
}
|
||||
|
||||
+Slice
|
||||
+Slice::Make (
|
||||
+ PixelType type,
|
||||
+ const void* ptr,
|
||||
+ const IMATH_NAMESPACE::V2i& origin,
|
||||
+ int64_t w,
|
||||
+ int64_t h,
|
||||
+ size_t xStride,
|
||||
+ size_t yStride,
|
||||
+ int xSampling,
|
||||
+ int ySampling,
|
||||
+ double fillValue,
|
||||
+ bool xTileCoords,
|
||||
+ bool yTileCoords)
|
||||
+{
|
||||
+ char* base = reinterpret_cast<char*> (const_cast<void *> (ptr));
|
||||
+ if (xStride == 0)
|
||||
+ {
|
||||
+ switch (type)
|
||||
+ {
|
||||
+ case UINT: xStride = sizeof (uint32_t); break;
|
||||
+ case HALF: xStride = sizeof (uint16_t); break;
|
||||
+ case FLOAT: xStride = sizeof (float); break;
|
||||
+ case NUM_PIXELTYPES:
|
||||
+ THROW (IEX_NAMESPACE::ArgExc, "Invalid pixel type.");
|
||||
+ }
|
||||
+ }
|
||||
+ if (yStride == 0)
|
||||
+ yStride = static_cast<size_t> (w / xSampling) * xStride;
|
||||
+
|
||||
+ // data window is an int, so force promote to higher type to avoid
|
||||
+ // overflow for off y (degenerate size checks should be in
|
||||
+ // ImfHeader::sanityCheck, but offset can be large-ish)
|
||||
+ int64_t offx = (static_cast<int64_t> (origin.x) /
|
||||
+ static_cast<int64_t> (xSampling));
|
||||
+ offx *= static_cast<int64_t> (xStride);
|
||||
+
|
||||
+ int64_t offy = (static_cast<int64_t> (origin.y) /
|
||||
+ static_cast<int64_t> (ySampling));
|
||||
+ offy *= static_cast<int64_t> (yStride);
|
||||
+
|
||||
+ return Slice (
|
||||
+ type,
|
||||
+ base - offx - offy,
|
||||
+ xStride,
|
||||
+ yStride,
|
||||
+ xSampling,
|
||||
+ ySampling,
|
||||
+ fillValue,
|
||||
+ xTileCoords,
|
||||
+ yTileCoords);
|
||||
+}
|
||||
+
|
||||
+Slice
|
||||
+Slice::Make (
|
||||
+ PixelType type,
|
||||
+ const void* ptr,
|
||||
+ const IMATH_NAMESPACE::Box2i& dataWindow,
|
||||
+ size_t xStride,
|
||||
+ size_t yStride,
|
||||
+ int xSampling,
|
||||
+ int ySampling,
|
||||
+ double fillValue,
|
||||
+ bool xTileCoords,
|
||||
+ bool yTileCoords)
|
||||
+{
|
||||
+ return Make (
|
||||
+ type,
|
||||
+ ptr,
|
||||
+ dataWindow.min,
|
||||
+ static_cast<int64_t> (dataWindow.max.x) -
|
||||
+ static_cast<int64_t> (dataWindow.min.x) + 1,
|
||||
+ static_cast<int64_t> (dataWindow.max.y) -
|
||||
+ static_cast<int64_t> (dataWindow.min.y) + 1,
|
||||
+ xStride,
|
||||
+ yStride,
|
||||
+ xSampling,
|
||||
+ ySampling,
|
||||
+ fillValue,
|
||||
+ xTileCoords,
|
||||
+ yTileCoords);
|
||||
+}
|
||||
|
||||
void
|
||||
FrameBuffer::insert (const char name[], const Slice &slice)
|
@ -1,56 +0,0 @@
|
||||
--- IlmImf/ImfFrameBuffer.h.orig 2018-08-10 01:34:58 UTC
|
||||
+++ IlmImf/ImfFrameBuffer.h
|
||||
@@ -48,14 +48,15 @@
|
||||
#include "ImfPixelType.h"
|
||||
#include "ImfExport.h"
|
||||
#include "ImfNamespace.h"
|
||||
+#include "ImathBox.h"
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
+#include <cstdint>
|
||||
|
||||
|
||||
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
|
||||
|
||||
-
|
||||
//-------------------------------------------------------
|
||||
// Description of a single slice of the frame buffer:
|
||||
//
|
||||
@@ -148,6 +149,36 @@ struct Slice
|
||||
double fillValue = 0.0,
|
||||
bool xTileCoords = false,
|
||||
bool yTileCoords = false);
|
||||
+
|
||||
+ // Does the heavy lifting of computing the base pointer for a slice,
|
||||
+ // avoiding overflow issues with large origin offsets
|
||||
+ //
|
||||
+ // if xStride == 0, assumes sizeof(pixeltype)
|
||||
+ // if yStride == 0, assumes xStride * ( w / xSampling )
|
||||
+ static Slice Make(PixelType type,
|
||||
+ const void *ptr,
|
||||
+ const IMATH_NAMESPACE::V2i &origin,
|
||||
+ int64_t w,
|
||||
+ int64_t h,
|
||||
+ size_t xStride = 0,
|
||||
+ size_t yStride = 0,
|
||||
+ int xSampling = 1,
|
||||
+ int ySampling = 1,
|
||||
+ double fillValue = 0.0,
|
||||
+ bool xTileCoords = false,
|
||||
+ bool yTileCoords = false);
|
||||
+ // same as above, just computes w and h for you
|
||||
+ // from a data window
|
||||
+ static Slice Make(PixelType type,
|
||||
+ const void *ptr,
|
||||
+ const IMATH_NAMESPACE::Box2i &dataWindow,
|
||||
+ size_t xStride = 0,
|
||||
+ size_t yStride = 0,
|
||||
+ int xSampling = 1,
|
||||
+ int ySampling = 1,
|
||||
+ double fillValue = 0.0,
|
||||
+ bool xTileCoords = false,
|
||||
+ bool yTileCoords = false);
|
||||
};
|
||||
|
||||
|
@ -1,64 +0,0 @@
|
||||
--- IlmImf/ImfHeader.cpp.orig 2018-08-10 01:34:58 UTC
|
||||
+++ IlmImf/ImfHeader.cpp
|
||||
@@ -785,30 +785,46 @@ Header::sanityCheck (bool isTiled, bool isMultipartFil
|
||||
throw IEX_NAMESPACE::ArgExc ("Invalid data window in image header.");
|
||||
}
|
||||
|
||||
- if (maxImageWidth > 0 &&
|
||||
- maxImageWidth < (dataWindow.max.x - dataWindow.min.x + 1))
|
||||
+ int w = (dataWindow.max.x - dataWindow.min.x + 1);
|
||||
+ if (maxImageWidth > 0 && maxImageWidth < w)
|
||||
{
|
||||
THROW (IEX_NAMESPACE::ArgExc, "The width of the data window exceeds the "
|
||||
"maximum width of " << maxImageWidth << "pixels.");
|
||||
}
|
||||
|
||||
- if (maxImageHeight > 0 &&
|
||||
- maxImageHeight < dataWindow.max.y - dataWindow.min.y + 1)
|
||||
+ int h = (dataWindow.max.y - dataWindow.min.y + 1);
|
||||
+ if (maxImageHeight > 0 && maxImageHeight < h)
|
||||
{
|
||||
- THROW (IEX_NAMESPACE::ArgExc, "The width of the data window exceeds the "
|
||||
- "maximum width of " << maxImageHeight << "pixels.");
|
||||
+ THROW (IEX_NAMESPACE::ArgExc, "The height of the data window exceeds the "
|
||||
+ "maximum height of " << maxImageHeight << "pixels.");
|
||||
}
|
||||
|
||||
- // chunk table must be smaller than the maximum image area
|
||||
- // (only reachable for unknown types or damaged files: will have thrown earlier
|
||||
- // for regular image types)
|
||||
- if( maxImageHeight>0 && maxImageWidth>0 &&
|
||||
- hasChunkCount() && chunkCount()>Int64(maxImageWidth)*Int64(maxImageHeight))
|
||||
- {
|
||||
- THROW (IEX_NAMESPACE::ArgExc, "chunkCount exceeds maximum area of "
|
||||
- << Int64(maxImageWidth)*Int64(maxImageHeight) << " pixels." );
|
||||
+ // make sure to avoid simple math overflow for large offsets
|
||||
+ // we know we're at a positive width because of checks above
|
||||
+ long long bigW = static_cast<long long>( w );
|
||||
+ long long absOffY = std::abs ( dataWindow.min.y );
|
||||
+ long long absOffX = std::abs ( dataWindow.min.x );
|
||||
+ long long offX = static_cast<long long>( INT_MAX ) - absOffX;
|
||||
+ long long offsetCount = absOffY * bigW;
|
||||
+ long long bytesLeftPerLine = static_cast<long long>( INT_MAX ) / bigW;
|
||||
+ if (bytesLeftPerLine < absOffY || offX < offsetCount)
|
||||
+ {
|
||||
+ THROW (IEX_NAMESPACE::ArgExc, "Data window [ (" << dataWindow.min.x
|
||||
+ << ", " << dataWindow.min.x << ") - (" << dataWindow.max.x
|
||||
+ << ", " << dataWindow.max.x
|
||||
+ << ") ] offset / size will overflow pointer calculations");
|
||||
+ }
|
||||
+
|
||||
+ // chunk table must be smaller than the maximum image area
|
||||
+ // (only reachable for unknown types or damaged files: will have thrown earlier
|
||||
+ // for regular image types)
|
||||
+ if( maxImageHeight>0 && maxImageWidth>0 &&
|
||||
+ hasChunkCount() && chunkCount()>Int64(maxImageWidth)*Int64(maxImageHeight))
|
||||
+ {
|
||||
+ THROW (IEX_NAMESPACE::ArgExc, "chunkCount exceeds maximum area of "
|
||||
+ << Int64(maxImageWidth)*Int64(maxImageHeight) << " pixels." );
|
||||
|
||||
- }
|
||||
+ }
|
||||
|
||||
|
||||
//
|
@ -1,68 +0,0 @@
|
||||
--- IlmImf/ImfRgbaFile.h.orig 2018-08-10 01:34:58 UTC
|
||||
+++ IlmImf/ImfRgbaFile.h
|
||||
@@ -60,6 +60,65 @@
|
||||
|
||||
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
|
||||
|
||||
+//-------------------------------------------------------
|
||||
+// Utility to compute the origin-based pointer address
|
||||
+//
|
||||
+// With large offsets for the data window, the naive code
|
||||
+// can wrap around, especially on 32-bit machines.
|
||||
+// This can be used to avoid that
|
||||
+//-------------------------------------------------------
|
||||
+
|
||||
+inline const Rgba *
|
||||
+ComputeBasePointer (
|
||||
+ const Rgba* ptr,
|
||||
+ const IMATH_NAMESPACE::V2i& origin,
|
||||
+ int64_t w,
|
||||
+ size_t xStride = 1,
|
||||
+ size_t yStride = 0)
|
||||
+{
|
||||
+ if (yStride == 0)
|
||||
+ yStride = w;
|
||||
+ int64_t offx = static_cast<int64_t> (origin.x);
|
||||
+ offx *= xStride;
|
||||
+ int64_t offy = static_cast<int64_t> (origin.y);
|
||||
+ offy *= yStride;
|
||||
+ return ptr - offx - offy;
|
||||
+}
|
||||
+
|
||||
+inline const Rgba *
|
||||
+ComputeBasePointer (const Rgba* ptr, const IMATH_NAMESPACE::Box2i& dataWindow)
|
||||
+{
|
||||
+ return ComputeBasePointer (ptr, dataWindow.min,
|
||||
+ static_cast<int64_t> (dataWindow.max.x) -
|
||||
+ static_cast<int64_t> (dataWindow.min.x) + 1);
|
||||
+}
|
||||
+
|
||||
+inline Rgba*
|
||||
+ComputeBasePointer (
|
||||
+ Rgba* ptr,
|
||||
+ const IMATH_NAMESPACE::V2i& origin,
|
||||
+ int64_t w,
|
||||
+ size_t xStride = 1,
|
||||
+ size_t yStride = 0)
|
||||
+{
|
||||
+ if (yStride == 0)
|
||||
+ yStride = w;
|
||||
+ int64_t offx = static_cast<int64_t> (origin.x);
|
||||
+ offx *= xStride;
|
||||
+ int64_t offy = static_cast<int64_t> (origin.y);
|
||||
+ offy *= yStride;
|
||||
+ return ptr - offx - offy;
|
||||
+}
|
||||
+
|
||||
+inline Rgba*
|
||||
+ComputeBasePointer (Rgba* ptr, const IMATH_NAMESPACE::Box2i& dataWindow)
|
||||
+{
|
||||
+ return ComputeBasePointer (
|
||||
+ ptr,
|
||||
+ dataWindow.min,
|
||||
+ static_cast<int64_t> (dataWindow.max.x) -
|
||||
+ static_cast<int64_t> (dataWindow.min.x) + 1);
|
||||
+}
|
||||
|
||||
//
|
||||
// RGBA output file.
|
@ -1,52 +0,0 @@
|
||||
--- IlmImf/ImfScanLineInputFile.cpp.orig 2018-08-10 01:34:58 UTC
|
||||
+++ IlmImf/ImfScanLineInputFile.cpp
|
||||
@@ -524,14 +524,14 @@ LineBufferTask::execute ()
|
||||
|
||||
if (_lineBuffer->uncompressedData == 0)
|
||||
{
|
||||
- int uncompressedSize = 0;
|
||||
+ size_t uncompressedSize = 0;
|
||||
int maxY = min (_lineBuffer->maxY, _ifd->maxY);
|
||||
|
||||
for (int i = _lineBuffer->minY - _ifd->minY;
|
||||
i <= maxY - _ifd->minY;
|
||||
++i)
|
||||
{
|
||||
- uncompressedSize += (int) _ifd->bytesPerLine[i];
|
||||
+ uncompressedSize += _ifd->bytesPerLine[i];
|
||||
}
|
||||
|
||||
if (_lineBuffer->compressor &&
|
||||
@@ -628,11 +628,11 @@ LineBufferTask::execute ()
|
||||
//
|
||||
|
||||
char *linePtr = slice.base +
|
||||
- divp (y, slice.ySampling) *
|
||||
- slice.yStride;
|
||||
+ intptr_t( divp (y, slice.ySampling) ) *
|
||||
+ intptr_t( slice.yStride );
|
||||
|
||||
- char *writePtr = linePtr + dMinX * slice.xStride;
|
||||
- char *endPtr = linePtr + dMaxX * slice.xStride;
|
||||
+ char *writePtr = linePtr + intptr_t( dMinX ) * intptr_t( slice.xStride );
|
||||
+ char *endPtr = linePtr + intptr_t( dMaxX ) * intptr_t( slice.xStride );
|
||||
|
||||
copyIntoFrameBuffer (readPtr, writePtr, endPtr,
|
||||
slice.xStride, slice.fill,
|
||||
@@ -838,14 +838,14 @@ LineBufferTaskIIF::execute()
|
||||
|
||||
if (_lineBuffer->uncompressedData == 0)
|
||||
{
|
||||
- int uncompressedSize = 0;
|
||||
+ size_t uncompressedSize = 0;
|
||||
int maxY = min (_lineBuffer->maxY, _ifd->maxY);
|
||||
|
||||
for (int i = _lineBuffer->minY - _ifd->minY;
|
||||
i <= maxY - _ifd->minY;
|
||||
++i)
|
||||
{
|
||||
- uncompressedSize += (int) _ifd->bytesPerLine[i];
|
||||
+ uncompressedSize += _ifd->bytesPerLine[i];
|
||||
}
|
||||
|
||||
if (_lineBuffer->compressor &&
|
@ -1,29 +0,0 @@
|
||||
--- IlmImf/ImfSystemSpecific.cpp.orig 2018-08-10 01:34:58 UTC
|
||||
+++ IlmImf/ImfSystemSpecific.cpp
|
||||
@@ -44,11 +44,23 @@ namespace {
|
||||
// Helper functions for gcc + SSE enabled
|
||||
void cpuid(int n, int &eax, int &ebx, int &ecx, int &edx)
|
||||
{
|
||||
+#if __i386__
|
||||
__asm__ __volatile__ (
|
||||
- "cpuid"
|
||||
- : /* Output */ "=a"(eax), "=b"(ebx), "=c"(ecx), "=d"(edx)
|
||||
- : /* Input */ "a"(n)
|
||||
+ "xchgl %%ebx,%k1\n"
|
||||
+ "cpuid\n"
|
||||
+ "xchgl %%ebx,%k1" \
|
||||
+ : /* Output */ "=a"(eax), "=&r"(ebx), "=c"(ecx), "=d"(edx)
|
||||
+ : /* Input */ "0"(n)
|
||||
: /* Clobber */);
|
||||
+#else
|
||||
+ __asm__ __volatile__ (
|
||||
+ "xchgq %%rbx,%q1\n"
|
||||
+ "cpuid\n"
|
||||
+ "xchgq %%rbx,%q1" \
|
||||
+ : /* Output */ "=a"(eax), "=&r"(ebx), "=c"(ecx), "=d"(edx)
|
||||
+ : /* Input */ "0"(n)
|
||||
+ : /* Clobber */);
|
||||
+#endif
|
||||
}
|
||||
|
||||
#else // IMF_HAVE_SSE2 && __GNUC__
|
15
graphics/openexr/files/patch-config_CMakeLists.txt
Normal file
15
graphics/openexr/files/patch-config_CMakeLists.txt
Normal file
@ -0,0 +1,15 @@
|
||||
--- config/CMakeLists.txt.orig 2019-12-28 20:44:23 UTC
|
||||
+++ config/CMakeLists.txt
|
||||
@@ -72,9 +72,9 @@ if(OPENEXR_INSTALL_PKG_CONFIG)
|
||||
# use a helper function to avoid variable pollution, but pretty simple
|
||||
function(openexr_pkg_config_help pcinfile)
|
||||
set(prefix ${CMAKE_INSTALL_PREFIX})
|
||||
- set(exec_prefix ${CMAKE_INSTALL_BINDIR})
|
||||
- set(libdir ${CMAKE_INSTALL_LIBDIR})
|
||||
- set(includedir ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
+ set(exec_prefix "\${prefix}")
|
||||
+ set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}")
|
||||
+ set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
set(LIB_SUFFIX_DASH ${OPENEXR_LIB_SUFFIX})
|
||||
if(TARGET Threads::Threads)
|
||||
# hrm, can't use properties as they end up as generator expressions
|
@ -1,10 +0,0 @@
|
||||
--- exrenvmap/main.cpp.orig 2018-08-10 01:35:00 UTC
|
||||
+++ exrenvmap/main.cpp
|
||||
@@ -47,6 +47,7 @@
|
||||
#include <ImfHeader.h>
|
||||
|
||||
#include <iostream>
|
||||
+#include <cstring>
|
||||
#include <exception>
|
||||
#include <string>
|
||||
#include <string.h>
|
@ -1,11 +0,0 @@
|
||||
--- exrenvmap/readInputImage.cpp.orig 2018-08-10 01:35:00 UTC
|
||||
+++ exrenvmap/readInputImage.cpp
|
||||
@@ -194,7 +194,7 @@ readSixImages (const char inFileName[],
|
||||
"from the data window of other cube faces.");
|
||||
}
|
||||
|
||||
- in.setFrameBuffer (pixels - dw.min.x - dw.min.y * w, 1, w);
|
||||
+ in.setFrameBuffer (ComputeBasePointer (pixels, dw), 1, w);
|
||||
in.readPixels (dw.min.y, dw.max.y);
|
||||
|
||||
pixels += w * h;
|
@ -1,11 +0,0 @@
|
||||
--- exrmakepreview/makePreview.cpp.orig 2018-08-10 01:35:00 UTC
|
||||
+++ exrmakepreview/makePreview.cpp
|
||||
@@ -110,7 +110,7 @@ generatePreview (const char inFileName[],
|
||||
int h = dw.max.y - dw.min.y + 1;
|
||||
|
||||
Array2D <Rgba> pixels (h, w);
|
||||
- in.setFrameBuffer (&pixels[0][0] - dw.min.y * w - dw.min.x, 1, w);
|
||||
+ in.setFrameBuffer (ComputeBasePointer (&pixels[0][0], dw), 1, w);
|
||||
in.readPixels (dw.min.y, dw.max.y);
|
||||
|
||||
//
|
@ -1,20 +0,0 @@
|
||||
--- exrmaketiled/Image.h.orig 2018-08-10 01:35:00 UTC
|
||||
+++ exrmaketiled/Image.h
|
||||
@@ -190,12 +190,12 @@ OPENEXR_IMF_INTERNAL_NAMESPACE::Slice
|
||||
TypedImageChannel<T>::slice () const
|
||||
{
|
||||
const IMATH_NAMESPACE::Box2i &dw = image().dataWindow();
|
||||
- int w = dw.max.x - dw.min.x + 1;
|
||||
|
||||
- return OPENEXR_IMF_INTERNAL_NAMESPACE::Slice (pixelType(),
|
||||
- (char *) (&_pixels[0][0] - dw.min.y * w - dw.min.x),
|
||||
- sizeof (T),
|
||||
- w * sizeof (T));
|
||||
+ return OPENEXR_IMF_INTERNAL_NAMESPACE::Slice::Make (
|
||||
+ pixelType(),
|
||||
+ &_pixels[0][0],
|
||||
+ dw,
|
||||
+ sizeof (T));
|
||||
}
|
||||
|
||||
|
@ -1,10 +0,0 @@
|
||||
--- exrmaketiled/main.cpp.orig 2018-08-10 01:35:00 UTC
|
||||
+++ exrmaketiled/main.cpp
|
||||
@@ -43,6 +43,7 @@
|
||||
#include "makeTiled.h"
|
||||
|
||||
#include <iostream>
|
||||
+#include <cstring>
|
||||
#include <exception>
|
||||
#include <string>
|
||||
#include <string.h>
|
@ -1,45 +0,0 @@
|
||||
--- exrmultiview/Image.h.orig 2018-08-10 01:35:00 UTC
|
||||
+++ exrmultiview/Image.h
|
||||
@@ -159,6 +159,8 @@ TypedImageChannel<T>::TypedImageChannel
|
||||
_ySampling (ySampling),
|
||||
_pixels (0, 0)
|
||||
{
|
||||
+ if ( _xSampling < 1 || _ySampling < 1 )
|
||||
+ throw IEX_NAMESPACE::ArgExc ("Invalid x/y sampling values");
|
||||
resize();
|
||||
}
|
||||
|
||||
@@ -201,14 +203,14 @@ TypedImageChannel<T>::slice () const
|
||||
const IMATH_NAMESPACE::Box2i &dw = image().dataWindow();
|
||||
int w = dw.max.x - dw.min.x + 1;
|
||||
|
||||
- return IMF::Slice (pixelType(),
|
||||
- (char *) (&_pixels[0][0] -
|
||||
- dw.min.y / _ySampling * (w / _xSampling) -
|
||||
- dw.min.x / _xSampling),
|
||||
- sizeof (T),
|
||||
- (w / _xSampling) * sizeof (T),
|
||||
- _xSampling,
|
||||
- _ySampling);
|
||||
+ return IMF::Slice::Make (
|
||||
+ pixelType(),
|
||||
+ &_pixels[0][0],
|
||||
+ dw,
|
||||
+ sizeof(T),
|
||||
+ (w / _xSampling) * sizeof (T),
|
||||
+ _xSampling,
|
||||
+ _ySampling);
|
||||
}
|
||||
|
||||
|
||||
@@ -227,7 +229,9 @@ template <class T>
|
||||
void
|
||||
TypedImageChannel<T>::black ()
|
||||
{
|
||||
- memset(&_pixels[0][0],0,image().width()/_xSampling*image().height()/_ySampling*sizeof(T));
|
||||
+ size_t nx = static_cast<size_t>( image().width() ) / static_cast<size_t>( _xSampling );
|
||||
+ size_t ny = static_cast<size_t>( image().height() ) / static_cast<size_t>( _ySampling );
|
||||
+ memset(&_pixels[0][0],0,nx*ny*sizeof(T));
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
bin/exr2aces
|
||||
bin/exrenvmap
|
||||
bin/exrheader
|
||||
bin/exrmakepreview
|
||||
@ -21,6 +22,10 @@ include/OpenEXR/ImfCompressionAttribute.h
|
||||
include/OpenEXR/ImfConvert.h
|
||||
include/OpenEXR/ImfDeepCompositing.h
|
||||
include/OpenEXR/ImfDeepFrameBuffer.h
|
||||
include/OpenEXR/ImfDeepImage.h
|
||||
include/OpenEXR/ImfDeepImageChannel.h
|
||||
include/OpenEXR/ImfDeepImageIO.h
|
||||
include/OpenEXR/ImfDeepImageLevel.h
|
||||
include/OpenEXR/ImfDeepImageState.h
|
||||
include/OpenEXR/ImfDeepImageStateAttribute.h
|
||||
include/OpenEXR/ImfDeepScanLineInputFile.h
|
||||
@ -35,7 +40,12 @@ include/OpenEXR/ImfDoubleAttribute.h
|
||||
include/OpenEXR/ImfEnvmap.h
|
||||
include/OpenEXR/ImfEnvmapAttribute.h
|
||||
include/OpenEXR/ImfExport.h
|
||||
include/OpenEXR/ImfFlatImage.h
|
||||
include/OpenEXR/ImfFlatImageChannel.h
|
||||
include/OpenEXR/ImfFlatImageIO.h
|
||||
include/OpenEXR/ImfFlatImageLevel.h
|
||||
include/OpenEXR/ImfFloatAttribute.h
|
||||
include/OpenEXR/ImfFloatVectorAttribute.h
|
||||
include/OpenEXR/ImfForward.h
|
||||
include/OpenEXR/ImfFrameBuffer.h
|
||||
include/OpenEXR/ImfFramesPerSecond.h
|
||||
@ -44,6 +54,12 @@ include/OpenEXR/ImfGenericOutputFile.h
|
||||
include/OpenEXR/ImfHeader.h
|
||||
include/OpenEXR/ImfHuf.h
|
||||
include/OpenEXR/ImfIO.h
|
||||
include/OpenEXR/ImfImage.h
|
||||
include/OpenEXR/ImfImageChannel.h
|
||||
include/OpenEXR/ImfImageChannelRenaming.h
|
||||
include/OpenEXR/ImfImageDataWindow.h
|
||||
include/OpenEXR/ImfImageIO.h
|
||||
include/OpenEXR/ImfImageLevel.h
|
||||
include/OpenEXR/ImfInputFile.h
|
||||
include/OpenEXR/ImfInputPart.h
|
||||
include/OpenEXR/ImfInt64.h
|
||||
@ -73,6 +89,7 @@ include/OpenEXR/ImfRationalAttribute.h
|
||||
include/OpenEXR/ImfRgba.h
|
||||
include/OpenEXR/ImfRgbaFile.h
|
||||
include/OpenEXR/ImfRgbaYca.h
|
||||
include/OpenEXR/ImfSampleCountChannel.h
|
||||
include/OpenEXR/ImfStandardAttributes.h
|
||||
include/OpenEXR/ImfStdIO.h
|
||||
include/OpenEXR/ImfStringAttribute.h
|
||||
@ -88,18 +105,21 @@ include/OpenEXR/ImfTiledOutputPart.h
|
||||
include/OpenEXR/ImfTiledRgbaFile.h
|
||||
include/OpenEXR/ImfTimeCode.h
|
||||
include/OpenEXR/ImfTimeCodeAttribute.h
|
||||
include/OpenEXR/ImfUtilExport.h
|
||||
include/OpenEXR/ImfVecAttribute.h
|
||||
include/OpenEXR/ImfVersion.h
|
||||
include/OpenEXR/ImfWav.h
|
||||
include/OpenEXR/ImfXdr.h
|
||||
include/OpenEXR/OpenEXRConfig.h
|
||||
lib/cmake/OpenEXR/OpenEXRConfig-%%CMAKE_BUILD_TYPE%%.cmake
|
||||
lib/cmake/OpenEXR/OpenEXRConfig.cmake
|
||||
lib/cmake/OpenEXR/OpenEXRConfigVersion.cmake
|
||||
lib/libIlmImf-%%MAJORVER%%.so
|
||||
lib/libIlmImf-%%MAJORVER%%.so.%%VER%%
|
||||
lib/libIlmImf-%%MAJORVER%%.so.%%VER%%.0.0
|
||||
lib/libIlmImf.a
|
||||
lib/libIlmImf.so
|
||||
lib/libIlmImfUtil-%%MAJORVER%%.so
|
||||
lib/libIlmImfUtil-%%MAJORVER%%.so.%%VER%%
|
||||
lib/libIlmImfUtil-%%MAJORVER%%.so.%%VER%%.0.0
|
||||
lib/libIlmImfUtil.a
|
||||
lib/libIlmImfUtil.so
|
||||
libdata/pkgconfig/OpenEXR.pc
|
||||
share/aclocal/openexr.m4
|
||||
|
@ -4,7 +4,7 @@
|
||||
PORTNAME= openimageio
|
||||
DISTVERSIONPREFIX= Release-
|
||||
DISTVERSION= 2.0.10
|
||||
PORTREVISION= 6
|
||||
PORTREVISION= 7
|
||||
CATEGORIES?= graphics multimedia
|
||||
|
||||
MAINTAINER?= FreeBSD@Shaneware.biz
|
||||
|
@ -4,7 +4,7 @@
|
||||
PORTNAME= openshadinglanguage
|
||||
DISTVERSIONPREFIX= Release-
|
||||
DISTVERSION= 1.10.7
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= graphics devel
|
||||
|
||||
MAINTAINER= FreeBSD@Shaneware.biz
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= pixie
|
||||
PORTVERSION= 2.2.6
|
||||
PORTREVISION= 21
|
||||
PORTREVISION= 22
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/Pixie%20${PORTVERSION}
|
||||
DISTNAME= Pixie-src-${PORTVERSION}
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= openexr
|
||||
PORTVERSION= 1.2.0
|
||||
PORTREVISION= 8
|
||||
PORTREVISION= 9
|
||||
CATEGORIES= graphics python
|
||||
MASTER_SITES= http://excamera.com/files/ \
|
||||
CHEESESHOP
|
||||
|
@ -3,6 +3,7 @@
|
||||
|
||||
PORTNAME= simpleviewer
|
||||
PORTVERSION= 3.1.7
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= https://bitbucket.org/andreyu/simple-viewer-gl/get/
|
||||
DISTNAME= v${PORTVERSION} # version tag, has no embedded ${PORTNAME}
|
||||
|
@ -4,6 +4,7 @@
|
||||
PORTNAME= synfigstudio
|
||||
PORTVERSION= 1.2.2
|
||||
DISTVERSIONPREFIX=v
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= graphics multimedia
|
||||
|
||||
MAINTAINER= woodsb02@FreeBSD.org
|
||||
|
@ -4,7 +4,7 @@
|
||||
PORTNAME= vigra
|
||||
DISTVERSIONPREFIX=v
|
||||
DISTVERSION= 1.11.1
|
||||
PORTREVISION= 6
|
||||
PORTREVISION= 7
|
||||
CATEGORIES= graphics
|
||||
|
||||
MAINTAINER= ports@FreeBSD.org
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= vips
|
||||
PORTVERSION= 8.8.3
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= https://github.com/libvips/libvips/releases/download/v${PORTVERSION}/
|
||||
|
||||
|
@ -5,7 +5,7 @@ PORTNAME= yafaray
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 3.3.0-15
|
||||
DISTVERSIONSUFFIX= -g67f6586
|
||||
PORTREVISION= 3
|
||||
PORTREVISION= 4
|
||||
CATEGORIES= graphics
|
||||
|
||||
MAINTAINER= yuri@FreeBSD.org
|
||||
|
@ -3,7 +3,7 @@
|
||||
PORTNAME= curv
|
||||
DISTVERSION= 0.4-417
|
||||
DISTVERSIONSUFFIX= -gf6f8d011
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= math lang graphics
|
||||
|
||||
MAINTAINER= yuri@FreeBSD.org
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
PORTNAME= mandelbulber2
|
||||
DISTVERSION= 2.20
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= math
|
||||
|
||||
MAINTAINER= yuri@FreeBSD.org
|
||||
|
@ -3,7 +3,7 @@
|
||||
PORTNAME= openvdb
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 6.1.0
|
||||
PORTREVISION= 6
|
||||
PORTREVISION= 7
|
||||
CATEGORIES= misc
|
||||
|
||||
MAINTAINER= yuri@FreeBSD.org
|
||||
|
@ -3,7 +3,7 @@
|
||||
PORTNAME= cinelerra-gg
|
||||
DISTVERSION= 5.1-20180714
|
||||
DISTVERSIONSUFFIX= -${REV:C/(.......).*/\1/}
|
||||
PORTREVISION= 12
|
||||
PORTREVISION= 13
|
||||
CATEGORIES= multimedia
|
||||
MASTER_SITES= https://git.cinelerra-gg.org/git?p=goodguy/cinelerra.git;a=snapshot;h=${REV};sf=tgz;dummy=/
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= gwyddion
|
||||
PORTVERSION= 2.51
|
||||
PORTREVISION= 3
|
||||
PORTREVISION= 4
|
||||
CATEGORIES= science graphics
|
||||
MASTER_SITES= SF
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user