summaryrefslogtreecommitdiff
path: root/media-libs
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/Manifest.gzbin66295 -> 66297 bytes
-rw-r--r--media-libs/libmatemixer/Manifest2
-rw-r--r--media-libs/libmatemixer/libmatemixer-1.18.0.ebuild2
-rw-r--r--media-libs/mesa/Manifest2
-rw-r--r--media-libs/mesa/mesa-17.2.7.ebuild2
-rw-r--r--media-libs/openimageio/Manifest11
-rw-r--r--media-libs/openimageio/files/openimageio-1.6.18-make-python-and-boost-detection-more-generic.patch343
-rw-r--r--media-libs/openimageio/files/openimageio-1.6.18-repair-breaks-after-boost-python-1.65-changes.patch251
-rw-r--r--media-libs/openimageio/files/openimageio-1.6.18-use-gnuinstalldirs.patch247
-rw-r--r--media-libs/openimageio/files/openimageio-1.7.17-make-python-and-boost-detection-more-generic.patch336
-rw-r--r--media-libs/openimageio/files/openimageio-1.7.17-use-gnuinstalldirs.patch247
-rw-r--r--media-libs/openimageio/metadata.xml12
-rw-r--r--media-libs/openimageio/openimageio-1.6.18.ebuild109
-rw-r--r--media-libs/openimageio/openimageio-1.7.17.ebuild113
14 files changed, 1672 insertions, 5 deletions
diff --git a/media-libs/Manifest.gz b/media-libs/Manifest.gz
index 7286031239b7..e8818ff9aa4d 100644
--- a/media-libs/Manifest.gz
+++ b/media-libs/Manifest.gz
Binary files differ
diff --git a/media-libs/libmatemixer/Manifest b/media-libs/libmatemixer/Manifest
index e6be4e6220a7..b0dec4610a4d 100644
--- a/media-libs/libmatemixer/Manifest
+++ b/media-libs/libmatemixer/Manifest
@@ -5,5 +5,5 @@ DIST libmatemixer-1.18.0.tar.xz 418772 BLAKE2B f37689b9929ac659c6f314f2d5751beff
EBUILD libmatemixer-1.12.1-r1.ebuild 731 BLAKE2B de5e03f7694d0f700014f3806c8b0fbdd050e84333ec6a20c9dbbecf6d2958ae3fe89b61a5c74fa117f5c5f1cfdbdda085b2e9076ed4f46f837d7d8e6c3fb558 SHA512 2e0b39ac87f29ad3ffee3732c5ba68630c3d6952c590ea8959717d288953ab67d7972aa630656d092e353d60baf5a5ab1cacdae1fba860ee84480e7478d80dd9
EBUILD libmatemixer-1.14.0.ebuild 773 BLAKE2B 1b2f155001729212769c63a772b4f66cbd3d2b5fbf0314b88ebeaae6ec24802c63532c177704cc2c23cc3c63926dc9334352f908c136da5ac155d187a9e0e61e SHA512 67a50d025b0a3806157b7bd362eac25b85ac9a499a6277fc59c21057897f9dd31cdf825b427a840905828c27f99c7454647385e3592c448d27c511cada284e2b
EBUILD libmatemixer-1.16.0.ebuild 773 BLAKE2B 1b2f155001729212769c63a772b4f66cbd3d2b5fbf0314b88ebeaae6ec24802c63532c177704cc2c23cc3c63926dc9334352f908c136da5ac155d187a9e0e61e SHA512 67a50d025b0a3806157b7bd362eac25b85ac9a499a6277fc59c21057897f9dd31cdf825b427a840905828c27f99c7454647385e3592c448d27c511cada284e2b
-EBUILD libmatemixer-1.18.0.ebuild 773 BLAKE2B 270b4755c4c5009d04f26401c632704a6e9aec64281b2bc7ff0c4d5e6929beba63f058b350ffc6b5ba904b0ec4db9afc6ac905891dccf425c73ab8e542bdf8de SHA512 2b69363a23dd6c38fd5859789c96acdffe54597c92257a3aa188ee880fce9682e55310cef0daa44b983742a562de39cc7acff1247639350614ece4788f3c214e
+EBUILD libmatemixer-1.18.0.ebuild 780 BLAKE2B cee26b3eee1d61f2ce2f7ad74d186ded80b8d42ba5e18eb0cc72077c0f72357d4d7eab7ef5dc1a17cd0b70f4223d849ac2ecf83e78a48a80fb33f174a436556b SHA512 f31826f47c1bac1c247c9edb6f5e32a4680c983b72074c0a5a16dd8d8969db87429e54e2ba094e915d3f10fa089dd390b2c0256841e5835b7a5ed564287d61d7
MISC metadata.xml 341 BLAKE2B e060b6c02aaaea5885ec10566d2e3b13fb2f480201b3b43144255fa1f27a93a648a9030fa02f0efd20c8f32ee93e03661f379a63576822ed5c27b094ff6d7d81 SHA512 0c6f04ebdfe4cd26e7fdad53fd184045f6d95c4b9c888883f255ddc566fc02e0cf86138d5557fb71c0e8e9ea12e0d19657b218e1d310ce414e2911470eaa9359
diff --git a/media-libs/libmatemixer/libmatemixer-1.18.0.ebuild b/media-libs/libmatemixer/libmatemixer-1.18.0.ebuild
index 261e3dc7a6c9..6d5c8cee7db5 100644
--- a/media-libs/libmatemixer/libmatemixer-1.18.0.ebuild
+++ b/media-libs/libmatemixer/libmatemixer-1.18.0.ebuild
@@ -6,7 +6,7 @@ EAPI=6
inherit mate
if [[ ${PV} != 9999 ]]; then
- KEYWORDS="~amd64 ~arm ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
fi
DESCRIPTION="Mixer library for MATE Desktop"
diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest
index 2f2744e1c405..5fa044a40a3f 100644
--- a/media-libs/mesa/Manifest
+++ b/media-libs/mesa/Manifest
@@ -5,7 +5,7 @@ DIST mesa-17.2.7.tar.xz 10353448 BLAKE2B cb116d7d7f8ace7769c348f04c0db194312553f
DIST mesa-17.3.0.tar.xz 10667896 BLAKE2B 4786f1ac3fa2d2f07895c829f2c0770861d64f606d72635eb206cb9f0a1e84c061950fbf33b2c7b27055399da43d705ed9abd5d8f46c7bb3e3d9a6497f4bd71d SHA512 b0a616ce9a534a19c42eb0a626a178c6a7171aae1989351ea7c2a9e775a7478758b805dbfb754056720b1ef0454c3d3beb64aa59543be27f249ce97efae8e47e
EBUILD mesa-17.1.10.ebuild 13427 BLAKE2B 584c9d7c4954623b346c6884d3870131a338ec6ab1f6b6976447a94014fa6fcb7a8c349898e44a0716a844dd6d4943175b6d2c4f213c37879f7973317009a9c9 SHA512 cdd0a580b7051e39a2a1fe1e0f8ca4671420ae69670c71b252057080d0384a74d3228ccafd40ea44b4be3057ff6d33977119bfbf8c4e3780bce8f1017db03645
EBUILD mesa-17.2.6.ebuild 15006 BLAKE2B afff4eb4640402b2fd36d86cbae220e956c4a09917d6081c304779124ba86a4373ca37cbbe8610396ee7c2a0a24659432689e70fde79b4a355c122b61b4d2caa SHA512 9d1e62aca188b73dbfc63434934f1202060945320e35805f519bc85c22f7765057d594b095874f12f04f0f9ebe3be0705a92392c7deb52711dc232c2ca93739f
-EBUILD mesa-17.2.7.ebuild 15004 BLAKE2B 0be51eceafdacad450f608906d7fbb62290bb9936c25ef4bff835c8bad8806b08602f21e7151b6df9f682c9021220e5f126d768132dd02c74ae3d92e8a9c9612 SHA512 4888fae0e2a4ef8841475e445effb16fde6460820810182c67e49ef934afb88e70bd7e8f2d04f1d6e719f31ace830f3a22ae9a850ce9c9e39bf05def813cafcc
+EBUILD mesa-17.2.7.ebuild 15003 BLAKE2B 402ac8a47c96f6aed2170b175e32d98bac0eb7edfdba2429a5a58415b7d5689be0f7eeaffa09fed90ef3d8a9de57e8684a37e0d82a83d38e6a5df117f8a2b7ef SHA512 da9df87bfd511973e8e1e5a46f19c6522c399edbd05a93e59ce332af1c3e98c83ceb750535e08a84587f40ccc670beaec859e2b26d8aad7077f69f600954efb1
EBUILD mesa-17.3.0.ebuild 14892 BLAKE2B e3fb731721a648981bc901a4b96a0d76d6e0a1d9393d515bff62c808c700626052983a5d0ec29b2f584da70246fb53eba99abb9403eccb62fd74e289b9113d11 SHA512 57ac595432a400c8435ba4e60d4a64e2333e33cd5f2c0ad8292a30677fbcd85ebe60c913f8d47b66cb79ed06b42f4da3e288675514ecefaed8c74d1f98553087
EBUILD mesa-9999.ebuild 14935 BLAKE2B 2dc1df6d79a037e01e7d95b2a94716b5df4f25bce37397938812d91ba6ca9b5f9d4a30d8b88be8d2d5d7f7487f8c35cc81031a8586935912d52313aeb21dc233 SHA512 c66ac4dd0afa249b4d886a583076cce12f1e7b5d3154705f784f91402273055c6c0f0e800ac29a07eca837f671c346e0feb023531f7c302b678825f7581f0341
MISC metadata.xml 2095 BLAKE2B c1c858a478bbb1c7e38a45dbf00e380a3d26c56920db1897521a7e9f4eb005157e535207ae2274d744e3ce5514a57654eb0effb2cfc773263a0f417874cdc742 SHA512 c3db8aeb4f4ae7ea27c8b48cb26ee9348d84e6fb4b99df815b177e62e78cd980a7834c152e2c10c6fdbe2b91a032861a0c0503625874bfb6df58ccc3bf54e705
diff --git a/media-libs/mesa/mesa-17.2.7.ebuild b/media-libs/mesa/mesa-17.2.7.ebuild
index ac743382963a..f0d6dc67a385 100644
--- a/media-libs/mesa/mesa-17.2.7.ebuild
+++ b/media-libs/mesa/mesa-17.2.7.ebuild
@@ -25,7 +25,7 @@ if [[ $PV == 9999 ]]; then
SRC_URI=""
else
SRC_URI="https://mesa.freedesktop.org/archive/${MY_P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
+ KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
fi
LICENSE="MIT"
diff --git a/media-libs/openimageio/Manifest b/media-libs/openimageio/Manifest
index 422ab8b9a899..b0bbbff79e8e 100644
--- a/media-libs/openimageio/Manifest
+++ b/media-libs/openimageio/Manifest
@@ -1,6 +1,15 @@
AUX openimageio-1.3.5-openexr-2.x.patch 1655 BLAKE2B e75ad1bd47d640e4f6b79246f90a853b0d6f8436b252e5625e48c5630b93a3a7754386cd038617c81d9efb606d69efe7d42ac1a92bbb139daf7970d7de020758 SHA512 3e7819aa866129b20d66ee371d653e80b34fd86a173a70ee280453f38d2b6815ca8fa403ddb85b2ae26a8f20dfbb6d319646b486b664933e665c48ea9ac54a87
+AUX openimageio-1.6.18-make-python-and-boost-detection-more-generic.patch 15826 BLAKE2B 7f1744321e4dd59264502ecbb9ec958a6d0ee26a0e1a53be3e0b31fa5e3cc7f0846c95af81b66796f1901378689fb5c217bfd9f991d44451a95de0716a1bcb78 SHA512 57fbd123445ea474609239bb54a2032f4f97fd686ce74479431a90e1b251d4cae1d7f740b14c8360dd498edcac9c51c1d84dece82b2f6b513e709c386bb9ad9e
+AUX openimageio-1.6.18-repair-breaks-after-boost-python-1.65-changes.patch 9877 BLAKE2B 0325e373bae367d3581343d49cda84ee27161a8a9a07e85ec00c81e6a0f11de5ce26d71ccc91153187ee79a97933d8307cbff84713524b3a5e40083dc075384c SHA512 e507ba714689a5da0f0a864804eaa0862b1aa4fc0e77f68934ae369c4de11ca566c9efd75ba5060d0294b42bf2bd7f20127eaf8e50efb4ff92497f1b60295f4c
+AUX openimageio-1.6.18-use-gnuinstalldirs.patch 11257 BLAKE2B 524d40a5ad4827743d20a259f2fd2ed094945439eef620473ff1097efb150cdfc80c66f4576b869aed6c7b9d086499d5d286c3dcaae4d891a37f6ae06f504a85 SHA512 3ca9e8474bc58b726686d1e87766d20f2cdcb2544b07b20a8a48594b442409f753c1e860219bfe948d19cdf0f5090bd04299ab6fdc6bf39f753d158d9f75a1e1
+AUX openimageio-1.7.17-make-python-and-boost-detection-more-generic.patch 15432 BLAKE2B 550a6aa0b962b6efc5c9fb01dcb781dc78bc26a42624c8d4f4be24925464d66e6cbc1a0a7d9dcececa5c5681a70e34d97bfd72ee3224158cffe8ca151a0750c9 SHA512 433dda4b999d60248fecffe0c5866c1214a2db68dedb0e63e36f9c5e0fbcd5c54d3faff3effd19d7b3bb57bce9016eca10f58ba6b3a4143391325838cb637227
+AUX openimageio-1.7.17-use-gnuinstalldirs.patch 11236 BLAKE2B f8adc11f949906bce9046fffb0074487962c8832b4b026a7c2a47b081d0c30ca813536462a685feb5e67b793b37cb5985c3cfc6766df65424c6921ec0bc28e60 SHA512 27d51f70406812efad10cc099a3c9cabb21f98db4bc718ec14269bea564059be40e691210537cb5609708e1ba318fb485a8e02317a34c20106b2b826200ad79f
DIST openimageio-1.3.5.tar.gz 13472488 BLAKE2B 2bd6985b338cc6ec4951d372c613aa79b10571b4a0f901f16ce34ecc9c03394aaa25de42b9e1a2e29f4c6f3a68694ee54788e766a2aaa6b5b782a6fd94cf5d22 SHA512 15c4a53ab4d139839da9e9b4bbbf8ad6e00da98e73e0373cec136ce8f54b0ceae0daa2b1680c8ddab49e1680825a08be7778a9f1b7a13dd30e020b8a8c517b95
DIST openimageio-1.6.13.tar.gz 24846132 BLAKE2B a72b7756257d4ffd1567efd73c24bf65fc2bffff82c96c18a77211e918323e65e1c99076e272b3b77115ca30910ea4cfced222892b062e339d8e4e85bd2221f7 SHA512 8cd490b6d6a3c0b542c4bcab709897c5f35ce6844ce7465e0158ac52a1b108603ccc76439f7f2e46af2ec08be4293bda6a76ec68a959026af70a444cbbdc21d6
+DIST openimageio-1.6.18.tar.gz 24881550 BLAKE2B debd5624cf91a087cb73b88047767fe1915a5c52bf27bf3fb60b14abb572e980ea039d2626818c6b99cc5d596892aec0693226cabdc74cc2620f8221d7358f89 SHA512 b94429b77263e00c33fa79fcae1b444eab01937f6dc77168b31249204de9a31c17765a8b41bec2f7d53c3d03512ba151001607bd719cb1861a3f0231a1865d51
+DIST openimageio-1.7.17.tar.gz 27164765 BLAKE2B 8245c2573577ad681753db0cad16dfd806e869ff1f443997bcf39d9a6474c585c749e9ff26bce5f23b9d42ef035bf8ce519374261a21ca0e3c4e7e13809f1a6b SHA512 c5ee9173d3acc24a5045e6ac97657d4bf0c5ac1d3250497db51b8bd9e27e2fc48979eba3598635eb6053b87748f8827be2d2831d425459a41c893e6cb43bce94
EBUILD openimageio-1.3.5.ebuild 2751 BLAKE2B 906669397274921918f70ab582cd8b493ba2cf953b9b0efd3a878ffac352462b52bbf5ad75cadf88af105e0535fd6c3899aa247fd808af43a9847cbc742c607b SHA512 27bd18128ca8728ba14f6bb4efebc95d0fc4d8beb3b3fc761d9911eece4bc0f0111b22aaf323182d39b7f40c3437839df4e9d8ecf620c34b2c97f4ec4bce7265
EBUILD openimageio-1.6.13.ebuild 2466 BLAKE2B 7273dfa5a76b39e7aaa7a9e6bfbda3c2de387d8c6c6e78605dd94b95342384b6c02242319df25e6eb927744e8d623c452b892ff509ac33904df13e840fe8c21b SHA512 3f9d4b34e90248b6bd8b8d0d2f631974d00af19dee7a232d025deba7919c549386644ba4c3959ed6f70a9442e180afdf181def470cf4dde8b037ac672390ee54
-MISC metadata.xml 538 BLAKE2B 0b657de04f9189454cb248169df69f69dde3a2c849fde411a5eb810a86ae50bc9f23b30d09dbf59a9671df210828e83cfb2c60cc0234bd4af12d73f12a83eefd SHA512 ffc7d1fc069a542539fb68033f24a0f2f2daf69269fd33af58a2cb90a38223c0ca292dd742eec88af1648db1f4fdee2e1ef0fc4e171f5b7c30298d982ccc73b7
+EBUILD openimageio-1.6.18.ebuild 2965 BLAKE2B b090ec9bad08a9989363012a212fc781e44cce2877fb00bda995ff6076ce863255c913487c6a1a373dc41e8ec40af83ab741f749661b566201f0975d22b2ad01 SHA512 8de65e7d4a338ae771cefda91e48f0a90a2bf094e257ff7cf20c16fcd96e1f9e78c697be0005fafaadebf024d17fe89398a80bc10fea89a48a0e70e7ac077732
+EBUILD openimageio-1.7.17.ebuild 2964 BLAKE2B f9e01b2eaed873edd5935e01beb6c4149a5934b0a00ae8b949ce22a502577d790f86de147406e206ffd0ba12a8d0f0bbf4d070b876c08ad2b4c62baa624fe556 SHA512 a4a625449eb2737072760c8d00413d2193b7ddd3a70b5eeff1fb2e9daec31c6884635a0e6e49b61c65a3ebe83df118f29153464232cdae13cb0697404575a3c1
+MISC metadata.xml 993 BLAKE2B 5a252fa4f9f3fc0de4cfebaf1b4fe00e48943f018f1860c35d189e1ce78e995371a25ee6c9366fcc5e0d6d1d0e09144973c2c44b418002fd8e0badeafa0921a6 SHA512 71a43980fef699fcf83ff6a9773a8f10c33b87fe40ff0a3540052f79cf130eb71a0ad18f97247ca6ac9355a9dcf3d847e7df0822e775dd9877f5d2501733917f
diff --git a/media-libs/openimageio/files/openimageio-1.6.18-make-python-and-boost-detection-more-generic.patch b/media-libs/openimageio/files/openimageio-1.6.18-make-python-and-boost-detection-more-generic.patch
new file mode 100644
index 000000000000..ad1a8aeb316d
--- /dev/null
+++ b/media-libs/openimageio/files/openimageio-1.6.18-make-python-and-boost-detection-more-generic.patch
@@ -0,0 +1,343 @@
+From 2d62c7f5068f678317c506d108698a78a90e5ba0 Mon Sep 17 00:00:00 2001
+From: Jonathan Scruggs <j.scruggs@gmail.com>
+Date: Thu, 28 Sep 2017 15:20:24 +0100
+Subject: [PATCH 2/2] oiio/RB-1.6: Make python and boost detection more generic
+
+* Fix boost and python detection for certain systems.
+* Clean up boost and python detection.
+* Remove redundant code.
+
+Backported from:
+https://github.com/OpenImageIO/oiio/commit/fca7ed62bd679a8221147dcddb23a516796dab90
+---
+ CMakeLists.txt | 38 +------------
+ src/cmake/externalpackages.cmake | 61 +-------------------
+ src/python/CMakeLists.txt | 119 ++++++++++++++++-----------------------
+ 3 files changed, 53 insertions(+), 165 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b29efac6..dd314d07 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -180,7 +180,6 @@ set (USE_OPENGL ON CACHE BOOL "Include OpenGL support")
+ set (USE_QT ON CACHE BOOL "Include Qt support")
+ set (FORCE_OPENGL_1 OFF CACHE BOOL "Force iv to use OpenGL's fixed pipeline")
+ set (USE_PYTHON ON CACHE BOOL "Build the Python bindings")
+-set (USE_PYTHON3 OFF CACHE BOOL "Build the Python3 bindings")
+ set (USE_FIELD3D ON CACHE BOOL "Use Field3D if found")
+ set (USE_FFMPEG ON CACHE BOOL "Use FFmpeg if found")
+ set (JPEG_PATH "" CACHE STRING "Custom JPEG path")
+@@ -197,8 +196,7 @@ set (USE_LIBRAW ON CACHE BOOL "Use LibRaw if found")
+ set (LIBRAW_PATH "" CACHE STRING "Custom LibRaw path")
+ set (NOTHREADS OFF CACHE BOOL "Compile with no threads or locking")
+ set (OIIO_THREAD_ALLOW_DCLP ON CACHE BOOL "OIIO threads may use DCLP for speed")
+-set (PYTHON_VERSION 2.6)
+-set (PYTHON3_VERSION 3.2)
++set (PYTHON_VERSION "2.7" CACHE STRING "Target version of python to find")
+ set (USE_NUKE ON CACHE BOOL "Build Nuke plugins, if Nuke is found")
+ set (Nuke_ROOT "" CACHE STRING "Where to find Nuke installation")
+ set (NUKE_VERSION 7.0)
+@@ -321,32 +319,7 @@ include_directories (
+
+
+ ###########################################################################
+-# Set install paths for the python modules
+-# TODO: Figure out how to get the correct python directory
+-
+-if (UNIX AND NOT SELF_CONTAINED_INSTALL_TREE)
+- # TODO: Figure out how to get the correct python directory
+- set (DEFAULT_PYLIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/python/site-packages")
+- set (DEFAULT_PYLIB3_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/python3/site-packages")
+-else ()
+- # Here is the "self-contained install tree" case: the expectation here
+- # is that everything related to this project will go into its own
+- # directory, not into some standard system heirarchy.
+- set (DEFAULT_PYLIB_INSTALL_DIR "python")
+- set (DEFAULT_PYLIB3_INSTALL_DIR "python3")
+-endif ()
+-if (EXEC_INSTALL_PREFIX)
+- # Tack on an extra prefix to support multi-arch builds.
+- set (DEFAULT_PYLIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_PYLIB_INSTALL_DIR}")
+- set (DEFAULT_PYLIB3_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_PYLIB3_INSTALL_DIR}")
+-endif ()
+-# Set up cmake cache variables corresponding to the defaults deduced above, so
+-# that the user can override them as desired:
+-set (PYLIB_INSTALL_DIR ${DEFAULT_PYLIB_INSTALL_DIR} CACHE STRING
+- "Install location for python libraries (relative to CMAKE_INSTALL_PREFIX or absolute)")
+-set (PYLIB3_INSTALL_DIR ${DEFAULT_PYLIB3_INSTALL_DIR} CACHE STRING
+- "Install location for python3 libraries (relative to CMAKE_INSTALL_PREFIX or absolute)")
+-
++# Set default install options
+ set (PLUGIN_SEARCH_PATH "" CACHE STRING "Default plugin search path")
+
+ set (INSTALL_DOCS ON CACHE BOOL "Install documentation")
+@@ -442,14 +415,9 @@ if (NOT EMBEDPLUGINS)
+ add_subdirectory (src/zfile.imageio)
+ endif ()
+
+-if (USE_PYTHON AND oiio_boost_PYTHON_FOUND AND NOT BUILD_OIIOUTIL_ONLY)
++if (USE_PYTHON AND NOT BUILD_OIIOUTIL_ONLY)
+ add_subdirectory (src/python)
+ endif ()
+-if (USE_PYTHON3 AND NOT BUILD_OIIOUTIL_ONLY)
+- #build the python3 module in a different binary directory since it will
+- #have the same name as the python2 module (e.g. OpenImageIO.so)
+- add_subdirectory (src/python src/python3)
+-endif ()
+
+ add_subdirectory (src/include)
+ add_subdirectory (src/doc)
+diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake
+index 4799df22..2576dee5 100644
+--- a/src/cmake/externalpackages.cmake
++++ b/src/cmake/externalpackages.cmake
+@@ -102,10 +102,7 @@ if (NOT Boost_FIND_QUIETLY)
+ endif ()
+
+ if (NOT DEFINED Boost_ADDITIONAL_VERSIONS)
+- set (Boost_ADDITIONAL_VERSIONS "1.60" "1.59" "1.58" "1.57" "1.56"
+- "1.55" "1.54" "1.53" "1.52" "1.51" "1.50"
+- "1.49" "1.48" "1.47" "1.46" "1.45" "1.44"
+- "1.43" "1.43.0" "1.42" "1.42.0")
++ set (Boost_ADDITIONAL_VERSIONS "1.65.1" "1.65" "1.63" "1.62")
+ endif ()
+ if (LINKSTATIC)
+ set (Boost_USE_STATIC_LIBS ON)
+@@ -117,51 +114,7 @@ if (BOOST_CUSTOM)
+ # Boost_VERSION, Boost_INCLUDE_DIRS, Boost_LIBRARY_DIRS, Boost_LIBRARIES.
+ else ()
+ set (Boost_COMPONENTS filesystem regex system thread)
+- find_package (Boost 1.42 REQUIRED
+- COMPONENTS ${Boost_COMPONENTS}
+- )
+-
+- # Try to figure out if this boost distro has Boost::python. If we
+- # include python in the component list above, cmake will abort if
+- # it's not found. So we resort to checking for the boost_python
+- # library's existance to get a soft failure.
+- find_library (oiio_boost_python_lib boost_python
+- PATHS ${Boost_LIBRARY_DIRS} NO_DEFAULT_PATH)
+- mark_as_advanced (oiio_boost_python_lib)
+- if (NOT oiio_boost_python_lib AND Boost_SYSTEM_LIBRARY_RELEASE)
+- get_filename_component (oiio_boost_PYTHON_rel
+- ${Boost_SYSTEM_LIBRARY_RELEASE} NAME
+- )
+- string (REGEX REPLACE "^(lib)?(.+)_system(.+)$" "\\2_python\\3"
+- oiio_boost_PYTHON_rel ${oiio_boost_PYTHON_rel}
+- )
+- find_library (oiio_boost_PYTHON_LIBRARY_RELEASE
+- NAMES ${oiio_boost_PYTHON_rel} lib${oiio_boost_PYTHON_rel}
+- HINTS ${Boost_LIBRARY_DIRS}
+- NO_DEFAULT_PATH
+- )
+- mark_as_advanced (oiio_boost_PYTHON_LIBRARY_RELEASE)
+- endif ()
+- if (NOT oiio_boost_python_lib AND Boost_SYSTEM_LIBRARY_DEBUG)
+- get_filename_component (oiio_boost_PYTHON_dbg
+- ${Boost_SYSTEM_LIBRARY_DEBUG} NAME
+- )
+- string (REGEX REPLACE "^(lib)?(.+)_system(.+)$" "\\2_python\\3"
+- oiio_boost_PYTHON_dbg ${oiio_boost_PYTHON_dbg}
+- )
+- find_library (oiio_boost_PYTHON_LIBRARY_DEBUG
+- NAMES ${oiio_boost_PYTHON_dbg} lib${oiio_boost_PYTHON_dbg}
+- HINTS ${Boost_LIBRARY_DIRS}
+- NO_DEFAULT_PATH
+- )
+- mark_as_advanced (oiio_boost_PYTHON_LIBRARY_DEBUG)
+- endif ()
+- if (oiio_boost_python_lib OR
+- oiio_boost_PYTHON_LIBRARY_RELEASE OR oiio_boost_PYTHON_LIBRARY_DEBUG)
+- set (oiio_boost_PYTHON_FOUND ON)
+- else ()
+- set (oiio_boost_PYTHON_FOUND OFF)
+- endif ()
++ find_package (Boost 1.62 REQUIRED COMPONENTS ${Boost_COMPONENTS})
+ endif ()
+
+ # On Linux, Boost 1.55 and higher seems to need to link against -lrt
+@@ -176,16 +129,6 @@ if (NOT Boost_FIND_QUIETLY)
+ message (STATUS "Boost include dirs ${Boost_INCLUDE_DIRS}")
+ message (STATUS "Boost library dirs ${Boost_LIBRARY_DIRS}")
+ message (STATUS "Boost libraries ${Boost_LIBRARIES}")
+- message (STATUS "Boost python found ${oiio_boost_PYTHON_FOUND}")
+-endif ()
+-if (NOT oiio_boost_PYTHON_FOUND)
+- # If Boost python components were not found, turn off all python support.
+- message (STATUS "Boost python support not found -- will not build python components!")
+- if (APPLE AND USE_PYTHON)
+- message (STATUS " If your Boost is from Macports, you need the +python26 variant to get Python support.")
+- endif ()
+- set (USE_PYTHON OFF)
+- set (PYTHONLIBS_FOUND OFF)
+ endif ()
+
+ include_directories (SYSTEM "${Boost_INCLUDE_DIRS}")
+diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt
+index 81a4a890..e58d372d 100644
+--- a/src/python/CMakeLists.txt
++++ b/src/python/CMakeLists.txt
+@@ -1,54 +1,30 @@
+-#if the CMAKE_CURRENT_BINARY_DIR is python3, then build the python3 module,
+-#otherwise the python2 module
+-string (REGEX MATCH "python3\$" _py3_subdir ${CMAKE_CURRENT_BINARY_DIR})
++# Attempt to find the desired version, but fall back to other
++# additional versions.
++find_package (PythonInterp ${PYTHON_VERSION} REQUIRED)
+
+-if (_py3_subdir)
+- set (BUILD_PY3 ON)
+-else ()
+- set (BUILD_PY3 OFF)
+-endif ()
+-
+-if (NOT BOOST_CUSTOM AND NOT BUILD_PY3)
+- #Unset those, otherwise find_package(PythonLibs) will pick up old stuff
+- #if it has been run before
+- unset(Python_ADDITIONAL_VERSIONS)
+- unset(PYTHON_LIBRARY)
+- unset(PYTHON_LIBRARY CACHE)
+- unset(PYTHON_INCLUDE_DIR)
+- unset(PYTHON_INCLUDE_DIR CACHE)
+- unset(PYTHON_INCLUDE_PATH)
+- unset(PYTHON_INCLUDE_PATH CACHE)
+- find_package (PythonLibs ${PYTHON_VERSION} REQUIRED)
+- find_package (Boost 1.42 REQUIRED COMPONENTS python)
+-elseif (BOOST_CUSTOM AND NOT BUILD_PY3)
+- find_package (PythonLibs ${PYTHON_VERSION} REQUIRED)
+-else ()
+- #BOOST_CUSTOM is ignored for python3
++# The version that was found may not be the default or user
++# defined one.
++set (PYTHON_VERSION_FOUND ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
+
+- #Unset those, otherwise find_package(PythonLibs) will pick up old stuff
+- #if it has been run before
+- unset(PYTHON_LIBRARY)
+- unset(PYTHON_LIBRARY CACHE)
+- unset(PYTHON_INCLUDE_DIR)
+- unset(PYTHON_INCLUDE_DIR CACHE)
+- unset(PYTHON_INCLUDE_PATH)
+- unset(PYTHON_INCLUDE_PATH CACHE)
++if (NOT ${PYTHON_VERSION} EQUAL ${PYTHON_VERSION_FOUND} )
++ message (WARNING "The requested version ${PYTHON_VERSION} was not found.")
++ message (WARNING "Using ${PYTHON_VERSION_FOUND} instead.")
++endif ()
+
+- #cmake 2.8 does not look for python 3.4
+- set(Python_ADDITIONAL_VERSIONS 3.4)
+- find_package (PythonInterp ${PYTHON3_VERSION} REQUIRED)
+- find_package (PythonLibs ${PYTHON3_VERSION} REQUIRED)
++find_package (PythonLibs ${PYTHON_VERSION_FOUND} REQUIRED)
+
+- #Finding the python3 component for boost is a little tricky, since it has
+- #different names on different systems. Try the most common ones
+- #(boost_python3, boost_python-py34, …).
+- foreach (_boost_py3_lib python3 python-py34 python-py33 python-py32)
+- find_package (Boost 1.42 QUIET COMPONENTS ${_boost_py3_lib})
+- string (TOUPPER ${_boost_py3_lib} boost_py3_lib_name)
+- if (Boost_${boost_py3_lib_name}_FOUND)
+- #Not the most beautiful thing to do, but that gets them included in
+- #the target_link_libraries(…) call farther down
+- set (Boost_PYTHON_LIBRARIES ${Boost_${boost_py3_lib_name}_LIBRARIES})
++if (NOT BOOST_CUSTOM)
++ # Finding the python component for boost is a little tricky, since it has
++ # different names on different systems. Try the most common ones.
++ foreach (_py_lib python-${PYTHON_VERSION_FOUND} python
++ python${PYTHON_VERSION_MAJOR}
++ python-py${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR})
++ find_package (Boost QUIET COMPONENTS ${_py_lib})
++ string (TOUPPER ${_py_lib} _py_lib_name)
++ if (Boost_${_py_lib_name}_FOUND)
++ # Not the most beautiful thing to do, but that gets them included in
++ # the target_link_libraries(…) call farther down
++ set (Boost_PYTHON_LIBRARIES ${Boost_${_py_lib_name}_LIBRARIES})
+ break ()
+ endif ()
+ endforeach ()
+@@ -58,18 +34,19 @@ if (APPLE)
+ # set (PYTHON_LIBRARIES /opt/local/lib)
+ endif ()
+
++if (NOT DEFINED PYTHON_SITE_DIR)
++ set (PYTHON_SITE_DIR "${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_FOUND}/site-packages")
++endif ()
++
+ # Disable some warnings for Clang, it's a little too picky with boost
+ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ add_definitions ("-Wno-array-bounds")
+ endif ()
+
+-if (BUILD_PY3)
+- set (target_name Py3OpenImageIO)
+-else ()
+- set (target_name PyOpenImageIO)
+-endif ()
++set (target_name PyOpenImageIO)
+
+-if (BOOST_CUSTOM OR Boost_FOUND AND PYTHONLIBS_FOUND)
++# Test if automatically found or manually set with BOOST_CUSTOM
++if (DEFINED Boost_PYTHON_LIBRARIES)
+
+ set (python_srcs py_imageinput.cpp py_imageoutput.cpp
+ py_imagecache.cpp py_imagespec.cpp py_roi.cpp
+@@ -81,8 +58,12 @@ if (BOOST_CUSTOM OR Boost_FOUND AND PYTHONLIBS_FOUND)
+ message (STATUS "Python found ${PYTHONLIBS_FOUND} ")
+ message (STATUS "Python include dirs ${PYTHON_INCLUDE_PATH}")
+ message (STATUS "Python libraries ${PYTHON_LIBRARIES}")
++ message (STATUS "Python site packages dir ${PYTHON_SITE_DIR}")
+ message (STATUS "Python to include 'lib' prefix: ${PYLIB_LIB_PREFIX}")
+ message (STATUS "Python to include SO version: ${PYLIB_INCLUDE_SONAME}")
++ message (STATUS "Python version ${PYTHON_VERSION_STRING}")
++ message (STATUS "Python version major: ${PYTHON_VERSION_MAJOR} minor: ${PYTHON_VERSION_MINOR}")
++ message (STATUS "Boost python libraries ${Boost_PYTHON_LIBRARIES}")
+ endif ()
+
+ include_directories (${PYTHON_INCLUDE_PATH} ${Boost_INCLUDE_DIRS})
+@@ -91,7 +72,7 @@ if (BOOST_CUSTOM OR Boost_FOUND AND PYTHONLIBS_FOUND)
+ target_link_libraries (${target_name} OpenImageIO ${Boost_LIBRARIES} ${Boost_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS})
+ set_target_properties (${target_name} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
+ else ()
+- target_link_libraries (${target_name} OpenImageIO ${Boost_LIBRARIES} ${Boost_PYTHON_LIBRARIES} ${PYTHON_LIBRARIES} ${CMAKE_DL_LIBS})
++ target_link_libraries (${target_name} OpenImageIO ${SANITIZE_LIBRARIES} ${Boost_LIBRARIES} ${Boost_PYTHON_LIBRARIES} ${PYTHON_LIBRARIES} ${CMAKE_DL_LIBS})
+ endif ()
+
+ # Exclude the 'lib' prefix from the name
+@@ -123,21 +104,17 @@ if (BOOST_CUSTOM OR Boost_FOUND AND PYTHONLIBS_FOUND)
+ SUFFIX ".pyd")
+ endif()
+
+- if (BUILD_PY3)
+- install (TARGETS ${target_name}
+- RUNTIME DESTINATION ${PYLIB3_INSTALL_DIR} COMPONENT user
+- LIBRARY DESTINATION ${PYLIB3_INSTALL_DIR} COMPONENT user)
+- else ()
+- install (TARGETS ${target_name}
+- RUNTIME DESTINATION ${PYLIB_INSTALL_DIR} COMPONENT user
+- LIBRARY DESTINATION ${PYLIB_INSTALL_DIR} COMPONENT user)
+- endif ()
+-elseif (BUILD_PY3)
+- if (NOT PYTHONLIBS_FOUND)
+- message (STATUS "Python3 libraries not found")
+- endif ()
+- if (NOT Boost_FOUND)
+- message (STATUS "Boost python3 component not found")
+- endif ()
+- set(USE_PYTHON3 OFF)
++ install (TARGETS ${target_name}
++ RUNTIME DESTINATION ${PYTHON_SITE_DIR} COMPONENT user
++ LIBRARY DESTINATION ${PYTHON_SITE_DIR} COMPONENT user)
++else ()
++ # If Boost python components were not found, turn off all python support.
++ message (STATUS "Boost python support not found!")
++ if (APPLE AND USE_PYTHON)
++ message (STATUS " If your Boost is from Macports, you need the +python26 variant to get Python support.")
++ endif ()
++ if (BOOST_CUSTOM)
++ message (STATUS " Please set the variable Boost_PYTHON_LIBRARIES to the location of the boost python libraries.")
++ endif ()
++ message (FATAL_ERROR "Python module cannot be built. Either disable python support or check your boost installation.")
+ endif ()
+--
+2.14.2
+
diff --git a/media-libs/openimageio/files/openimageio-1.6.18-repair-breaks-after-boost-python-1.65-changes.patch b/media-libs/openimageio/files/openimageio-1.6.18-repair-breaks-after-boost-python-1.65-changes.patch
new file mode 100644
index 000000000000..622890e981ef
--- /dev/null
+++ b/media-libs/openimageio/files/openimageio-1.6.18-repair-breaks-after-boost-python-1.65-changes.patch
@@ -0,0 +1,251 @@
+From 03eca9df5082e97f3b157ce7d1d86ef76016e52b Mon Sep 17 00:00:00 2001
+From: Jonathan Scruggs <j.scruggs@gmail.com>
+Date: Thu, 28 Sep 2017 16:00:16 +0100
+Subject: [PATCH 3/3] oiio/RB-1.6: Repair breaks after boost python 1.65
+ changes (#1753)
+
+Alas, the new Boost 1.65 moves some boost python material from one
+namespace to another in a way that breaks compatibility related to
+support for numpy arrays. This breaks the build, including all of
+our MacOS-based TravisCI tests, which of course pick up the latest
+Boost via Homebrew.
+
+Backported from:
+https://github.com/OpenImageIO/oiio/commit/57f294df7430a860c60612c28235730fd429ea0d
+---
+ src/python/py_imagebuf.cpp | 22 +++++++++++++++-------
+ src/python/py_imageoutput.cpp | 10 +++++-----
+ src/python/py_oiio.cpp | 22 +++++++++++++++++++---
+ src/python/py_oiio.h | 23 +++++++----------------
+ 4 files changed, 46 insertions(+), 31 deletions(-)
+
+diff --git a/src/python/py_imagebuf.cpp b/src/python/py_imagebuf.cpp
+index 28a8c537..fa271fe2 100644
+--- a/src/python/py_imagebuf.cpp
++++ b/src/python/py_imagebuf.cpp
+@@ -329,7 +329,7 @@ BOOST_PYTHON_FUNCTION_OVERLOADS(ImageBuf_get_pixels_bt_overloads,
+
+
+ bool
+-ImageBuf_set_pixels_tuple (ImageBuf &buf, ROI roi, tuple data)
++ImageBuf_set_pixels_tuple (ImageBuf &buf, ROI roi, const tuple& data)
+ {
+ if (! roi.defined())
+ roi = buf.roi();
+@@ -347,8 +347,13 @@ ImageBuf_set_pixels_tuple (ImageBuf &buf, ROI roi, tuple data)
+
+
+ bool
+-ImageBuf_set_pixels_array (ImageBuf &buf, ROI roi, numeric::array data)
++ImageBuf_set_pixels_array (ImageBuf &buf, ROI roi, const object& data)
+ {
++ // If it's a tuple, we handle that with the other function
++ extract<tuple> tup (data);
++ if (tup.check())
++ return ImageBuf_set_pixels_tuple (buf, roi, tup());
++
+ if (! roi.defined())
+ roi = buf.roi();
+ roi.chend = std::min (roi.chend, buf.nchannels()+1);
+@@ -356,13 +361,16 @@ ImageBuf_set_pixels_array (ImageBuf &buf, ROI roi, numeric::array data)
+ if (size == 0)
+ return true; // done
+
+- TypeDesc type;
+- size_t pylen = 0;
+- const void *addr = python_array_address (data, type, pylen);
+- if (!addr || size > pylen)
++ TypeDesc elementtype;
++ size_t numelements;
++ const void* addr = python_array_address (data, elementtype, numelements);
++ if (!addr || size > numelements)
+ return false; // Not enough data to fill our ROI
+
+- buf.set_pixels (roi, type, addr);
++ std::vector<float> vals (numelements);
++ convert_types (elementtype, addr, TypeDesc::TypeFloat, vals.data(),
++ int(numelements));
++ buf.set_pixels (roi, TypeDesc::TypeFloat, &vals[0]);
+ return true;
+ }
+
+diff --git a/src/python/py_imageoutput.cpp b/src/python/py_imageoutput.cpp
+index 1c2e5f3c..2203aac4 100644
+--- a/src/python/py_imageoutput.cpp
++++ b/src/python/py_imageoutput.cpp
+@@ -112,7 +112,7 @@ ImageOutputWrap::make_read_buffer (object &buffer, imagesize_t size)
+
+
+ bool
+-ImageOutputWrap::write_scanline_array (int y, int z, numeric::array &buffer)
++ImageOutputWrap::write_scanline_array (int y, int z, object &buffer)
+ {
+ TypeDesc format;
+ size_t numelements = 0;
+@@ -154,7 +154,7 @@ ImageOutputWrap::write_scanline_bt (int y, int z, TypeDesc::BASETYPE format,
+
+ bool
+ ImageOutputWrap::write_scanlines_array (int ybegin, int yend, int z,
+- numeric::array &buffer)
++ object &buffer)
+ {
+ TypeDesc format;
+ size_t numelements = 0;
+@@ -199,7 +199,7 @@ ImageOutputWrap::write_scanlines_bt (int ybegin, int yend, int z,
+
+ bool
+ ImageOutputWrap::write_tile_array (int x, int y, int z,
+- numeric::array &buffer)
++ object &buffer)
+ {
+ TypeDesc format;
+ size_t numelements = 0;
+@@ -243,7 +243,7 @@ ImageOutputWrap::write_tile_bt (int x, int y, int z, TypeDesc::BASETYPE format,
+ bool
+ ImageOutputWrap::write_tiles_array (int xbegin, int xend, int ybegin, int yend,
+ int zbegin, int zend,
+- numeric::array &buffer)
++ object &buffer)
+ {
+ TypeDesc format;
+ size_t numelements = 0;
+@@ -290,7 +290,7 @@ ImageOutputWrap::write_tiles_bt (int xbegin, int xend, int ybegin, int yend,
+
+
+ bool
+-ImageOutputWrap::write_image_array (numeric::array &buffer)
++ImageOutputWrap::write_image_array (object &buffer)
+ {
+ TypeDesc format;
+ size_t numelements = 0;
+diff --git a/src/python/py_oiio.cpp b/src/python/py_oiio.cpp
+index bc10803c..5e965089 100644
+--- a/src/python/py_oiio.cpp
++++ b/src/python/py_oiio.cpp
+@@ -78,6 +78,13 @@ typedesc_from_python_array_code (char code)
+ }
+
+
++std::string
++object_classname (const object& obj)
++{
++ return extract<std::string>(obj.attr("__class__").attr("__name__"));
++}
++
++
+
+ object
+ C_array_to_Python_array (const char *data, TypeDesc type, size_t size)
+@@ -313,11 +320,18 @@ oiio_get_string_attribute_d (const char *name, const char *defaultval)
+
+
+ const void *
+-python_array_address (numeric::array &data, TypeDesc &elementtype,
++python_array_address (const object &data, TypeDesc &elementtype,
+ size_t &numelements)
+ {
+ // Figure out the type of the array
+- object tcobj = data.attr("typecode");
++ object tcobj;
++ try {
++ tcobj = data.attr("typecode");
++ } catch(...) {
++ return NULL;
++ }
++ if (! tcobj)
++ return NULL;
+ extract<char> tce (tcobj);
+ char typecode = tce.check() ? (char)tce : 0;
+ elementtype = typedesc_from_python_array_code (typecode);
+@@ -395,7 +409,9 @@ OIIO_DECLARE_PYMODULE(OIIO_PYMODULE_NAME) {
+ scope().attr("VERSION_PATCH") = OIIO_VERSION_PATCH;
+ scope().attr("INTRO_STRING") = OIIO_INTRO_STRING;
+
+- boost::python::numeric::array::set_module_and_type("array", "array");
++ #if BOOST_VERSION < 106500
++ boost::python::numeric::array::set_module_and_type("array", "array");
++ #endif
+ }
+
+ } // namespace PyOpenImageIO
+diff --git a/src/python/py_oiio.h b/src/python/py_oiio.h
+index febe2f9e..9fc04d06 100644
+--- a/src/python/py_oiio.h
++++ b/src/python/py_oiio.h
+@@ -68,12 +68,13 @@ bool PyProgressCallback(void*, float);
+ object C_array_to_Python_array (const char *data, TypeDesc type, size_t size);
+ const char * python_array_code (TypeDesc format);
+ TypeDesc typedesc_from_python_array_code (char code);
++std::string object_classname (const object& obj);
+
+
+ // Given python array 'data', figure out its element type and number of
+ // elements, and return the memory address of its contents. Return NULL as
+ // the address for an error.
+-const void * python_array_address (numeric::array &data, TypeDesc &elementtype,
++const void * python_array_address (const object &data, TypeDesc &elementtype,
+ size_t &numelements);
+
+
+@@ -105,16 +106,6 @@ void py_to_stdvector (std::vector<T> &vals, const tuple &tup)
+
+
+
+-// Suck up a tuple of presumed T values into a vector<T>
+-template<typename T>
+-void py_to_stdvector (std::vector<T> &vals, const numeric::array &arr)
+-{
+- for (int i = 0, e = len(arr); i < e; ++i)
+- vals.push_back (extract<T>(arr[i]));
+-}
+-
+-
+-
+ // Convert an array of T values into either tuple. FUNC is a conversion
+ // function such as PyInt_FromLong, PyFloat_FromDouble, or
+ // PyString_FromString.
+@@ -312,12 +303,12 @@ public:
+ stride_t xstride=AutoStride);
+ bool write_scanline_bt (int, int, TypeDesc::BASETYPE,
+ boost::python::object&, stride_t xstride=AutoStride);
+- bool write_scanline_array (int, int, numeric::array&);
++ bool write_scanline_array (int, int, object&);
+ bool write_scanlines (int, int, int, TypeDesc, boost::python::object&,
+ stride_t xstride=AutoStride);
+ bool write_scanlines_bt (int, int, int, TypeDesc::BASETYPE,
+ boost::python::object&, stride_t xstride=AutoStride);
+- bool write_scanlines_array (int, int, int, numeric::array&);
++ bool write_scanlines_array (int, int, int, object&);
+ bool write_tile (int, int, int, TypeDesc, boost::python::object&,
+ stride_t xstride=AutoStride, stride_t ystride=AutoStride,
+ stride_t zstride=AutoStride);
+@@ -325,7 +316,7 @@ public:
+ boost::python::object&, stride_t xstride=AutoStride,
+ stride_t ystride=AutoStride,
+ stride_t zstride=AutoStride);
+- bool write_tile_array (int, int, int, numeric::array&);
++ bool write_tile_array (int, int, int, object&);
+ bool write_tiles (int, int, int, int, int, int,
+ TypeDesc, boost::python::object&,
+ stride_t xstride=AutoStride, stride_t ystride=AutoStride,
+@@ -335,7 +326,7 @@ public:
+ stride_t xstride=AutoStride,
+ stride_t ystride=AutoStride,
+ stride_t zstride=AutoStride);
+- bool write_tiles_array (int, int, int, int, int, int, numeric::array&);
++ bool write_tiles_array (int, int, int, int, int, int, object&);
+ bool write_image (TypeDesc format, object &buffer,
+ stride_t xstride=AutoStride,
+ stride_t ystride=AutoStride,
+@@ -344,7 +335,7 @@ public:
+ stride_t xstride=AutoStride,
+ stride_t ystride=AutoStride,
+ stride_t zstride=AutoStride);
+- bool write_image_array (numeric::array &buffer);
++ bool write_image_array (object &buffer);
+ bool write_deep_scanlines (int ybegin, int yend, int z,
+ const DeepData &deepdata);
+ bool write_deep_tiles (int xbegin, int xend, int ybegin, int yend,
+--
+2.14.2
+
diff --git a/media-libs/openimageio/files/openimageio-1.6.18-use-gnuinstalldirs.patch b/media-libs/openimageio/files/openimageio-1.6.18-use-gnuinstalldirs.patch
new file mode 100644
index 000000000000..eb6834d6b8fd
--- /dev/null
+++ b/media-libs/openimageio/files/openimageio-1.6.18-use-gnuinstalldirs.patch
@@ -0,0 +1,247 @@
+From c078d90a6570d3cdf372f33f83057b21e44f40ad Mon Sep 17 00:00:00 2001
+From: Jonathan Scruggs <j.scruggs@gmail.com>
+Date: Thu, 28 Sep 2017 15:08:47 +0100
+Subject: [PATCH 1/2] oiio/RB-1.6: Use GNUInstallDirs for installation paths
+ (#1747)
+
+* Change all hard coded paths to GNUInstallDirs varibles.
+* Remove variable setting in install.cmake file since
+ GNUInstallDirs does all this for you.
+* Added new search paths for fonts.
+
+Backported from:
+https://github.com/OpenImageIO/oiio/commit/1383ba314ec2522b4f0c7e9037bd546b68bc2d7d
+---
+ CMakeLists.txt | 51 ++++++++------------------------
+ src/cmake/oiio_macros.cmake | 6 ++--
+ src/doc/CMakeLists.txt | 4 +--
+ src/fonts/CMakeLists.txt | 2 +-
+ src/include/CMakeLists.txt | 2 +-
+ src/libOpenImageIO/imagebufalgo_draw.cpp | 11 +++++++
+ src/nuke/txReader/CMakeLists.txt | 3 +-
+ src/nuke/txWriter/CMakeLists.txt | 3 +-
+ 8 files changed, 32 insertions(+), 50 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index bcbcbf94..b29efac6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -302,6 +302,8 @@ if (NOT OIIO_NAMESPACE)
+ endif ()
+ message(STATUS "Setting Namespace to: ${OIIO_NAMESPACE}")
+
++include (GNUInstallDirs)
++
+ set (CMAKE_MODULE_PATH
+ "${PROJECT_SOURCE_DIR}/src/cmake/modules"
+ "${PROJECT_SOURCE_DIR}/src/cmake")
+@@ -319,58 +321,32 @@ include_directories (
+
+
+ ###########################################################################
+-# Paths for install tree customization. Note that relative paths are relative
+-# to CMAKE_INSTALL_PREFIX.
+-set (DEFAULT_BIN_INSTALL_DIR "bin")
+-set (DEFAULT_LIB_INSTALL_DIR "lib")
+-set (DEFAULT_INCLUDE_INSTALL_DIR "include/OpenImageIO")
++# Set install paths for the python modules
++# TODO: Figure out how to get the correct python directory
++
+ if (UNIX AND NOT SELF_CONTAINED_INSTALL_TREE)
+- # Try to be well-behaved and install into reasonable places according to
+- # the "standard" unix directory heirarchy
+ # TODO: Figure out how to get the correct python directory
+- set (DEFAULT_PYLIB_INSTALL_DIR "lib/python/site-packages")
+- set (DEFAULT_PYLIB3_INSTALL_DIR "lib/python3/site-packages")
+- set (DEFAULT_DOC_INSTALL_DIR "share/doc/OpenImageIO")
+- set (DEFAULT_MAN_INSTALL_DIR "share/man/man1")
+- set (DEFAULT_FONTS_INSTALL_DIR "share/fonts/oiio")
++ set (DEFAULT_PYLIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/python/site-packages")
++ set (DEFAULT_PYLIB3_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/python3/site-packages")
+ else ()
+- # Here is the "self-contained install tree" case: the expectation here is
+- # that everything OIIO related will go into its own directory, not into
+- # some standard system heirarchy.
++ # Here is the "self-contained install tree" case: the expectation here
++ # is that everything related to this project will go into its own
++ # directory, not into some standard system heirarchy.
+ set (DEFAULT_PYLIB_INSTALL_DIR "python")
+ set (DEFAULT_PYLIB3_INSTALL_DIR "python3")
+- set (DEFAULT_DOC_INSTALL_DIR "doc")
+- set (DEFAULT_MAN_INSTALL_DIR "doc/man")
+- set (DEFAULT_FONTS_INSTALL_DIR "fonts/oiio")
+ endif ()
+ if (EXEC_INSTALL_PREFIX)
+ # Tack on an extra prefix to support multi-arch builds.
+- set (DEFAULT_BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_BIN_INSTALL_DIR}")
+- set (DEFAULT_LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_LIB_INSTALL_DIR}")
+ set (DEFAULT_PYLIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_PYLIB_INSTALL_DIR}")
+ set (DEFAULT_PYLIB3_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_PYLIB3_INSTALL_DIR}")
+- set (DEFAULT_FONTS_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_FONTS_INSTALL_DIR}")
+ endif ()
+ # Set up cmake cache variables corresponding to the defaults deduced above, so
+ # that the user can override them as desired:
+-set (BIN_INSTALL_DIR ${DEFAULT_BIN_INSTALL_DIR} CACHE STRING
+- "Install location for binaries (relative to CMAKE_INSTALL_PREFIX or absolute)")
+-set (LIB_INSTALL_DIR ${DEFAULT_LIB_INSTALL_DIR} CACHE STRING
+- "Install location for libraries (relative to CMAKE_INSTALL_PREFIX or absolute)")
+ set (PYLIB_INSTALL_DIR ${DEFAULT_PYLIB_INSTALL_DIR} CACHE STRING
+ "Install location for python libraries (relative to CMAKE_INSTALL_PREFIX or absolute)")
+ set (PYLIB3_INSTALL_DIR ${DEFAULT_PYLIB3_INSTALL_DIR} CACHE STRING
+ "Install location for python3 libraries (relative to CMAKE_INSTALL_PREFIX or absolute)")
+-set (INCLUDE_INSTALL_DIR ${DEFAULT_INCLUDE_INSTALL_DIR} CACHE STRING
+- "Install location of header files (relative to CMAKE_INSTALL_PREFIX or absolute)")
+-set (DOC_INSTALL_DIR ${DEFAULT_DOC_INSTALL_DIR} CACHE STRING
+- "Install location for documentation (relative to CMAKE_INSTALL_PREFIX or absolute)")
+-set (FONTS_INSTALL_DIR ${DEFAULT_FONTS_INSTALL_DIR} CACHE STRING
+- "Install location for fonts (relative to CMAKE_INSTALL_PREFIX or absolute)")
+-if (UNIX)
+- set (MAN_INSTALL_DIR ${DEFAULT_MAN_INSTALL_DIR} CACHE STRING
+- "Install location for manual pages (relative to CMAKE_INSTALL_PREFIX or absolute)")
+-endif()
++
+ set (PLUGIN_SEARCH_PATH "" CACHE STRING "Default plugin search path")
+
+ set (INSTALL_DOCS ON CACHE BOOL "Install documentation")
+@@ -388,10 +364,7 @@ if (CMAKE_SKIP_RPATH)
+ set (CMAKE_SKIP_RPATH FALSE)
+ unset (CMAKE_INSTALL_RPATH)
+ else ()
+- set (CMAKE_INSTALL_RPATH "${LIB_INSTALL_DIR}")
+- if (NOT IS_ABSOLUTE ${CMAKE_INSTALL_RPATH})
+- set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}")
+- endif ()
++ set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
+ set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+ endif ()
+
+diff --git a/src/cmake/oiio_macros.cmake b/src/cmake/oiio_macros.cmake
+index e65020bf..22d78ccd 100644
+--- a/src/cmake/oiio_macros.cmake
++++ b/src/cmake/oiio_macros.cmake
+@@ -7,9 +7,9 @@
+ #
+ macro (oiio_install_targets)
+ install (TARGETS ${ARGN}
+- RUNTIME DESTINATION "${BIN_INSTALL_DIR}" COMPONENT user
+- LIBRARY DESTINATION "${LIB_INSTALL_DIR}" COMPONENT user
+- ARCHIVE DESTINATION "${LIB_INSTALL_DIR}" COMPONENT developer)
++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT user
++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT user
++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT developer)
+ endmacro ()
+
+ # Macro to add a build target for an IO plugin.
+diff --git a/src/doc/CMakeLists.txt b/src/doc/CMakeLists.txt
+index 5e2e9866..170ff89c 100644
+--- a/src/doc/CMakeLists.txt
++++ b/src/doc/CMakeLists.txt
+@@ -7,7 +7,7 @@ set (public_docs
+ )
+
+ if (INSTALL_DOCS)
+- install (FILES ${public_docs} DESTINATION ${DOC_INSTALL_DIR}
++ install (FILES ${public_docs} DESTINATION ${CMAKE_INSTALL_DOCDIR}
+ COMPONENT documentation)
+ endif ()
+
+@@ -37,6 +37,6 @@ if (UNIX AND TXT2MAN AND PYTHONINTERP_FOUND)
+
+ if (INSTALL_DOCS)
+ install (FILES ${manpage_files}
+- DESTINATION ${MAN_INSTALL_DIR} COMPONENT documentation)
++ DESTINATION ${CMAKE_INSTALL_MANDIR} COMPONENT documentation)
+ endif ()
+ endif()
+diff --git a/src/fonts/CMakeLists.txt b/src/fonts/CMakeLists.txt
+index 1e296da0..d1bd6409 100644
+--- a/src/fonts/CMakeLists.txt
++++ b/src/fonts/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ file (GLOB public_fonts "*/*.ttf")
+
+ if (INSTALL_FONTS AND USE_FREETYPE)
+- install (FILES ${public_fonts} DESTINATION ${FONTS_INSTALL_DIR}
++ install (FILES ${public_fonts} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/fonts/OpenImageIO
+ COMPONENT fonts)
+ endif ()
+
+diff --git a/src/include/CMakeLists.txt b/src/include/CMakeLists.txt
+index b605b53b..5cdc6542 100644
+--- a/src/include/CMakeLists.txt
++++ b/src/include/CMakeLists.txt
+@@ -17,5 +17,5 @@ set (OIIO_VERSION_NS "v${MANGLED_SOVERSION}")
+ configure_file(OpenImageIO/oiioversion.h.in "${CMAKE_BINARY_DIR}/include/OpenImageIO/oiioversion.h" @ONLY)
+ list(APPEND public_headers "${CMAKE_BINARY_DIR}/include/OpenImageIO/oiioversion.h")
+
+-install (FILES ${public_headers} DESTINATION ${INCLUDE_INSTALL_DIR}
++install (FILES ${public_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/OpenImageIO
+ COMPONENT developer)
+diff --git a/src/libOpenImageIO/imagebufalgo_draw.cpp b/src/libOpenImageIO/imagebufalgo_draw.cpp
+index fb4dcf4d..cb9ef095 100644
+--- a/src/libOpenImageIO/imagebufalgo_draw.cpp
++++ b/src/libOpenImageIO/imagebufalgo_draw.cpp
+@@ -441,27 +441,38 @@ ImageBufAlgo::render_text (ImageBuf &R, int x, int y, string_view text,
+ if (home && *home) {
+ std::string h (home);
+ search_dirs.push_back (h + "/fonts");
++ search_dirs.push_back (h + "/fonts/OpenImageIO");
+ search_dirs.push_back (h + "/Fonts");
++ search_dirs.push_back (h + "/Fonts/OpenImageIO");
+ search_dirs.push_back (h + "/Library/Fonts");
++ search_dirs.push_back (h + "/Library/Fonts/OpenImageIO");
+ }
+ const char *systemRoot = getenv ("SystemRoot");
+ if (systemRoot && *systemRoot)
+ search_dirs.push_back (std::string(systemRoot) + "/Fonts");
++ search_dirs.push_back (std::string(systemRoot) + "/Fonts/OpenImageIO");
+ search_dirs.push_back ("/usr/share/fonts");
++
+ search_dirs.push_back ("/Library/Fonts");
++ search_dirs.push_back ("/Library/Fonts/OpenImageIO");
+ search_dirs.push_back ("C:/Windows/Fonts");
++ search_dirs.push_back ("C:/Windows/Fonts/OpenImageIO");
+ search_dirs.push_back ("/usr/local/share/fonts");
++ search_dirs.push_back ("/usr/local/share/fonts/OpenImageIO");
+ search_dirs.push_back ("/opt/local/share/fonts");
++ search_dirs.push_back ("/opt/local/share/fonts/OpenImageIO");
+ // Try $OPENIMAGEIOHOME/fonts
+ const char *oiiohomedir = getenv ("OPENIMAGEIOHOME");
+ if (oiiohomedir && *oiiohomedir)
+ search_dirs.push_back (std::string(oiiohomedir) + "/fonts");
++ search_dirs.push_back (std::string(oiiohomedir) + "/fonts/OpenImageIO");
+ // Try ../fonts relative to where this executing binary came from
+ std::string this_program = OIIO::Sysutil::this_program_path ();
+ if (this_program.size()) {
+ std::string path = Filesystem::parent_path (this_program);
+ path = Filesystem::parent_path (path);
+ search_dirs.push_back (path+"/fonts");
++ search_dirs.push_back (path+"/fonts/OpenImageIO");
+ }
+
+ // Try to find the font. Experiment with several extensions
+diff --git a/src/nuke/txReader/CMakeLists.txt b/src/nuke/txReader/CMakeLists.txt
+index 3e72b6d4..660a2ee1 100644
+--- a/src/nuke/txReader/CMakeLists.txt
++++ b/src/nuke/txReader/CMakeLists.txt
+@@ -28,5 +28,4 @@ else ()
+ COMPILE_FLAGS "-fPIC -msse")
+ endif ()
+
+-install (TARGETS txReader
+- LIBRARY DESTINATION "${LIB_INSTALL_DIR}/nuke")
++oiio_install_targets (txReader)
+diff --git a/src/nuke/txWriter/CMakeLists.txt b/src/nuke/txWriter/CMakeLists.txt
+index 66312bc4..0fb70a36 100644
+--- a/src/nuke/txWriter/CMakeLists.txt
++++ b/src/nuke/txWriter/CMakeLists.txt
+@@ -28,5 +28,4 @@ else ()
+ COMPILE_FLAGS "-fPIC -msse")
+ endif ()
+
+-install (TARGETS txWriter
+- LIBRARY DESTINATION "${LIB_INSTALL_DIR}/nuke")
++oiio_install_targets (txWriter)
+--
+2.14.2
+
diff --git a/media-libs/openimageio/files/openimageio-1.7.17-make-python-and-boost-detection-more-generic.patch b/media-libs/openimageio/files/openimageio-1.7.17-make-python-and-boost-detection-more-generic.patch
new file mode 100644
index 000000000000..06934ca0f069
--- /dev/null
+++ b/media-libs/openimageio/files/openimageio-1.7.17-make-python-and-boost-detection-more-generic.patch
@@ -0,0 +1,336 @@
+From 0ec53b0e2cd0713fa3e0fbe538eb1c89fe4e59d2 Mon Sep 17 00:00:00 2001
+From: Jonathan Scruggs <j.scruggs@gmail.com>
+Date: Thu, 28 Sep 2017 16:42:25 +0100
+Subject: [PATCH 2/2] oiio/RB-1.7: Make python and boost detection more generic
+
+* Fix boost and python detection for certain systems.
+* Clean up boost and python detection.
+* Remove redundant code.
+
+Backported from:
+https://github.com/OpenImageIO/oiio/commit/fca7ed62bd679a8221147dcddb23a516796dab90
+---
+ CMakeLists.txt | 38 +------------
+ src/cmake/externalpackages.cmake | 61 +-------------------
+ src/python/CMakeLists.txt | 119 ++++++++++++++++-----------------------
+ 3 files changed, 53 insertions(+), 165 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 635c61f4..0f80959a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -181,9 +181,7 @@ set (USE_OPENGL ON CACHE BOOL "Include OpenGL support")
+ set (USE_QT ON CACHE BOOL "Include Qt support")
+ set (FORCE_OPENGL_1 OFF CACHE BOOL "Force iv to use OpenGL's fixed pipeline")
+ set (USE_PYTHON ON CACHE BOOL "Build the Python bindings")
+-set (USE_PYTHON3 OFF CACHE BOOL "Build the Python3 bindings")
+-set (PYTHON_VERSION 2.6)
+-set (PYTHON3_VERSION 3.2)
++set (PYTHON_VERSION "2.7" CACHE STRING "Target version of python to find")
+ set (PYLIB_INCLUDE_SONAME OFF CACHE BOOL "If ON, soname/soversion will be set for Python module library")
+ set (PYLIB_LIB_PREFIX OFF CACHE BOOL "If ON, prefix the Python module with 'lib'")
+ set (USE_FIELD3D ON CACHE BOOL "Use Field3D if found")
+@@ -373,32 +371,7 @@ include_directories (
+
+
+ ###########################################################################
+-# Set install paths for the python modules
+-# TODO: Figure out how to get the correct python directory
+-
+-if (UNIX AND NOT SELF_CONTAINED_INSTALL_TREE)
+- # TODO: Figure out how to get the correct python directory
+- set (DEFAULT_PYLIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/python/site-packages")
+- set (DEFAULT_PYLIB3_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/python3/site-packages")
+-else ()
+- # Here is the "self-contained install tree" case: the expectation here
+- # is that everything related to this project will go into its own
+- # directory, not into some standard system heirarchy.
+- set (DEFAULT_PYLIB_INSTALL_DIR "python")
+- set (DEFAULT_PYLIB3_INSTALL_DIR "python3")
+-endif ()
+-if (EXEC_INSTALL_PREFIX)
+- # Tack on an extra prefix to support multi-arch builds.
+- set (DEFAULT_PYLIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_PYLIB_INSTALL_DIR}")
+- set (DEFAULT_PYLIB3_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_PYLIB3_INSTALL_DIR}")
+-endif ()
+-# Set up cmake cache variables corresponding to the defaults deduced above, so
+-# that the user can override them as desired:
+-set (PYLIB_INSTALL_DIR ${DEFAULT_PYLIB_INSTALL_DIR} CACHE STRING
+- "Install location for python libraries (relative to CMAKE_INSTALL_PREFIX or absolute)")
+-set (PYLIB3_INSTALL_DIR ${DEFAULT_PYLIB3_INSTALL_DIR} CACHE STRING
+- "Install location for python3 libraries (relative to CMAKE_INSTALL_PREFIX or absolute)")
+-
++# Set default install options
+ set (PLUGIN_SEARCH_PATH "" CACHE STRING "Default plugin search path")
+
+ set (INSTALL_DOCS ON CACHE BOOL "Install documentation")
+@@ -494,14 +467,9 @@ if (NOT EMBEDPLUGINS AND NOT BUILD_OIIOUTIL_ONLY)
+ endforeach ()
+ endif ()
+
+-if (USE_PYTHON AND boost_PYTHON_FOUND AND NOT BUILD_OIIOUTIL_ONLY)
++if (USE_PYTHON AND NOT BUILD_OIIOUTIL_ONLY)
+ add_subdirectory (src/python)
+ endif ()
+-if (USE_PYTHON3 AND boost_PYTHON_FOUND AND NOT BUILD_OIIOUTIL_ONLY)
+- #build the python3 module in a different binary directory since it will
+- #have the same name as the python2 module (e.g. OpenImageIO.so)
+- add_subdirectory (src/python src/python3)
+-endif ()
+
+ add_subdirectory (src/include)
+ add_subdirectory (src/doc)
+diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake
+index 03faf7bd..b354cda0 100644
+--- a/src/cmake/externalpackages.cmake
++++ b/src/cmake/externalpackages.cmake
+@@ -116,10 +116,7 @@ if (NOT Boost_FIND_QUIETLY)
+ endif ()
+
+ if (NOT DEFINED Boost_ADDITIONAL_VERSIONS)
+- set (Boost_ADDITIONAL_VERSIONS "1.60" "1.59" "1.58" "1.57" "1.56"
+- "1.55" "1.54" "1.53" "1.52" "1.51" "1.50"
+- "1.49" "1.48" "1.47" "1.46" "1.45" "1.44"
+- "1.43" "1.43.0" "1.42" "1.42.0")
++ set (Boost_ADDITIONAL_VERSIONS "1.65.1" "1.65" "1.63" "1.62")
+ endif ()
+ if (LINKSTATIC)
+ set (Boost_USE_STATIC_LIBS ON)
+@@ -131,51 +128,7 @@ if (BOOST_CUSTOM)
+ # Boost_VERSION, Boost_INCLUDE_DIRS, Boost_LIBRARY_DIRS, Boost_LIBRARIES.
+ else ()
+ set (Boost_COMPONENTS filesystem regex system thread)
+- find_package (Boost 1.42 REQUIRED
+- COMPONENTS ${Boost_COMPONENTS}
+- )
+-
+- # Try to figure out if this boost distro has Boost::python. If we
+- # include python in the component list above, cmake will abort if
+- # it's not found. So we resort to checking for the boost_python
+- # library's existance to get a soft failure.
+- find_library (my_boost_python_lib boost_python
+- PATHS ${Boost_LIBRARY_DIRS} NO_DEFAULT_PATH)
+- mark_as_advanced (my_boost_python_lib)
+- if (NOT my_boost_python_lib AND Boost_SYSTEM_LIBRARY_RELEASE)
+- get_filename_component (my_boost_PYTHON_rel
+- ${Boost_SYSTEM_LIBRARY_RELEASE} NAME
+- )
+- string (REGEX REPLACE "^(lib)?(.+)_system(.+)$" "\\2_python\\3"
+- my_boost_PYTHON_rel ${my_boost_PYTHON_rel}
+- )
+- find_library (my_boost_PYTHON_LIBRARY_RELEASE
+- NAMES ${my_boost_PYTHON_rel} lib${my_boost_PYTHON_rel}
+- HINTS ${Boost_LIBRARY_DIRS}
+- NO_DEFAULT_PATH
+- )
+- mark_as_advanced (my_boost_PYTHON_LIBRARY_RELEASE)
+- endif ()
+- if (NOT my_boost_python_lib AND Boost_SYSTEM_LIBRARY_DEBUG)
+- get_filename_component (my_boost_PYTHON_dbg
+- ${Boost_SYSTEM_LIBRARY_DEBUG} NAME
+- )
+- string (REGEX REPLACE "^(lib)?(.+)_system(.+)$" "\\2_python\\3"
+- my_boost_PYTHON_dbg ${my_boost_PYTHON_dbg}
+- )
+- find_library (my_boost_PYTHON_LIBRARY_DEBUG
+- NAMES ${my_boost_PYTHON_dbg} lib${my_boost_PYTHON_dbg}
+- HINTS ${Boost_LIBRARY_DIRS}
+- NO_DEFAULT_PATH
+- )
+- mark_as_advanced (my_boost_PYTHON_LIBRARY_DEBUG)
+- endif ()
+- if (my_boost_python_lib OR
+- my_boost_PYTHON_LIBRARY_RELEASE OR my_boost_PYTHON_LIBRARY_DEBUG)
+- set (boost_PYTHON_FOUND ON)
+- else ()
+- set (boost_PYTHON_FOUND OFF)
+- endif ()
++ find_package (Boost 1.62 REQUIRED COMPONENTS ${Boost_COMPONENTS})
+ endif ()
+
+ # On Linux, Boost 1.55 and higher seems to need to link against -lrt
+@@ -190,16 +143,6 @@ if (NOT Boost_FIND_QUIETLY)
+ message (STATUS "Boost include dirs ${Boost_INCLUDE_DIRS}")
+ message (STATUS "Boost library dirs ${Boost_LIBRARY_DIRS}")
+ message (STATUS "Boost libraries ${Boost_LIBRARIES}")
+- message (STATUS "Boost python found ${boost_PYTHON_FOUND}")
+-endif ()
+-if (NOT boost_PYTHON_FOUND)
+- # If Boost python components were not found, turn off all python support.
+- message (STATUS "Boost python support not found -- will not build python components!")
+- if (APPLE AND USE_PYTHON)
+- message (STATUS " If your Boost is from Macports, you need the +python26 variant to get Python support.")
+- endif ()
+- set (USE_PYTHON OFF)
+- set (PYTHONLIBS_FOUND OFF)
+ endif ()
+
+ include_directories (SYSTEM "${Boost_INCLUDE_DIRS}")
+diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt
+index 81a4a890..e58d372d 100644
+--- a/src/python/CMakeLists.txt
++++ b/src/python/CMakeLists.txt
+@@ -1,54 +1,30 @@
+-#if the CMAKE_CURRENT_BINARY_DIR is python3, then build the python3 module,
+-#otherwise the python2 module
+-string (REGEX MATCH "python3\$" _py3_subdir ${CMAKE_CURRENT_BINARY_DIR})
++# Attempt to find the desired version, but fall back to other
++# additional versions.
++find_package (PythonInterp ${PYTHON_VERSION} REQUIRED)
+
+-if (_py3_subdir)
+- set (BUILD_PY3 ON)
+-else ()
+- set (BUILD_PY3 OFF)
+-endif ()
+-
+-if (NOT BOOST_CUSTOM AND NOT BUILD_PY3)
+- #Unset those, otherwise find_package(PythonLibs) will pick up old stuff
+- #if it has been run before
+- unset(Python_ADDITIONAL_VERSIONS)
+- unset(PYTHON_LIBRARY)
+- unset(PYTHON_LIBRARY CACHE)
+- unset(PYTHON_INCLUDE_DIR)
+- unset(PYTHON_INCLUDE_DIR CACHE)
+- unset(PYTHON_INCLUDE_PATH)
+- unset(PYTHON_INCLUDE_PATH CACHE)
+- find_package (PythonLibs ${PYTHON_VERSION} REQUIRED)
+- find_package (Boost 1.42 REQUIRED COMPONENTS python)
+-elseif (BOOST_CUSTOM AND NOT BUILD_PY3)
+- find_package (PythonLibs ${PYTHON_VERSION} REQUIRED)
+-else ()
+- #BOOST_CUSTOM is ignored for python3
++# The version that was found may not be the default or user
++# defined one.
++set (PYTHON_VERSION_FOUND ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
+
+- #Unset those, otherwise find_package(PythonLibs) will pick up old stuff
+- #if it has been run before
+- unset(PYTHON_LIBRARY)
+- unset(PYTHON_LIBRARY CACHE)
+- unset(PYTHON_INCLUDE_DIR)
+- unset(PYTHON_INCLUDE_DIR CACHE)
+- unset(PYTHON_INCLUDE_PATH)
+- unset(PYTHON_INCLUDE_PATH CACHE)
++if (NOT ${PYTHON_VERSION} EQUAL ${PYTHON_VERSION_FOUND} )
++ message (WARNING "The requested version ${PYTHON_VERSION} was not found.")
++ message (WARNING "Using ${PYTHON_VERSION_FOUND} instead.")
++endif ()
+
+- #cmake 2.8 does not look for python 3.4
+- set(Python_ADDITIONAL_VERSIONS 3.4)
+- find_package (PythonInterp ${PYTHON3_VERSION} REQUIRED)
+- find_package (PythonLibs ${PYTHON3_VERSION} REQUIRED)
++find_package (PythonLibs ${PYTHON_VERSION_FOUND} REQUIRED)
+
+- #Finding the python3 component for boost is a little tricky, since it has
+- #different names on different systems. Try the most common ones
+- #(boost_python3, boost_python-py34, …).
+- foreach (_boost_py3_lib python3 python-py34 python-py33 python-py32)
+- find_package (Boost 1.42 QUIET COMPONENTS ${_boost_py3_lib})
+- string (TOUPPER ${_boost_py3_lib} boost_py3_lib_name)
+- if (Boost_${boost_py3_lib_name}_FOUND)
+- #Not the most beautiful thing to do, but that gets them included in
+- #the target_link_libraries(…) call farther down
+- set (Boost_PYTHON_LIBRARIES ${Boost_${boost_py3_lib_name}_LIBRARIES})
++if (NOT BOOST_CUSTOM)
++ # Finding the python component for boost is a little tricky, since it has
++ # different names on different systems. Try the most common ones.
++ foreach (_py_lib python-${PYTHON_VERSION_FOUND} python
++ python${PYTHON_VERSION_MAJOR}
++ python-py${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR})
++ find_package (Boost QUIET COMPONENTS ${_py_lib})
++ string (TOUPPER ${_py_lib} _py_lib_name)
++ if (Boost_${_py_lib_name}_FOUND)
++ # Not the most beautiful thing to do, but that gets them included in
++ # the target_link_libraries(…) call farther down
++ set (Boost_PYTHON_LIBRARIES ${Boost_${_py_lib_name}_LIBRARIES})
+ break ()
+ endif ()
+ endforeach ()
+@@ -58,18 +34,19 @@ if (APPLE)
+ # set (PYTHON_LIBRARIES /opt/local/lib)
+ endif ()
+
++if (NOT DEFINED PYTHON_SITE_DIR)
++ set (PYTHON_SITE_DIR "${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_FOUND}/site-packages")
++endif ()
++
+ # Disable some warnings for Clang, it's a little too picky with boost
+ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ add_definitions ("-Wno-array-bounds")
+ endif ()
+
+-if (BUILD_PY3)
+- set (target_name Py3OpenImageIO)
+-else ()
+- set (target_name PyOpenImageIO)
+-endif ()
++set (target_name PyOpenImageIO)
+
+-if (BOOST_CUSTOM OR Boost_FOUND AND PYTHONLIBS_FOUND)
++# Test if automatically found or manually set with BOOST_CUSTOM
++if (DEFINED Boost_PYTHON_LIBRARIES)
+
+ set (python_srcs py_imageinput.cpp py_imageoutput.cpp
+ py_imagecache.cpp py_imagespec.cpp py_roi.cpp
+@@ -81,8 +58,12 @@ if (BOOST_CUSTOM OR Boost_FOUND AND PYTHONLIBS_FOUND)
+ message (STATUS "Python found ${PYTHONLIBS_FOUND} ")
+ message (STATUS "Python include dirs ${PYTHON_INCLUDE_PATH}")
+ message (STATUS "Python libraries ${PYTHON_LIBRARIES}")
++ message (STATUS "Python site packages dir ${PYTHON_SITE_DIR}")
+ message (STATUS "Python to include 'lib' prefix: ${PYLIB_LIB_PREFIX}")
+ message (STATUS "Python to include SO version: ${PYLIB_INCLUDE_SONAME}")
++ message (STATUS "Python version ${PYTHON_VERSION_STRING}")
++ message (STATUS "Python version major: ${PYTHON_VERSION_MAJOR} minor: ${PYTHON_VERSION_MINOR}")
++ message (STATUS "Boost python libraries ${Boost_PYTHON_LIBRARIES}")
+ endif ()
+
+ include_directories (${PYTHON_INCLUDE_PATH} ${Boost_INCLUDE_DIRS})
+@@ -91,7 +72,7 @@ if (BOOST_CUSTOM OR Boost_FOUND AND PYTHONLIBS_FOUND)
+ target_link_libraries (${target_name} OpenImageIO ${Boost_LIBRARIES} ${Boost_PYTHON_LIBRARIES} ${CMAKE_DL_LIBS})
+ set_target_properties (${target_name} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
+ else ()
+- target_link_libraries (${target_name} OpenImageIO ${Boost_LIBRARIES} ${Boost_PYTHON_LIBRARIES} ${PYTHON_LIBRARIES} ${CMAKE_DL_LIBS})
++ target_link_libraries (${target_name} OpenImageIO ${SANITIZE_LIBRARIES} ${Boost_LIBRARIES} ${Boost_PYTHON_LIBRARIES} ${PYTHON_LIBRARIES} ${CMAKE_DL_LIBS})
+ endif ()
+
+ # Exclude the 'lib' prefix from the name
+@@ -123,21 +104,17 @@ if (BOOST_CUSTOM OR Boost_FOUND AND PYTHONLIBS_FOUND)
+ SUFFIX ".pyd")
+ endif()
+
+- if (BUILD_PY3)
+- install (TARGETS ${target_name}
+- RUNTIME DESTINATION ${PYLIB3_INSTALL_DIR} COMPONENT user
+- LIBRARY DESTINATION ${PYLIB3_INSTALL_DIR} COMPONENT user)
+- else ()
+- install (TARGETS ${target_name}
+- RUNTIME DESTINATION ${PYLIB_INSTALL_DIR} COMPONENT user
+- LIBRARY DESTINATION ${PYLIB_INSTALL_DIR} COMPONENT user)
+- endif ()
+-elseif (BUILD_PY3)
+- if (NOT PYTHONLIBS_FOUND)
+- message (STATUS "Python3 libraries not found")
+- endif ()
+- if (NOT Boost_FOUND)
+- message (STATUS "Boost python3 component not found")
+- endif ()
+- set(USE_PYTHON3 OFF)
++ install (TARGETS ${target_name}
++ RUNTIME DESTINATION ${PYTHON_SITE_DIR} COMPONENT user
++ LIBRARY DESTINATION ${PYTHON_SITE_DIR} COMPONENT user)
++else ()
++ # If Boost python components were not found, turn off all python support.
++ message (STATUS "Boost python support not found!")
++ if (APPLE AND USE_PYTHON)
++ message (STATUS " If your Boost is from Macports, you need the +python26 variant to get Python support.")
++ endif ()
++ if (BOOST_CUSTOM)
++ message (STATUS " Please set the variable Boost_PYTHON_LIBRARIES to the location of the boost python libraries.")
++ endif ()
++ message (FATAL_ERROR "Python module cannot be built. Either disable python support or check your boost installation.")
+ endif ()
+--
+2.14.2
+
diff --git a/media-libs/openimageio/files/openimageio-1.7.17-use-gnuinstalldirs.patch b/media-libs/openimageio/files/openimageio-1.7.17-use-gnuinstalldirs.patch
new file mode 100644
index 000000000000..e77b362be699
--- /dev/null
+++ b/media-libs/openimageio/files/openimageio-1.7.17-use-gnuinstalldirs.patch
@@ -0,0 +1,247 @@
+From 603f85536982669f2618be061511c48c93e1c5e9 Mon Sep 17 00:00:00 2001
+From: Jonathan Scruggs <j.scruggs@gmail.com>
+Date: Thu, 28 Sep 2017 16:35:26 +0100
+Subject: [PATCH 1/2] oiio/RB-1.7: Use GNUInstallDirs for installation paths
+ (#1747)
+
+* Change all hard coded paths to GNUInstallDirs varibles.
+* Remove variable setting in install.cmake file since
+ GNUInstallDirs does all this for you.
+* Added new search paths for fonts.
+
+Backported from:
+https://github.com/OpenImageIO/oiio/commit/1383ba314ec2522b4f0c7e9037bd546b68bc2d7d
+---
+ CMakeLists.txt | 51 ++++++++------------------------
+ src/cmake/oiio_macros.cmake | 6 ++--
+ src/doc/CMakeLists.txt | 4 +--
+ src/fonts/CMakeLists.txt | 2 +-
+ src/include/CMakeLists.txt | 2 +-
+ src/libOpenImageIO/imagebufalgo_draw.cpp | 11 +++++++
+ src/nuke/txReader/CMakeLists.txt | 3 +-
+ src/nuke/txWriter/CMakeLists.txt | 3 +-
+ 8 files changed, 32 insertions(+), 50 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ca8da565..635c61f4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -353,6 +353,8 @@ if (LINKSTATIC)
+ set (Boost_USE_STATIC_LIBS 1)
+ endif ()
+
++include (GNUInstallDirs)
++
+ set (CMAKE_MODULE_PATH
+ "${PROJECT_SOURCE_DIR}/src/cmake/modules"
+ "${PROJECT_SOURCE_DIR}/src/cmake")
+@@ -371,58 +373,32 @@ include_directories (
+
+
+ ###########################################################################
+-# Paths for install tree customization. Note that relative paths are relative
+-# to CMAKE_INSTALL_PREFIX.
+-set (DEFAULT_BIN_INSTALL_DIR "bin")
+-set (DEFAULT_LIB_INSTALL_DIR "lib")
+-set (DEFAULT_INCLUDE_INSTALL_DIR "include/OpenImageIO")
++# Set install paths for the python modules
++# TODO: Figure out how to get the correct python directory
++
+ if (UNIX AND NOT SELF_CONTAINED_INSTALL_TREE)
+- # Try to be well-behaved and install into reasonable places according to
+- # the "standard" unix directory heirarchy
+ # TODO: Figure out how to get the correct python directory
+- set (DEFAULT_PYLIB_INSTALL_DIR "lib/python/site-packages")
+- set (DEFAULT_PYLIB3_INSTALL_DIR "lib/python3/site-packages")
+- set (DEFAULT_DOC_INSTALL_DIR "share/doc/OpenImageIO")
+- set (DEFAULT_MAN_INSTALL_DIR "share/man/man1")
+- set (DEFAULT_FONTS_INSTALL_DIR "share/fonts/oiio")
++ set (DEFAULT_PYLIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/python/site-packages")
++ set (DEFAULT_PYLIB3_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/python3/site-packages")
+ else ()
+- # Here is the "self-contained install tree" case: the expectation here is
+- # that everything OIIO related will go into its own directory, not into
+- # some standard system heirarchy.
++ # Here is the "self-contained install tree" case: the expectation here
++ # is that everything related to this project will go into its own
++ # directory, not into some standard system heirarchy.
+ set (DEFAULT_PYLIB_INSTALL_DIR "python")
+ set (DEFAULT_PYLIB3_INSTALL_DIR "python3")
+- set (DEFAULT_DOC_INSTALL_DIR "doc")
+- set (DEFAULT_MAN_INSTALL_DIR "doc/man")
+- set (DEFAULT_FONTS_INSTALL_DIR "fonts/oiio")
+ endif ()
+ if (EXEC_INSTALL_PREFIX)
+ # Tack on an extra prefix to support multi-arch builds.
+- set (DEFAULT_BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_BIN_INSTALL_DIR}")
+- set (DEFAULT_LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_LIB_INSTALL_DIR}")
+ set (DEFAULT_PYLIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_PYLIB_INSTALL_DIR}")
+ set (DEFAULT_PYLIB3_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_PYLIB3_INSTALL_DIR}")
+- set (DEFAULT_FONTS_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_FONTS_INSTALL_DIR}")
+ endif ()
+ # Set up cmake cache variables corresponding to the defaults deduced above, so
+ # that the user can override them as desired:
+-set (BIN_INSTALL_DIR ${DEFAULT_BIN_INSTALL_DIR} CACHE STRING
+- "Install location for binaries (relative to CMAKE_INSTALL_PREFIX or absolute)")
+-set (LIB_INSTALL_DIR ${DEFAULT_LIB_INSTALL_DIR} CACHE STRING
+- "Install location for libraries (relative to CMAKE_INSTALL_PREFIX or absolute)")
+ set (PYLIB_INSTALL_DIR ${DEFAULT_PYLIB_INSTALL_DIR} CACHE STRING
+ "Install location for python libraries (relative to CMAKE_INSTALL_PREFIX or absolute)")
+ set (PYLIB3_INSTALL_DIR ${DEFAULT_PYLIB3_INSTALL_DIR} CACHE STRING
+ "Install location for python3 libraries (relative to CMAKE_INSTALL_PREFIX or absolute)")
+-set (INCLUDE_INSTALL_DIR ${DEFAULT_INCLUDE_INSTALL_DIR} CACHE STRING
+- "Install location of header files (relative to CMAKE_INSTALL_PREFIX or absolute)")
+-set (DOC_INSTALL_DIR ${DEFAULT_DOC_INSTALL_DIR} CACHE STRING
+- "Install location for documentation (relative to CMAKE_INSTALL_PREFIX or absolute)")
+-set (FONTS_INSTALL_DIR ${DEFAULT_FONTS_INSTALL_DIR} CACHE STRING
+- "Install location for fonts (relative to CMAKE_INSTALL_PREFIX or absolute)")
+-if (UNIX)
+- set (MAN_INSTALL_DIR ${DEFAULT_MAN_INSTALL_DIR} CACHE STRING
+- "Install location for manual pages (relative to CMAKE_INSTALL_PREFIX or absolute)")
+-endif()
++
+ set (PLUGIN_SEARCH_PATH "" CACHE STRING "Default plugin search path")
+
+ set (INSTALL_DOCS ON CACHE BOOL "Install documentation")
+@@ -440,10 +416,7 @@ if (CMAKE_SKIP_RPATH)
+ set (CMAKE_SKIP_RPATH FALSE)
+ unset (CMAKE_INSTALL_RPATH)
+ else ()
+- set (CMAKE_INSTALL_RPATH "${LIB_INSTALL_DIR}")
+- if (NOT IS_ABSOLUTE ${CMAKE_INSTALL_RPATH})
+- set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}")
+- endif ()
++ set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
+ set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+ endif ()
+ set (MACOSX_RPATH ON)
+diff --git a/src/cmake/oiio_macros.cmake b/src/cmake/oiio_macros.cmake
+index ee7be325..bfd07413 100644
+--- a/src/cmake/oiio_macros.cmake
++++ b/src/cmake/oiio_macros.cmake
+@@ -7,9 +7,9 @@
+ #
+ macro (oiio_install_targets)
+ install (TARGETS ${ARGN}
+- RUNTIME DESTINATION "${BIN_INSTALL_DIR}" COMPONENT user
+- LIBRARY DESTINATION "${LIB_INSTALL_DIR}" COMPONENT user
+- ARCHIVE DESTINATION "${LIB_INSTALL_DIR}" COMPONENT developer)
++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT user
++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT user
++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT developer)
+ endmacro ()
+
+ # Macro to add a build target for an IO plugin.
+diff --git a/src/doc/CMakeLists.txt b/src/doc/CMakeLists.txt
+index eea04340..a3dc1e71 100644
+--- a/src/doc/CMakeLists.txt
++++ b/src/doc/CMakeLists.txt
+@@ -7,7 +7,7 @@ set (public_docs
+ )
+
+ if (INSTALL_DOCS)
+- install (FILES ${public_docs} DESTINATION ${DOC_INSTALL_DIR}
++ install (FILES ${public_docs} DESTINATION ${CMAKE_INSTALL_DOCDIR}
+ COMPONENT documentation)
+ endif ()
+
+@@ -39,6 +39,6 @@ if (UNIX AND TXT2MAN AND PYTHONINTERP_FOUND)
+
+ if (INSTALL_DOCS)
+ install (FILES ${manpage_files}
+- DESTINATION ${MAN_INSTALL_DIR} COMPONENT documentation)
++ DESTINATION ${CMAKE_INSTALL_MANDIR} COMPONENT documentation)
+ endif ()
+ endif()
+diff --git a/src/fonts/CMakeLists.txt b/src/fonts/CMakeLists.txt
+index 1e296da0..d1bd6409 100644
+--- a/src/fonts/CMakeLists.txt
++++ b/src/fonts/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ file (GLOB public_fonts "*/*.ttf")
+
+ if (INSTALL_FONTS AND USE_FREETYPE)
+- install (FILES ${public_fonts} DESTINATION ${FONTS_INSTALL_DIR}
++ install (FILES ${public_fonts} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/fonts/OpenImageIO
+ COMPONENT fonts)
+ endif ()
+
+diff --git a/src/include/CMakeLists.txt b/src/include/CMakeLists.txt
+index b063e6f3..3aa96877 100644
+--- a/src/include/CMakeLists.txt
++++ b/src/include/CMakeLists.txt
+@@ -19,5 +19,5 @@ set (OIIO_BUILD_CPP14 ${USE_CPP14})
+ configure_file(OpenImageIO/oiioversion.h.in "${CMAKE_BINARY_DIR}/include/OpenImageIO/oiioversion.h" @ONLY)
+ list(APPEND public_headers "${CMAKE_BINARY_DIR}/include/OpenImageIO/oiioversion.h")
+
+-install (FILES ${public_headers} DESTINATION ${INCLUDE_INSTALL_DIR}
++install (FILES ${public_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/OpenImageIO
+ COMPONENT developer)
+diff --git a/src/libOpenImageIO/imagebufalgo_draw.cpp b/src/libOpenImageIO/imagebufalgo_draw.cpp
+index 4e3cc985..a877ff6e 100644
+--- a/src/libOpenImageIO/imagebufalgo_draw.cpp
++++ b/src/libOpenImageIO/imagebufalgo_draw.cpp
+@@ -685,27 +685,38 @@ ImageBufAlgo::render_text (ImageBuf &R, int x, int y, string_view text,
+ if (home && *home) {
+ std::string h (home);
+ search_dirs.push_back (h + "/fonts");
++ search_dirs.push_back (h + "/fonts/OpenImageIO");
+ search_dirs.push_back (h + "/Fonts");
++ search_dirs.push_back (h + "/Fonts/OpenImageIO");
+ search_dirs.push_back (h + "/Library/Fonts");
++ search_dirs.push_back (h + "/Library/Fonts/OpenImageIO");
+ }
+ const char *systemRoot = getenv ("SystemRoot");
+ if (systemRoot && *systemRoot)
+ search_dirs.push_back (std::string(systemRoot) + "/Fonts");
++ search_dirs.push_back (std::string(systemRoot) + "/Fonts/OpenImageIO");
+ search_dirs.push_back ("/usr/share/fonts");
++
+ search_dirs.push_back ("/Library/Fonts");
++ search_dirs.push_back ("/Library/Fonts/OpenImageIO");
+ search_dirs.push_back ("C:/Windows/Fonts");
++ search_dirs.push_back ("C:/Windows/Fonts/OpenImageIO");
+ search_dirs.push_back ("/usr/local/share/fonts");
++ search_dirs.push_back ("/usr/local/share/fonts/OpenImageIO");
+ search_dirs.push_back ("/opt/local/share/fonts");
++ search_dirs.push_back ("/opt/local/share/fonts/OpenImageIO");
+ // Try $OPENIMAGEIOHOME/fonts
+ const char *oiiohomedir = getenv ("OPENIMAGEIOHOME");
+ if (oiiohomedir && *oiiohomedir)
+ search_dirs.push_back (std::string(oiiohomedir) + "/fonts");
++ search_dirs.push_back (std::string(oiiohomedir) + "/fonts/OpenImageIO");
+ // Try ../fonts relative to where this executing binary came from
+ std::string this_program = OIIO::Sysutil::this_program_path ();
+ if (this_program.size()) {
+ std::string path = Filesystem::parent_path (this_program);
+ path = Filesystem::parent_path (path);
+ search_dirs.push_back (path+"/fonts");
++ search_dirs.push_back (path+"/fonts/OpenImageIO");
+ }
+
+ // Try to find the font. Experiment with several extensions
+diff --git a/src/nuke/txReader/CMakeLists.txt b/src/nuke/txReader/CMakeLists.txt
+index 3e72b6d4..660a2ee1 100644
+--- a/src/nuke/txReader/CMakeLists.txt
++++ b/src/nuke/txReader/CMakeLists.txt
+@@ -28,5 +28,4 @@ else ()
+ COMPILE_FLAGS "-fPIC -msse")
+ endif ()
+
+-install (TARGETS txReader
+- LIBRARY DESTINATION "${LIB_INSTALL_DIR}/nuke")
++oiio_install_targets (txReader)
+diff --git a/src/nuke/txWriter/CMakeLists.txt b/src/nuke/txWriter/CMakeLists.txt
+index 66312bc4..0fb70a36 100644
+--- a/src/nuke/txWriter/CMakeLists.txt
++++ b/src/nuke/txWriter/CMakeLists.txt
+@@ -28,5 +28,4 @@ else ()
+ COMPILE_FLAGS "-fPIC -msse")
+ endif ()
+
+-install (TARGETS txWriter
+- LIBRARY DESTINATION "${LIB_INSTALL_DIR}/nuke")
++oiio_install_targets (txWriter)
+--
+2.14.2
+
diff --git a/media-libs/openimageio/metadata.xml b/media-libs/openimageio/metadata.xml
index f8f22f8b6fd2..935e4012defd 100644
--- a/media-libs/openimageio/metadata.xml
+++ b/media-libs/openimageio/metadata.xml
@@ -6,8 +6,20 @@
<name>Gentoo Graphics Project</name>
</maintainer>
<use>
+ <flag name="cpu_flags_x86_avx512f" restrict="&gt;=media-libs/openimageio-1.7.11">
+ SIMD Optimization
+ </flag>
+ <flag name="cpu_flags_x86_f16c" restrict="&gt;=media-libs/openimageio-1.7.11">
+ SIMD Optimization
+ </flag>
<flag name="colorio">Use <pkg>media-libs/opencolorio</pkg></flag>
+ <flag name="field3d" restrict="&gt;=media-libs/openimageio-1.6.18">
+ Use <pkg>media-libs/Field3D</pkg>
+ </flag>
<flag name="opencv">Use <pkg>media-libs/opencv</pkg></flag>
+ <flag name="ptex" restrict="&gt;=media-libs/openimageio-1.6.18">
+ Use <pkg>media-libs/ptex</pkg>
+ </flag>
<flag name="tbb">Use <pkg>dev-cpp/tbb</pkg></flag>
</use>
<upstream>
diff --git a/media-libs/openimageio/openimageio-1.6.18.ebuild b/media-libs/openimageio/openimageio-1.6.18.ebuild
new file mode 100644
index 000000000000..874a927f7b8d
--- /dev/null
+++ b/media-libs/openimageio/openimageio-1.6.18.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+
+inherit cmake-utils vcs-snapshot python-single-r1
+
+DESCRIPTION="A library for reading and writing images"
+HOMEPAGE="https://sites.google.com/site/openimageio/ https://github.com/OpenImageIO"
+SRC_URI="https://github.com/OpenImageIO/oiio/archive/Release-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+
+X86_CPU_FEATURES=( sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4.1 sse4_2:sse4.2 )
+CPU_FEATURES=( ${X86_CPU_FEATURES[@]/#/cpu_flags_x86_} )
+
+IUSE="colorio doc ffmpeg field3d gif jpeg2k opencv opengl ptex python qt4 raw ssl +truetype ${CPU_FEATURES[@]%:*}"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RESTRICT="test" #431412
+
+RDEPEND="dev-libs/boost:=
+ dev-libs/pugixml:0=
+ media-libs/ilmbase:=
+ media-libs/libpng:0=
+ >=media-libs/libwebp-0.2.1:=
+ media-libs/openexr:=
+ media-libs/tiff:0=
+ sys-libs/zlib:=
+ virtual/jpeg:=
+ colorio? ( media-libs/opencolorio:0= )
+ ffmpeg? ( media-video/ffmpeg:0= )
+ field3d? ( media-libs/Field3D )
+ gif? ( media-libs/giflib:0= )
+ jpeg2k? ( >=media-libs/openjpeg-1.5:0= )
+ opencv? ( media-libs/opencv:= )
+ opengl? (
+ virtual/glu
+ virtual/opengl
+ )
+ ptex? ( media-libs/ptex )
+ python? (
+ ${PYTHON_DEPS}
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]
+ )
+ qt4? (
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtopengl:4
+ media-libs/glew:=
+ )
+ raw? ( media-libs/libraw:0= )
+ ssl? ( dev-libs/openssl:0= )
+ truetype? ( media-libs/freetype:2= )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-use-gnuinstalldirs.patch"
+ "${FILESDIR}/${P}-make-python-and-boost-detection-more-generic.patch"
+ "${FILESDIR}/${P}-repair-breaks-after-boost-python-1.65-changes.patch"
+)
+
+DOCS=( CHANGES CREDITS README.rst src/doc/${PN}.pdf )
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ # Build with SIMD support (choices: 0, sse2, sse3,"
+ # ssse3, sse4.1, sse4.2)"
+ local cpufeature
+ local mysimd=()
+ for cpufeature in "${CPU_FEATURES[@]}"; do
+ use "${cpufeature%:*}" && mysimd+=("${cpufeature#*:}")
+ done
+ # If no CPU SIMDs were used, completely disable them
+ [[ -z ${mysimd} ]] && mysimd=("0")
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}"
+ -DINSTALL_DOCS=$(usex doc)
+ -DOIIO_BUILD_CPP11=ON
+ -DOIIO_BUILD_TESTS=OFF # as they are RESTRICTed
+ -DSTOP_ON_WARNING=OFF
+ -DUSE_EXTERNAL_PUGIXML=ON
+ -DUSE_FFMPEG=$(usex ffmpeg)
+ -DUSE_FIELD3D=$(usex field3d)
+ -DUSE_FREETYPE=$(usex truetype)
+ -DUSE_GIF=$(usex gif)
+ -DUSE_JPEGTURBO=ON
+ -DUSE_LIBRAW=$(usex raw)
+ -DUSE_NUKE=NO # Missing in Gentoo
+ -DUSE_OCIO=$(usex colorio)
+ -DUSE_OPENCV=$(usex opencv)
+ -DUSE_OPENGL=$(usex opengl)
+ -DUSE_OPENJPEG=$(usex jpeg2k)
+ -DUSE_OPENSSL=$(usex ssl)
+ -DUSE_PTEX=$(usex ptex)
+ -DUSE_PYTHON=$(usex python)
+ -DUSE_QT=$(usex qt4)
+ -DUSE_SIMD="$(IFS=","; echo "${mysimd[*]}")"
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/media-libs/openimageio/openimageio-1.7.17.ebuild b/media-libs/openimageio/openimageio-1.7.17.ebuild
new file mode 100644
index 000000000000..20a3d9542038
--- /dev/null
+++ b/media-libs/openimageio/openimageio-1.7.17.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+
+inherit cmake-utils vcs-snapshot python-single-r1
+
+DESCRIPTION="A library for reading and writing images"
+HOMEPAGE="https://sites.google.com/site/openimageio/ https://github.com/OpenImageIO"
+SRC_URI="https://github.com/OpenImageIO/oiio/archive/Release-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+
+X86_CPU_FEATURES=(
+ sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4.1 sse4_2:sse4.2
+ avx:avx avx2:avx2 avx512f:avx512f f16c:f16c
+)
+CPU_FEATURES=( ${X86_CPU_FEATURES[@]/#/cpu_flags_x86_} )
+
+IUSE="colorio doc ffmpeg field3d gif jpeg2k opencv opengl ptex python qt4 raw ssl +truetype ${CPU_FEATURES[@]%:*}"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RESTRICT="test" #431412
+
+RDEPEND=">=dev-libs/boost-1.62:=
+ dev-libs/pugixml:=
+ >=media-libs/ilmbase-2.2.0-r1:=
+ media-libs/libpng:0=
+ >=media-libs/libwebp-0.2.1:=
+ >=media-libs/openexr-2.2.0-r2:=
+ media-libs/tiff:0=
+ sys-libs/zlib:=
+ virtual/jpeg:=
+ colorio? ( media-libs/opencolorio:= )
+ ffmpeg? ( media-video/ffmpeg:= )
+ field3d? ( media-libs/Field3D:= )
+ gif? ( media-libs/giflib:0= )
+ jpeg2k? ( >=media-libs/openjpeg-1.5:0= )
+ opencv? ( media-libs/opencv:= )
+ opengl? (
+ virtual/glu
+ virtual/opengl
+ )
+ ptex? ( media-libs/ptex:= )
+ python? (
+ ${PYTHON_DEPS}
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]
+ )
+ qt4? (
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtopengl:4
+ media-libs/glew:=
+ )
+ raw? ( media-libs/libraw:= )
+ ssl? ( dev-libs/openssl:0= )
+ truetype? ( media-libs/freetype:2= )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen[latex] )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-use-gnuinstalldirs.patch"
+ "${FILESDIR}/${P}-make-python-and-boost-detection-more-generic.patch"
+)
+
+DOCS=( CHANGES.md CREDITS.md README.md src/doc/${PN}.pdf )
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ # Build with SIMD support
+ local cpufeature
+ local mysimd=()
+ for cpufeature in "${CPU_FEATURES[@]}"; do
+ use "${cpufeature%:*}" && mysimd+=("${cpufeature#*:}")
+ done
+
+ # If no CPU SIMDs were used, completely disable them
+ [[ -z ${mysimd} ]] && mysimd=("0")
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}"
+ -DINSTALL_DOCS=$(usex doc)
+ -DOIIO_BUILD_TESTS=OFF # as they are RESTRICTed
+ -DSTOP_ON_WARNING=OFF
+ -DUSE_CPP14=ON
+ -DUSE_EXTERNAL_PUGIXML=ON
+ -DUSE_FFMPEG=$(usex ffmpeg)
+ -DUSE_FIELD3D=$(usex field3d)
+ -DUSE_FREETYPE=$(usex truetype)
+ -DUSE_GIF=$(usex gif)
+ -DUSE_JPEGTURBO=ON
+ -DUSE_LIBRAW=$(usex raw)
+ -DUSE_NUKE=NO # Missing in Gentoo
+ -DUSE_NUKE=OFF
+ -DUSE_OCIO=$(usex colorio)
+ -DUSE_OPENCV=$(usex opencv)
+ -DUSE_OPENGL=$(usex opengl)
+ -DUSE_OPENJPEG=$(usex jpeg2k)
+ -DUSE_OPENSSL=$(usex ssl)
+ -DUSE_PTEX=$(usex ptex)
+ -DUSE_PYTHON=$(usex python)
+ -DUSE_QT=$(usex qt4)
+ -DUSE_SIMD="$(IFS=","; echo "${mysimd[*]}")"
+ )
+
+ cmake-utils_src_configure
+}