1
0
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:
Matthias Andree 2020-01-05 02:17:32 +00:00
parent c11266721a
commit 2e26d3323d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=522079
64 changed files with 159 additions and 698 deletions

View File

@ -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

View File

@ -4,7 +4,7 @@
PORTNAME= synfig
PORTVERSION= 1.2.2
DISTVERSIONPREFIX=v
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= devel graphics multimedia
MAINTAINER= woodsb02@FreeBSD.org

View File

@ -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}

View File

@ -3,7 +3,7 @@
PORTNAME= pink-pony
PORTVERSION= 1.4.1
PORTREVISION= 17
PORTREVISION= 18
CATEGORIES= games
MAINTAINER= amdmi3@FreeBSD.org

View File

@ -3,7 +3,7 @@
PORTNAME= alembic
PORTVERSION= 1.7.11
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= graphics
MAINTAINER= danfe@FreeBSD.org

View File

@ -3,7 +3,7 @@
PORTNAME= ampasCTL
PORTVERSION= 1.5.2
PORTREVISION= 3
PORTREVISION= 4
CATEGORIES= graphics devel
MAINTAINER= ports@FreeBSD.org

View File

@ -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/ \

View File

@ -4,6 +4,7 @@
PORTNAME= cimg
DISTVERSIONPREFIX= v.
DISTVERSION= 2.8.1
PORTREVISION= 1
PORTEPOCH= 3
CATEGORIES= graphics devel

View File

@ -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/}/

View File

@ -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}

View File

@ -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/

View File

@ -3,7 +3,7 @@
PORTNAME= exrtools
PORTVERSION= 0.4
PORTREVISION= 16
PORTREVISION= 17
CATEGORIES= graphics
MASTER_SITES= http://scanline.ca/exrtools/ \
LOCAL/ehaupt

View File

@ -3,7 +3,7 @@
PORTNAME= fyre
PORTVERSION= 1.0.1
PORTREVISION= 11
PORTREVISION= 12
CATEGORIES= graphics
MASTER_SITES= http://releases.navi.cx/fyre/

View File

@ -3,6 +3,7 @@
PORTNAME= gegl
PORTVERSION= 0.4.18
PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= GIMP

View File

@ -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-

View File

@ -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}

View File

@ -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"

View File

@ -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/

View File

@ -3,7 +3,7 @@
PORTNAME= hugin
PORTVERSION= 2019.0.0
PORTREVISION= 4
PORTREVISION= 5
CATEGORIES= graphics
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION:R}

View File

@ -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}

View File

@ -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

View 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

View File

@ -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
}

View File

@ -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]);
}

View File

@ -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 );

View File

@ -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.

View File

@ -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

View File

@ -2,6 +2,7 @@
PORTNAME= kimageformats
DISTVERSION= ${KDE_FRAMEWORKS_VERSION}
PORTREVISION= 1
CATEGORIES= graphics kde kde-frameworks
MAINTAINER= kde@FreeBSD.org

View File

@ -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}

View File

@ -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

View File

@ -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

View File

@ -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>

View File

@ -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

View File

@ -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

View File

@ -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);
}
}

View File

@ -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

View File

@ -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)

View File

@ -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);
};

View File

@ -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." );
- }
+ }
//

View File

@ -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.

View 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 &&

View File

@ -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__

View 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

View File

@ -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>

View File

@ -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;

View File

@ -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);
//

View File

@ -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));
}

View File

@ -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>

View File

@ -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));
}

View File

@ -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

View File

@ -4,7 +4,7 @@
PORTNAME= openimageio
DISTVERSIONPREFIX= Release-
DISTVERSION= 2.0.10
PORTREVISION= 6
PORTREVISION= 7
CATEGORIES?= graphics multimedia
MAINTAINER?= FreeBSD@Shaneware.biz

View File

@ -4,7 +4,7 @@
PORTNAME= openshadinglanguage
DISTVERSIONPREFIX= Release-
DISTVERSION= 1.10.7
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= graphics devel
MAINTAINER= FreeBSD@Shaneware.biz

View File

@ -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}

View File

@ -3,7 +3,7 @@
PORTNAME= openexr
PORTVERSION= 1.2.0
PORTREVISION= 8
PORTREVISION= 9
CATEGORIES= graphics python
MASTER_SITES= http://excamera.com/files/ \
CHEESESHOP

View File

@ -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}

View File

@ -4,6 +4,7 @@
PORTNAME= synfigstudio
PORTVERSION= 1.2.2
DISTVERSIONPREFIX=v
PORTREVISION= 1
CATEGORIES= graphics multimedia
MAINTAINER= woodsb02@FreeBSD.org

View File

@ -4,7 +4,7 @@
PORTNAME= vigra
DISTVERSIONPREFIX=v
DISTVERSION= 1.11.1
PORTREVISION= 6
PORTREVISION= 7
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org

View File

@ -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}/

View File

@ -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

View File

@ -3,7 +3,7 @@
PORTNAME= curv
DISTVERSION= 0.4-417
DISTVERSIONSUFFIX= -gf6f8d011
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= math lang graphics
MAINTAINER= yuri@FreeBSD.org

View File

@ -2,6 +2,7 @@
PORTNAME= mandelbulber2
DISTVERSION= 2.20
PORTREVISION= 1
CATEGORIES= math
MAINTAINER= yuri@FreeBSD.org

View File

@ -3,7 +3,7 @@
PORTNAME= openvdb
DISTVERSIONPREFIX= v
DISTVERSION= 6.1.0
PORTREVISION= 6
PORTREVISION= 7
CATEGORIES= misc
MAINTAINER= yuri@FreeBSD.org

View File

@ -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=/

View File

@ -3,7 +3,7 @@
PORTNAME= gwyddion
PORTVERSION= 2.51
PORTREVISION= 3
PORTREVISION= 4
CATEGORIES= science graphics
MASTER_SITES= SF