OpenEXR is a high dynamic-range (HDR) image file format developed by
Industrial Light & Magic for use in computer imaging applications.
OpenEXR is used by ILM on all motion pictures currently in production.
The first movies to employ OpenEXR were Harry Potter and the Sorcerers Stone,
Men in Black II, Gangs of New York, and Signs. Since then, OpenEXR has become
ILM's main image file format.
OpenEXR's features include:
* Higher dynamic range and color precision than existing 8- and 10-bit
image file formats.
* Support for 16-bit floating-point, 32-bit floating-point, and 32-bit
integer pixels. The 16-bit floating-point format, called "half", is compatible
with the half data type in NVIDIA's Cg graphics language and is supported
natively on their new GeForce FX and Quadro FX 3D graphics solutions.
* Multiple lossless image compression algorithms. Some of the included codecs
can achieve 2:1 lossless compression ratios on images with film grain.
* Extensibility. New compression codecs and image types can easily be added
by extending the C++ classes included in the OpenEXR software distribution.
New image attributes (strings, vectors, integers, etc.) can be added to
OpenEXR image headers without affecting backward compatibility with existing
OpenEXR applications.
WWW: http://www.openexr.org/
===> The following configuration options are available for OpenEXR-2.2.1_1:
DOCS=on: Build and/or install documentation
EXAMPLES=on: Build and/or install examples
LARGE_STACK=off: Enable sys-dependant large stack optimizations
===> Use 'make config' to modify these settings
Affects: users of graphics/OpenEXR or graphics/ilmbase
Author: mandree@FreeBSD.org
Reason:
graphics/ilmbase was removed in favor of math/Imath 3.0.1,
and graphics/OpenEXR was updated to 3.0.1. Ports that depend on
OpenEXR and/or ilmbase according to INDEX were patched,
for ports where OpenEXR is an option that defaults to off, these
typical items needs to be changed - file bug reports in that case,
preferably with tested patches:
- The IlmBase parts Imath and half are now repackaged as Imath
- The IlmThread and Iex libraries are now part of OpenEXR
- Some header files were rearranged accordingly, into
${LOCALBASE}/include/OpenEXR vs. ${LOCALBASE}/include/Imath
- Some code needs a few #include statements added, often
#include <ImfHeader.h> or #include <ImfFrameBuffer.h>
- Some classes were removed, and the C++11 standard library
features need to be used, f. i. std::numeric_limits.
- Some code used Int64 or SInt64 should use uint64_t or int64_t.
Detailed porting hints are available here:
https://github.com/AcademySoftwareFoundation/Imath/blob/v3.0.1/docs/PortingGuide2-3.md
Update ilmbase and openexr to 2.3.0, rename OpenEXR to openexr.
Release notes: <https://github.com/openexr/openexr/releases/tag/v2.3.0>
Adjust LIB_DEPENDS of all ports that require ilmbase or openexr to chase
the new lower-case spelling of the name, and to omit the version from the
library name to ease future maintenance.
Bump PORTREVISION of all ports that depend on ilmbase or openexr directly,
so that they all get rebuilt on upgrades.
Add patches to graphics/ampasCTL to keep it alive, with (a) ilmbase now
that its Iex::BaseExc class is no longer derived from std::string,
details were given upstream through https://github.com/ampas/CTL/issues/71
and (b) to unwind semicolon/;-lists in cmake that stem from openexr/
ilmbase pkg-config variables.
(Note ampasCTL is unmaintained as FreeBSD port, and upstream,
and I cannot run-time test it.)
Poudriere build tests on 11.2-RELEASE-p1 amd64 of ALL ports depending
directly or indirectly on ilmbase and/or openexr have passed without
regressions. Thus invoking due diligence, I believe I have done the
equivalent of an -exp run, and do not require approval for the dependency
chases to third-party ports.
After an include, PLIST_SUB must be appended to, not overwritten.
If it is overwritten, many values will be clobbered, and
pain will ensue.
PR: 230864
Submitted by: mat
exp-runs by: antoine
Bump PORTREVISION for ports depending on the canonical version of GCC
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.
This includes ports
- featuring USE_GCC=yes or USE_GCC=any,
- featuring USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and those
- with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.
PR: 222542
Security update OpenEXR and ilmbase to 2.2.1.
While here, fix libIlmImfUtil_la_LDFLAGp so that when linking libIlmImfUtil,
the locally built libIlmImf gets precedence over the one in /usr/local,
to permit upgrades in a running system with the older version installed.
This changes the library's SONAME, so bump PORTREVISION of all dependees.
Unfortunately, this looks a bit too intrusive for an MFH to 2017Q4.
Security: CVE-2017-9110
Security: CVE-2017-9111
Security: CVE-2017-9112
Security: CVE-2017-9113
Security: CVE-2017-9114
Security: CVE-2017-9115
Security: CVE-2017-9116
Security: 803879e9-4195-11e7-9b08-080027ef73ec
Bump PORTREVISION for ports depending on the canonical version of GCC
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++11-lang,
c++14-lang, c++0x, c11, or gcc-c++11-lib.
PR: 219275
Bump PORTREVISIONs for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using using Mk/bsd.octave.mk which in turn has USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
c++11-lang, c++0x, c11, or gcc-c++11-lib.
PR: 216707
Bump PORTREVISIONS for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.8.5 to GCC 4.9.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
In particular that is ports with USE_GCC=yes, USE_GCC=any, or one of
gcc-c++11-lib, openmp, nestedfct, c++11-lib as well as c++14-lang,
c++11-lang, c++0x, c11 requested via USES=compiler.
- Unbreak the build on PowerPC by using modern GCC version
- Do not use += to set initial CONFIGURE_ARGS value
- Convert to option helpers and new test framework (TEST_TARGET)
- Remove extra patch that prevented installation of the example files
(it is not needed in the post-staging era: running `make package
OPTIONS_UNSET=EXAMPLES -DBATCH' will produce package without the
exampes by default, requiring no special hacks)
- Wrap one overly long line by optimizing away one of the STRIP_CMD's
Fix compilation if SSE2 is enabled on i386.
While here, fix regression tests and see that things are fine.
(Some regression-test issues remain for largestack, the default build
passes make regression now on i386 and amd64).
(No revision bump because these are build fixes, and the regression test
stuff does not become part of the installed material.)
Assisted by: truckman@
PR: 196014
Submitted by: truckman@
Update the default version of GCC in the Ports Collection from GCC 4.7.4
to GCC 4.8.3.
Part II, Bump PORTREVISIONs.
PR: 192025
Tested by: antoine (-exp runs)
Approved by: portmgr (implicit)
Upgrade OpenEXR and ilmbase to 2.2.0.
GCC 4.2 in FreeBSD 8.X/9.X base is now too old to compile OpenEXR, so
GCC-based systems will upgrade to the default ports compiler (GCC 4.7
currently.)
Add two patches to OpenEXR to permit building it in a live system with
the older OpenEXR version installed. Bug report filed to upstream Github
at https://github.com/openexr/openexr/issues/130
Couple OpenEXR more tightly to ilmbase and require its exact .so
version.
Add UPDATING note, and bump PORTREVISION of all dependent ports.
Proto-STAGE hugin-devel, and mark it IGNORE because hugin is newer.
Approved by: portmgr (implicit for bumping PORTREVISION on unstaged ports)
When linking a library libA with a library libB using libtool, if libB.la
exists, libtool will add all libraries libB.la refers to (dependency_libs
field) to the linker command line and store them in the dependency_libs
field of libA.la. So everything that subsequently links with libA will also
link to these extra libraries. This causes too much overlinking.
This commit modifies Mk/Uses/libtool.mk so it empties the dependency_libs
field in .la libraries during staging. However, because .la libraries have
very limited use when dependency_libs is empty it makes sense to completely
remove them during staging.
So with this commit USES=libtool is modified to remove .la libraries and a
new form (USES=libtool:keepla) is introduced in case they need to be kept
(dependency_libs is still emptied).
(Only the first 15 lines of the commit message are shown above )
Use proper libtool magic, to obtain a proper libIlmImf.la file that does
not refer to non-existing other .la files. Fixes build of graphics/gegl
on FreeBSD 10+. Bump PORTREVISION.
Approved by: portmgr (blanket)
graphics => ilmbase & OpenEXR: Fix == bashism in configure script
The latest versions of ilmbase and OpenEXR come with "== xyes" and
"== xno" in the configure script, potentially causing misconfiguration
as seen in DragonFly 3.6. Fix both in the post-patch target with sed.
Approved by: portmgr (bapt), maintainer AFK
examples are always installed, so do not create a broken plist if EXAMPLES is
unset
the same way ${DOCSDIR}-1.7.1 is always created even if DOCS is unset.
- Add LDFLAGS to CONFIGURE_ENV and MAKE_ENV (as it was done with LDFLAGS)
- Fix all ports that add {CPP,LD}FLAGS to *_ENV to modify flags instead
PR: 157936
Submitted by: myself
Exp-runs by: pav
Approved by: pav
- Explicitely link with threads library, otherwise it was impossible to link
with -lIlmImf (and dependent libraries as well) without -pthread
PR: 133291
Submitted by: myself
Approved by: maintainer timeout
-Repocopy devel/libtool15 -> libtool22 and libltdl15 -> libltdl22.
-Update libtool and libltdl to 2.2.6a.
-Remove devel/libtool15 and devel/libltdl15.
-Fix ports build with libtool22/libltdl22.
-Bump ports that depend on libltdl22 due to shared library version change.
-Explain what to do update in the UPDATING.
It has been tested with GNOME2, XFCE4, KDE3, KDE4 and other many wm/desktop
and applications in the runtime.
With help: marcus and kwm
Pointyhat-exp: a few times by pav
Tested by: pgollucci, "Romain Tartière" <romain@blogreen.org>, and
a few MarcusCom CVS users. Also, I might have missed a few.
Repocopy by: marcus
Approved by: portmgr
o Update to 1.4.0
o Chase libraries version bump to depending on this port.
[NOTE]
I disabled FLTK support, so you can't use OpenEXR's applications.
Because I'm validating FLTK support.
Spotted by: Nikolaj Thygesen <nikolaj.thygesen <@> diamondbox.dk>
Obtained from: Florian Kainz <kainz <@> ilm.com>
Committed at: AsiaBSDCon 2007 in Tokyo, Japan
Memorial Committing with:
bushman, kuriyama, hrs, gnn, nobutaka, nyan, motoyuki, metal,
simokawa, akiyama, ume, rwatson, pjd, mckusick, takawata,
murray, cjh, brooks, daichi, delphij, ups, rrs
- Update graphics/libglut to 6.4.1.
- Shared lib version and PORTREVISION bumb for all affected ports.
While I'm here:
- Remove USE_MESA knob where it was (35 ports).
It marked as depricated for 2 years.
PR: ports/90247
Submitted by: Ermal Lu?i <eri--@albabsd.org>
Mass-conversion to the USE_AUTOTOOLS New World Order. The code present
in bsd.autotools.mk essentially makes this a no-op given that all the
old variables set a USE_AUTOTOOLS_COMPAT variable, which is parsed in
exactly the same way as USE_AUTOTOOLS itself.
Moreover, USE_AUTOTOOLS has already been extensively tested by the GNOME
team -- all GNOME 2.12.x ports use it.
Preliminary documentation can be found at:
http://people.FreeBSD.org/~ade/autotools.txt
which is in the process of being SGMLized before introduction into the
Porters Handbook.
Light blue touch-paper. Run.
Apply a big libtool patch to allow porters to use the libtool installed by
the libtoolX ports instead of the one included with each port. Ports that
set USE_LIBTOOL_VER=X will now use the ports version of libtool instead of
the included version. To restore previous behavior, use the new macro,
USE_INC_LIBTOOL_VER. Both macros accept the same argument: a libtool version.
For example, to use the ports version of libtool-1.5, add the following to
your Makefile:
USE_LIBTOOL_VER= 15
To use the included version of libtool with extra hacks provided by
libtool-1.5, add the following to your Makefile:
USE_INC_LIBTOOL_VER= 15
With this change, ports that had to add additional libtool hacks to prevent
.la files from being installed or to fix certain threading issues can now
delete those hacks (after appropriate testing, of course).
PR: 63944
Based on work by:eik and marcus
Approved by: ade (autotools maintainer)
Tested by: kris on pointyhat
Bound to be hidden problems: You bet
Whoa there, boy, that's a mighty big commit y'all have there...
Begin autotools sanitization sequence by requiring ports to explicitly
specify which version of {libtool,autoconf,automake} they need, erasing
the concept of a "system default".
For ports-in-waiting:
USE_LIBTOOL=YES -> USE_LIBTOOL_VER=13
USE_AUTOCONF=YES -> USE_AUTOCONF_VER=213
USE_AUTOMAKE=YES -> USE_AUTOMAKE_VER=14
Ports attempting to use the old style system after June 1st 2004 will be
sorely disappointed.
Change USE_GCC=3.1 to USE_GCC=3.1+. This modification has temporary
sample code in.
Reported by: David Yeske <dyeske@yahoo.com>
NINOMIYA Hideyuki <nin@jp.FreeBSD.org>
Add OpenEXR(1.0.4), a high dynamic-range (HDR) image file format
(manipulator) developed by Industrial Light & Magic, a division
of Lucas Digital Ltd. LLC. It was used in the movies Harry Potter,
Men in Black II, and Signs.
Submitted by: NINOMIYA Hideyuki <nin@Jp.FreeBSD.org>