summaryrefslogtreecommitdiff
path: root/graphics/openimageio
diff options
context:
space:
mode:
authorryoon <ryoon@pkgsrc.org>2013-10-12 22:13:44 +0000
committerryoon <ryoon@pkgsrc.org>2013-10-12 22:13:44 +0000
commitb59c9e2d61d5a09b30f745dbc47f20efed48732c (patch)
treeae2e6da761e3dc0f57b67f60179dd80a0d797d4a /graphics/openimageio
parent8636dd7661ebe99e6c3bb80be94e033aa46771d3 (diff)
downloadpkgsrc-b59c9e2d61d5a09b30f745dbc47f20efed48732c.tar.gz
Update to 1.2.2
Changelog: Release 1.2.2 (1 Oct 2013) -------------------------- * New features: * New oiiotool --siappend : append subimages of top two images on stack. * Utilities: added Strutil::contains() and icontains(). * Fixes: * Fixes in handling XMP & IPTC metadata. * oiiotool --origin and --fullpixels did not correctly propagate their changes to the output images. * oiiotool --colorconvert (and the underlying ImageBufAlgo::colorconvert) could crash if given a color conversion recognized as a no-op. * DPX output could crash when writing crop images. * DPX input was not recognizing the proper image offset or originalsize. * oiiotool --fit wasn't padding correctly or modifying offsets properly. * Build fixes: * Fix compiler error on MIPS platform. * Add FIELD3D_HOME description to 'make help' * Always use the HDF5 release libraries (for Field3D), not the debug ones. Release 1.2.1 (5 Aug 2013) --------------------------- * oiiotool: Fix memory leak when processing frame range. * Docs improvement: full documentation of ImageBufAlgo. * oiiotool --help now returns a success error code, not a failure. * oiiotool: fix incorrect help message about --ociolook. * oiiotool: Fix typo in "oiio:Colorspace" attribute name that interfered with correct color space conversion in --colorconvert. * Many fixes for compiler warnings on various platforms: fmath_test.cpp, field3dinput.cpp, sysutil.cpp, argparse.cpp, oiiotool.cpp. * Fixes problems on little-endian architecture with texture3d.cpp. * Fix compilation problems on architectures with gcc, but no 'pause' instruction. * Fix build search path for correctly finding libopenjpeg 1.5. * Work around bug in older MSVC versions wherein Filesystem::open needed to explicitly seek to the beginning of a file. * Build fixes for FreeBSD. * Fix testsuite/oiiotool on Windows -- windows shell doesn't expand wildcards. Release 1.2 (8 July 2013) ------------------------- Major new features and improvements: * New oiiotool commands: --swap Exchanges the top two items on the image stack. --fit Resize image to fit into a given resolution (keeping aspect). --ch Select/cull/reorder/add channels within an image. --chappend Merge two images by appending their color channels. --chnames Rename some or all of the color channels in an image. --zover Depth compositing --cadd Add constant per-channel values to all pixels --cmul Multiply an imge by a scalar or per-channel constant. --fillholes Smoothly interpolate for hole filling. --resample Similar to --resize, but just uses closest pixel lookup. --clamp Clamp pixel values --rangeexpand Expand range for certain HDR processing --rangecompress Compress range for certain HDR processing --unpremult Divide colors by alpha (un-premultiply). --premult Multiply colors by alpha. --kernel Make a convolution kernel using a filter name. --convolve Convolve two images. --blur Blur an image. --unsharp Sharpen an image using an unsharp mask. --paste Paste one image on another. --mosaic Create a rectilinear image mosaic. --transpose Transpose an image (flip along the diagonal axis) --chsum Sum all channels in each pixel --cshift Circular shift an image pixels --fft --ifft Forward and inverse Fourier transform --colorcount Counts how many pixels are one of a list of colors. --rangecheck Counts how many pixels fall outside the given range. --ociolook Apply OpenColorIO "looks" --autotrim Shrinks pixel data window upon output to trim black edges. * oiiotool can loop over entire numeric frame ranges by specifying wildcard filenames such as "foo.#.tif" or "bar.1-10#.exr". * oiiotool --frames and --framepadding give more explicit control over frame range wildcards. * Significant performance improvements when reading and writing images using the ImageBuf::read and ImageCache::get_pixels interfaces, and in some cases also when using regular ImageInput. This also translates to improved performance and memory use for oiiotool and maketx. * At least doubled the performance of maketx for large images when run on multi-core machines. * Significant performance improvements when using ImageBuf::Iterator or ConstIterator to traverse the pixels in an ImageBuf, and the iterators now support "wrap" modes (black, clamp, periodic, mirror). * maketx --hicomp does "highlight compensation" by compressing the HDR value range prior to inter-MIP resizes, then re-expanding the range. * Field3D writer (it could read f3d files before, but not write them). * idiff can now compare that are not the same size (treating pixels beyond the pixel data window is being 0 valued). * maketx --lightprobe turns a "lightprobe" iamge into a latlong environment map. * Significant improvements and fixes to EXIF, IPTC, and XMP metadata reading and writing. * Significant thread scalability improvements to TextureSystem and ImageCache. * Huge overhaul of functionality, style, and performance of the entire ImageBufAlgo set of functions (see the "Public API changes" section below, and the imagebufalgo.h file for details). Public API changes: * ImageOutput semantics change: If the spec passed to open() has spec.format set fo UNKNOWN, then select a default data format for the output file that is "most likely to be able to be read" and/or "most typical for files of that format in the wild." Also, ImageOutput::open() will never fail because a requested data format is unavailable; if the requested format is not supported, a reasonable alternate will always be chosen. * ImageBuf has been changed to a "PIMPL" idiom, wherein all the internals are no longer exposed in the public API. This allows us to change ImageBuf internals in the future without breaking API or link compatibility (and thus giving us more freedom to backport important improvements to prior releases). * Overhaul of ImageBufAlgo functions: they all take an ROI parameter; use the DISPATCH macros to make them work with all pixel data types where practical (previously, many supported float only); use Iterator rather than getpixel/setpixel, leading to huge speed improvements; multithread when operating on enough pixels, leading to huge speed improvements; work on 3D (volume) images where applicable; always gracefully handle uninitialized dest image or undefined ROI. * New ImageBufAlgo functions: channels(), channel_append(), mul(), paste(), zover(), add() and mul() varieties that that add/multiply a constant amount to all pixels, fillholes_pp(), resample(), clamp(), rangecompress(), rangeexpand(), make_kernel(), unsharp_mask(), transpose(), channel_sum(), circular_shift(), fft(), ifft(), color_count(), color_range_check(), nonzero_region(). [look in imagebufalgo.h for documentation.] * ImageBufAlgo::make_texture() allows you to do the same thing that maketx does, but from inside an application and without launching a shell invocation of maketx. Two varieties exist: one that takes a filename and reads from disk, another that takes an ImageBuf already in memory. * ImageBuf Iterator/ConstIterator now take "wrap" mode parameters that allow out-of-range iterators to be able to retrieve valid data. Supported wrap modes include black, clamp, periodic, and mirror. This simplifies a lot of algorithms using IB::Iterator, they can now be written to rely on wrap behavior rather than being cluttered with checks for "if (it.exits())" clauses. * ImageBufAlgo::computePixelHashSHA1 has been refactored to take ROI, a block size, and thread count, and thus can be parallelized with threads. The block size means that rather than computing a single SHA-1 for all the pixels, it computes separate (parallel) SHA-1 for each group of blocksize scanlines, then returns the SHA-1 of all the individual SHA-1 hashed blocks. This is just as strong a hash as before, thought the value is different than doing the whole thing at once, but by breaking it into blocks the computation can be multithreaded. * ImageBuf::swap() makes it easy to swap two ImageBuf's. * ImageSpec::get_channelformats is now const (and always should have been). Fixes, minor enhancements, and performance improvements: * TextureSystem improvements: * Make sure "black" wrap wins out over "fill" value when they conflict (looking up an out-of-range channel beyond the pixel data window). * "mirror" wrap mode was slightly incorrect and has been fixed. * oiiotool improvements: * oiiotool -v breaks down timing by individual function. * oiiotool has been sped up by forcing read of the whole image up front for reasonably-sized files (instead of relying on ImageCache). * oiiotool does not write output images if fatal errors have occurred. * oiiotool --diff: Better error handling, better error printing, and now it can compare images with differing data windows or channel numbers ("missing" channels or pixels are presumed to be 0 for the purposes of comparing). * oiiotool --resize (and --fit): properly handle the case of resizing to the same size as the original image. * oiiotool -d CHAN=TYPE can set the output for just one channel. * ImageBufAlgo improvements: * Internal overhaul of IBA::resize to greatly speed it up. * Improve IBA::resize to handle the image edge better -- instead of clamping, just don't consider nonexistant pixels. * More careful selection of filter when resizing (IBA::resize, oiiotool --resize and --fit, and maketx). * Fix IBA::paste() error when the foreground image runs off the end of the background image. * Bug fix when computing SHA-1 hash of 0-sized images. * Image format support improvements: * Bug fix where some format readers (PNM, SGI, and IFF) would leave the file handle opened if the ImageInput was destroyed without calling close() first. Now we guarantee that destroying the II always causes the file to close(). * DPX: output allocation bug fix; properly set pixel aspect ratio for DPX write. * IFF: bug fix for endian swap for IFF file input. * JPEG2000: fix warnings, make sure event manager transfer object remains valid. * OpenEXR: when reading, was botching the ordering of per-channel data formats. * SGI write: bug fix for the case of 15 bpp RLE encoding, was double-swapping bytes. * Targa: more robust check for presence of alpha channels; bug fix where R and B channels were reversed for certain kinds of palette images. * TIFF: Store the orientation flag properly when outputting a TIFF file. * maketx improvements: * maketx --chnames allows you to rename the channels when you create a texture. * maketx bug fixes: incorrect weighting when resizing MIP levels for latlong environment map images that could make visible artifacts on some intermediate MIP levels. * encode_exif() didn't copy the right number of bytes. * Python bindings: ImageSpec extra_attribs now properly responds to iterator calls. * Fix bug in sRGB -> linear conversion. * iv: make pixelview display coordinates & color even when outside the data window. Build/test system improvements: * Many fixes to improve builds and eliminate warnings on Windows and MinGW. * Fix missing InterlockedExchangeAdd64 for Windows XP. * New make/cmake boags: OIIO_BUILD_TOOLS=0 will exclude building of the command line tools (just build libraries), OIIO_BUILD_TESTS=0 will exclude building of unit test binaries. * Improved matching of testsuite reference images on different platforms. * Lots of fixes to compiler warnings on newer gcc and clang releases. * Unit tests for Timer class. * libOpenImageio/imagespeed_test benchmarks various methods of reading and writing files and iterating image pixels (to help us know what to optimize). * If OpenSSL is available at build time, OIIO will use its SHA-1 implementation instead of our own (theirs is faster). We still fall back on ours if OpenSSL is not available or when OIIO is built with USE_OPENSSL=0. * Allow default the shared library suffix to be overridden with the CMake variable OVERRIDE_SHARED_LIBRARY_SUFFIX. * Eliminated all uses of the custom DEBUG symbol, and instead use the more standard idiom "#ifndef NDEBUG". * Compatibility fixes for Python3. * MSVC 2008: Prevent a redefinition error when using boost::shared_ptr. * Fixes for compatibility with libtiff 4.0. * Fixes for MSVC debug mode having out-of-bound exceptions. * Fixes for libjpeg 9.x. * Compile to treat warnings as errors (you can disable this with STOP_ON_WARNING=0). * New filter: "sharp-gaussian". * Fix various Windows build errors. * Improvements to the build when finding IlmBase/OpenEXR. * Various fixes to compile on ARM architecture. * Fixes to compile on ESA/390 mainframe (!). * testtex --threadtimes, --trials, --iters, --nodup, --wedge. These are helpful in using testtext to benchmark the texture system. * Improvements to make more tests work properly on Windows. Developer goodies: * Improved ASSERT and DASSERT macros to not generate warning for certain debug compiles; key their debug behavior by the absence of the standard NDEBUG idiom rather than presence of a custom DEBUG symbol; rename the message variants ASSERT_MSG and DASSERT_MSG. * Change the default for Sysutil::memory_used to report resident memory rather than virtual process size. * Multithread/parallel version of utility function convert_image(). * imagebufalgo.h improvements and expansion of the various DISPATCH_* macros. * New Filesystem utilities: parent_path(), get_directory_entries(). * New Strutil utilities: extract_from_list_string * spinlock tweaks make it faster than TBB's spin locks! * By default, we no longer build or use TBB (it's considered deprecated, but in 1.2 can still be turned on with USE_TBB=1). * In fmath.h, added definitions for safe_inversesqrt, safelog, safe_log2, safe_log10, safe_logb. * In typedesc.h, added TypeDesc::tostring() function. * unordered_map_concurrent.h contains a template for a thread-safe unordered_map that is very efficient even for large number of threads simultaneously accessing it. * Documentation: Finally, a chapter in the PDF docs that fully describes the ImageBuf class. Release 1.1.13 (24 Jun 2013) ---------------------------- * Texture: make sure wrap mode "black" wins over "fill" value when they conflict. Release 1.1.12 (20 Jun 2013) ---------------------------- * Fix oiiotool '#' wildcard, was broken on Windows. * Fix an overflow problem that plagued 'maketx' when running on input larger than 32k x 32k (among other possible failures). Release 1.1.11 (29 May 2013) ---------------------------- * IFF input: bug in endian swap of 16 bit IFF files. * oiiotool: fix a minor bug where tiled files were output inappropriately. (Had been patched in master some time ago.) * fmath.h additions: safe_inversesqrt, safe_log, safe_log2, safe_log10, safe_logb. These are versions that clamp their inputs so that they can't throw exceptions or return Inf or NaN. * Fix to not incorrectly print ImageCache stats for certain broken files. Release 1.1.10 (13 Apr 2013) ---------------------------- * IBA::fillholes() and oiiotool --fillholes can smoothly fill in alpha holes with nearby colors. Great for extrapolating the empty areas of texture atlas images so that filtered texture lookups pull in a plausible color at part edges. * IBA::clamp and oiiotool --clamp clamp pixel values to a scalar or per-channel min and/or max, or clamp alpha to [0,1]. * IBA::rangecompress()/rangeexpand(), and oiiotool --rangecompress / --rangeexpand compress the excess >1 values of HDR images to a log scale (leaving the <= 1 part linear), and re-expand to the usual linear scale. This is very helpful to reduce ringing artifacts that can happen when an HDR image is resized with a good filter with negative lobes (such as lanczos3), by doing a range compression, then the resize, then range expansion. It's not mathematically correct and loses energy, but it often makes a much more pleasing result. * maketx --hicomp does highlight compression -- automatically doing a range compress before each high-quality resize step, and then a range expansion and clamp-to-zero (squash negative pixels) after each resize. * DPX - when writing DPX files, properly set the pixel aspect ratio. Release 1.1.9 (2 Apr 2013) -------------------------- * IBA::resize and oiiotool --resize/--fit: Bug fixes to resize filter size selection fix artifacts wherein extreme zooms could end up with black stripes in places where the filters fell entirely between samples. * oiiotool --fit: fix subtle bugs with aspect ratio preservation for images with differing data and display windows; and allow "filter=..." to override the default filter used for fit. * Resize improvement: fix potential artifacts at the image edges resulting from odd clamping behavior. * Even more frame range wildcard flexibility with oiiotool --frames and --framepadding options. * oiiotool --resize and --fit (and the underlying IBA::resize()) have been sped up significantly and are now also multithreaded. Release 1.1.8 (15 Mar 2013) --------------------------- * oiiotool --chappend (and ImageBufAlgo::channel_append() underneath) allow you to take two files and concatenate their color channels. * oiiotool --chnames allows you to rename some or all of a file's color channels. * oiiotool can loop over entire frame ranges by specifying wildcard filenames such as "foo.#.tif" or "bar.1-10#.exr". * Cmake: OVERRIDE_SHARED_LIBRARY_SUFFIX allows the shared library suffix to be overridden (e.g., if you need to force .so names on OSX rather than the usual default of .dylib).
Diffstat (limited to 'graphics/openimageio')
-rw-r--r--graphics/openimageio/Makefile5
-rw-r--r--graphics/openimageio/PLIST27
-rw-r--r--graphics/openimageio/distinfo14
-rw-r--r--graphics/openimageio/patches/patch-cmake_platform.cmake14
-rw-r--r--graphics/openimageio/patches/patch-include_pugixml.hpp10
-rw-r--r--graphics/openimageio/patches/patch-libutil_sysutil.cpp8
6 files changed, 28 insertions, 50 deletions
diff --git a/graphics/openimageio/Makefile b/graphics/openimageio/Makefile
index 13814b0b991..4e85a809b9b 100644
--- a/graphics/openimageio/Makefile
+++ b/graphics/openimageio/Makefile
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.16 2013/09/01 12:14:06 obache Exp $
+# $NetBSD: Makefile,v 1.17 2013/10/12 22:13:44 ryoon Exp $
-OIIOVER= 1.1.7
+OIIOVER= 1.2.2
DISTNAME= oiio-Release-${OIIOVER}
PKGNAME= ${DISTNAME:S/oiio-Release/openimageio/}
-PKGREVISION= 6
CATEGORIES= graphics
MASTER_SITES= -https://github.com/OpenImageIO/oiio/archive/Release-${OIIOVER}.tar.gz
FETCH_USING= curl
diff --git a/graphics/openimageio/PLIST b/graphics/openimageio/PLIST
index 378ae7fb81a..ec4e9ace063 100644
--- a/graphics/openimageio/PLIST
+++ b/graphics/openimageio/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.1 2012/12/03 12:54:14 ryoon Exp $
+@comment $NetBSD: PLIST,v 1.2 2013/10/12 22:13:44 ryoon Exp $
bin/iconvert
bin/idiff
bin/igrep
@@ -17,6 +17,7 @@ include/OpenImageIO/fmath.h
include/OpenImageIO/hash.h
include/OpenImageIO/imagebuf.h
include/OpenImageIO/imagebufalgo.h
+include/OpenImageIO/imagebufalgo_util.h
include/OpenImageIO/imagecache.h
include/OpenImageIO/imageio.h
include/OpenImageIO/optparser.h
@@ -28,28 +29,6 @@ include/OpenImageIO/pugixml.hpp
include/OpenImageIO/refcnt.h
include/OpenImageIO/strutil.h
include/OpenImageIO/sysutil.h
-include/OpenImageIO/tbb/_tbb_windef.h
-include/OpenImageIO/tbb/aligned_space.h
-include/OpenImageIO/tbb/atomic.h
-include/OpenImageIO/tbb/machine/ibm_aix51.h
-include/OpenImageIO/tbb/machine/linux_common.h
-include/OpenImageIO/tbb/machine/linux_ia32.h
-include/OpenImageIO/tbb/machine/linux_ia64.h
-include/OpenImageIO/tbb/machine/linux_intel64.h
-include/OpenImageIO/tbb/machine/mac_ppc.h
-include/OpenImageIO/tbb/machine/windows_ia32.h
-include/OpenImageIO/tbb/machine/windows_intel64.h
-include/OpenImageIO/tbb/spin_mutex.h
-include/OpenImageIO/tbb/spin_rw_mutex.h
-include/OpenImageIO/tbb/tbb_allocator.h
-include/OpenImageIO/tbb/tbb_assert_impl.h
-include/OpenImageIO/tbb/tbb_config.h
-include/OpenImageIO/tbb/tbb_exception.h
-include/OpenImageIO/tbb/tbb_machine.h
-include/OpenImageIO/tbb/tbb_misc.h
-include/OpenImageIO/tbb/tbb_profiling.h
-include/OpenImageIO/tbb/tbb_stddef.h
-include/OpenImageIO/tbb/tbb_version.h
include/OpenImageIO/texture.h
include/OpenImageIO/thread.h
include/OpenImageIO/timer.h
@@ -59,7 +38,7 @@ include/OpenImageIO/ustring.h
include/OpenImageIO/varyingref.h
include/OpenImageIO/version.h
lib/libOpenImageIO.so
-lib/libOpenImageIO.so.1.1
+lib/libOpenImageIO.so.1.2
lib/libOpenImageIO.so.${PKGVERSION}
share/doc/openimageio/CHANGES
share/doc/openimageio/LICENSE
diff --git a/graphics/openimageio/distinfo b/graphics/openimageio/distinfo
index be3aebf9bf1..fefba60d0db 100644
--- a/graphics/openimageio/distinfo
+++ b/graphics/openimageio/distinfo
@@ -1,18 +1,18 @@
-$NetBSD: distinfo,v 1.6 2013/07/05 21:34:11 joerg Exp $
+$NetBSD: distinfo,v 1.7 2013/10/12 22:13:44 ryoon Exp $
-SHA1 (oiio-Release-1.1.7.tar.gz) = 435286ffad18169fd615cd33d95c2b49d3e4ec17
-RMD160 (oiio-Release-1.1.7.tar.gz) = dfe15e32ff0c821165079bf517cf11dd87146ccc
-Size (oiio-Release-1.1.7.tar.gz) = 8300700 bytes
+SHA1 (oiio-Release-1.2.2.tar.gz) = bb9505dbdddcac2ea4545bf0258d7637e3056d5c
+RMD160 (oiio-Release-1.2.2.tar.gz) = dd5c841ca90b6ccc9d7fc25ec2b56424827a6040
+Size (oiio-Release-1.2.2.tar.gz) = 12383820 bytes
SHA1 (patch-CMakeLists.txt) = 2923ca84d7981aaaf6494588392444e5ee07f74a
SHA1 (patch-cmake_modules_FindOpenJpeg.cmake) = 20d15c8ee0a25ab631ed39910b6e441d069760c5
SHA1 (patch-cmake_oiio__macros.cmake) = 016c4792c1dc85a903477f4c72af26577e1b2bb9
-SHA1 (patch-cmake_platform.cmake) = bb3ef743bdb04a76efcabb745af62473205e01ae
+SHA1 (patch-cmake_platform.cmake) = e63ca222249b708c82f77911a04bd609e36eb1dc
SHA1 (patch-dpx.imageio_libdpx_DPXColorConverter.cpp) = 595415e7e2897798df76474dd906e25cdf3a929e
-SHA1 (patch-include_pugixml.hpp) = 242a95507b970c3cef94099d49fc2326b79bd23b
+SHA1 (patch-include_pugixml.hpp) = 41bc40c1c11ddbecf9b03ca570718e1cbb08262a
SHA1 (patch-include_tbb_tbb__exception.h) = b2e98d44666d8a113dd6f21f2300ffdd8af3e20c
SHA1 (patch-include_tbb_tbb__machine.h) = 7d9a196397315e0d39dd2f16139e011ab84c5630
SHA1 (patch-include_tbb_tbb__misc.h) = 27995a9cdb72b182e352b2a649756af2d60fec86
-SHA1 (patch-libutil_sysutil.cpp) = b7484aef56ea239bae20faba1f04c14907557485
+SHA1 (patch-libutil_sysutil.cpp) = b14b13efd313cbca0068fb58758b5d2095e4cd4d
SHA1 (patch-make_detectplatform.mk) = a399f09b9280109519a829dbacc1b924a074f4cc
SHA1 (patch-psd.imageio_psdinput.cpp) = 9387715224c93aff28bac55bfc54a435d1de7c1f
SHA1 (patch-ptex.imageio_ptex_PtexPlatform.h) = 3c32f95181cfcf8c0e67249a4d04f7ea14a5e122
diff --git a/graphics/openimageio/patches/patch-cmake_platform.cmake b/graphics/openimageio/patches/patch-cmake_platform.cmake
index 76d44f5eae0..5f75400b56f 100644
--- a/graphics/openimageio/patches/patch-cmake_platform.cmake
+++ b/graphics/openimageio/patches/patch-cmake_platform.cmake
@@ -1,16 +1,16 @@
-$NetBSD: patch-cmake_platform.cmake,v 1.2 2013/02/27 15:19:02 ryoon Exp $
+$NetBSD: patch-cmake_platform.cmake,v 1.3 2013/10/12 22:13:44 ryoon Exp $
* Add NetBSD support
---- cmake/platform.cmake.orig 2013-02-21 17:10:46.000000000 +0000
+--- cmake/platform.cmake.orig 2013-09-30 17:25:21.000000000 +0000
+++ cmake/platform.cmake
-@@ -30,6 +30,16 @@ if (UNIX)
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=i586")
- endif()
+@@ -28,6 +28,16 @@ if (UNIX)
+ # with arch of i586 or higher
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=i586")
endif()
+ elseif (${CMAKE_SYSTEM_NAME} STREQUAL "NetBSD")
-+ set (platform "NetBSD")
-+ set (CXXFLAGS "${CXXFLAGS} -DNETBSD")
++ set (platform "NetBSD")
++ set (CXXFLAGS "${CXXFLAGS} -DNETBSD")
+ if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "i386")
+ if (NOT USE_TBB)
+ # to use gcc atomics we need cpu instructions only available
diff --git a/graphics/openimageio/patches/patch-include_pugixml.hpp b/graphics/openimageio/patches/patch-include_pugixml.hpp
index 61b529e541e..7d019e03d35 100644
--- a/graphics/openimageio/patches/patch-include_pugixml.hpp
+++ b/graphics/openimageio/patches/patch-include_pugixml.hpp
@@ -1,9 +1,9 @@
-$NetBSD: patch-include_pugixml.hpp,v 1.1 2013/05/09 13:58:54 joerg Exp $
+$NetBSD: patch-include_pugixml.hpp,v 1.2 2013/10/12 22:13:44 ryoon Exp $
---- include/pugixml.hpp.orig 2013-02-21 17:10:46.000000000 +0000
+--- include/pugixml.hpp.orig 2013-09-30 17:25:21.000000000 +0000
+++ include/pugixml.hpp
-@@ -18,6 +18,11 @@
- #include "version.h"
+@@ -23,6 +23,11 @@
+
#ifndef PUGIXML_NO_STL
+#include <iterator>
@@ -14,7 +14,7 @@ $NetBSD: patch-include_pugixml.hpp,v 1.1 2013/05/09 13:58:54 joerg Exp $
namespace std
{
struct bidirectional_iterator_tag;
-@@ -45,6 +50,7 @@ namespace std
+@@ -50,6 +55,7 @@ namespace std
#endif
}
#endif
diff --git a/graphics/openimageio/patches/patch-libutil_sysutil.cpp b/graphics/openimageio/patches/patch-libutil_sysutil.cpp
index 938e429aff4..2c978e5e115 100644
--- a/graphics/openimageio/patches/patch-libutil_sysutil.cpp
+++ b/graphics/openimageio/patches/patch-libutil_sysutil.cpp
@@ -1,8 +1,8 @@
-$NetBSD: patch-libutil_sysutil.cpp,v 1.1 2012/12/03 12:54:15 ryoon Exp $
+$NetBSD: patch-libutil_sysutil.cpp,v 1.2 2013/10/12 22:13:44 ryoon Exp $
* Treat NetBSD like Linux (I am not sure)
---- libutil/sysutil.cpp.orig 2012-11-16 23:02:42.000000000 +0000
+--- libutil/sysutil.cpp.orig 2013-09-30 17:25:21.000000000 +0000
+++ libutil/sysutil.cpp
@@ -39,7 +39,7 @@
# include <sys/ioctl.h>
@@ -14,11 +14,11 @@ $NetBSD: patch-libutil_sysutil.cpp,v 1.1 2012/12/03 12:54:15 ryoon Exp $
# include <sys/resource.h>
# include <sys/sysctl.h>
@@ -150,7 +150,7 @@ Sysutil::this_program_path ()
+ char filename[10240];
filename[0] = 0;
- unsigned int size = sizeof(filename);
-#if defined(__linux__)
+#if defined(__linux__) || defined(__NetBSD__)
+ unsigned int size = sizeof(filename);
int r = readlink ("/proc/self/exe", filename, size);
ASSERT(r < int(size)); // user won't get the right answer if the filename is too long to store
- if (r > 0) filename[r] = 0; // readlink does not fill in the 0 byte