git: 49fa9640ff1b - main - graphics/openexr: update to 3.2.0

From: Matthias Andree <mandree_at_FreeBSD.org>
Date: Sun, 10 Sep 2023 11:44:42 UTC
The branch main has been updated by mandree:

URL: https://cgit.FreeBSD.org/ports/commit/?id=49fa9640ff1bfd5431be3d02124da34e21c477ab

commit 49fa9640ff1bfd5431be3d02124da34e21c477ab
Author:     Matthias Andree <mandree@FreeBSD.org>
AuthorDate: 2023-09-01 17:41:23 +0000
Commit:     Matthias Andree <mandree@FreeBSD.org>
CommitDate: 2023-09-10 11:44:31 +0000

    graphics/openexr: update to 3.2.0
    
    - Also install manual pages (generated through help2man)
    - The website (formerly known "DOCS" build) requires the "convert(1)"
      tool, which is part of ImageMagick, which itself depends on OpenEXR.
      To break the loop, split out the offline website build to a new
      package, graphics/openexr-website-docs
---
 graphics/Makefile                                  |   1 +
 graphics/openexr-website-docs/Makefile             | 145 ++++++++++++++
 graphics/openexr-website-docs/distinfo             | 217 +++++++++++++++++++++
 .../files/patch-CMakeLists.txt                     |  69 +++++++
 .../files/patch-website_scripts_test__images.py    |  31 +++
 graphics/openexr-website-docs/pkg-descr            |   4 +
 graphics/openexr/Makefile                          |  77 +++++---
 graphics/openexr/distinfo                          |  38 +++-
 graphics/openexr/pkg-plist                         |  26 ++-
 9 files changed, 572 insertions(+), 36 deletions(-)

diff --git a/graphics/Makefile b/graphics/Makefile
index 861c16cd33d4..a3041100f86a 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -613,6 +613,7 @@
     SUBDIR += opencv
     SUBDIR += opendx
     SUBDIR += openexr
+    SUBDIR += openexr-website-docs
     SUBDIR += openfx-arena
     SUBDIR += openfx-misc
     SUBDIR += opengl-man
diff --git a/graphics/openexr-website-docs/Makefile b/graphics/openexr-website-docs/Makefile
new file mode 100644
index 000000000000..221c770f339e
--- /dev/null
+++ b/graphics/openexr-website-docs/Makefile
@@ -0,0 +1,145 @@
+# PORTVERSION taken from MASTER port, graphics/openexr
+PORTNAME=	openexr-website-docs
+PORTREVISION=	0
+MASTER_SITES=	https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr-images/main/:website \
+		LOCAL/mandree/openexr/:DEFAULT \
+		LOCAL/mandree/openexr/:website \
+
+# cat $(make -V WRKSRC)/website/test_images.txt  | grep -v ^$ | sed 's,^,DISTFILES+=\t,'
+DISTFILES+=	TestImages/README.rst:website
+DISTFILES+=	TestImages/AllHalfValues.exr:website
+DISTFILES+=	TestImages/BrightRings.exr:website
+DISTFILES+=	TestImages/BrightRingsNanInf.exr:website
+DISTFILES+=	TestImages/GammaChart.exr:website
+DISTFILES+=	TestImages/GrayRampsDiagonal.exr:website
+DISTFILES+=	TestImages/GrayRampsHorizontal.exr:website
+DISTFILES+=	TestImages/RgbRampsDiagonal.exr:website
+DISTFILES+=	TestImages/SquaresSwirls.exr:website
+DISTFILES+=	TestImages/WideColorGamut.exr:website
+DISTFILES+=	TestImages/WideFloatRange.exr:website
+DISTFILES+=	ScanLines/README.rst:website
+DISTFILES+=	ScanLines/Blobbies.exr:website
+DISTFILES+=	ScanLines/CandleGlass.exr:website
+DISTFILES+=	ScanLines/Cannon.exr:website
+DISTFILES+=	ScanLines/Desk.exr:website
+DISTFILES+=	ScanLines/MtTamWest.exr:website
+DISTFILES+=	ScanLines/PrismsLenses.exr:website
+DISTFILES+=	ScanLines/StillLife.exr:website
+DISTFILES+=	ScanLines/Tree.exr:website
+DISTFILES+=	Tiles/README.rst:website
+DISTFILES+=	Tiles/GoldenGate.exr:website
+DISTFILES+=	Tiles/Ocean.exr:website
+DISTFILES+=	Tiles/Spirals.exr:website
+DISTFILES+=	Chromaticities/README.rst:website
+DISTFILES+=	Chromaticities/Rec709.exr:website
+DISTFILES+=	Chromaticities/Rec709_YC.exr:website
+DISTFILES+=	Chromaticities/XYZ.exr:website
+DISTFILES+=	Chromaticities/XYZ_YC.exr:website
+DISTFILES+=	LuminanceChroma/README.rst:website
+DISTFILES+=	LuminanceChroma/CrissyField.exr:website
+DISTFILES+=	LuminanceChroma/Flowers.exr:website
+DISTFILES+=	LuminanceChroma/Garden.exr:website
+DISTFILES+=	LuminanceChroma/MtTamNorth.exr:website
+DISTFILES+=	LuminanceChroma/StarField.exr:website
+DISTFILES+=	DisplayWindow/README.rst:website
+DISTFILES+=	DisplayWindow/t01.exr:website
+DISTFILES+=	DisplayWindow/t02.exr:website
+DISTFILES+=	DisplayWindow/t03.exr:website
+DISTFILES+=	DisplayWindow/t04.exr:website
+DISTFILES+=	DisplayWindow/t05.exr:website
+DISTFILES+=	DisplayWindow/t06.exr:website
+DISTFILES+=	DisplayWindow/t07.exr:website
+DISTFILES+=	DisplayWindow/t08.exr:website
+DISTFILES+=	DisplayWindow/t09.exr:website
+DISTFILES+=	DisplayWindow/t10.exr:website
+DISTFILES+=	DisplayWindow/t11.exr:website
+DISTFILES+=	DisplayWindow/t12.exr:website
+DISTFILES+=	DisplayWindow/t13.exr:website
+DISTFILES+=	DisplayWindow/t14.exr:website
+DISTFILES+=	DisplayWindow/t15.exr:website
+DISTFILES+=	DisplayWindow/t16.exr:website
+DISTFILES+=	Beachball/README.rst:website
+DISTFILES+=	Beachball/multipart.0001.exr:website
+DISTFILES+=	Beachball/multipart.0002.exr:website
+DISTFILES+=	Beachball/multipart.0003.exr:website
+DISTFILES+=	Beachball/multipart.0004.exr:website
+DISTFILES+=	Beachball/multipart.0005.exr:website
+DISTFILES+=	Beachball/multipart.0006.exr:website
+DISTFILES+=	Beachball/multipart.0007.exr:website
+DISTFILES+=	Beachball/multipart.0008.exr:website
+DISTFILES+=	Beachball/singlepart.0001.exr:website
+DISTFILES+=	Beachball/singlepart.0002.exr:website
+DISTFILES+=	Beachball/singlepart.0003.exr:website
+DISTFILES+=	Beachball/singlepart.0004.exr:website
+DISTFILES+=	Beachball/singlepart.0005.exr:website
+DISTFILES+=	Beachball/singlepart.0006.exr:website
+DISTFILES+=	Beachball/singlepart.0007.exr:website
+DISTFILES+=	Beachball/singlepart.0008.exr:website
+DISTFILES+=	MultiView/README.rst:website
+DISTFILES+=	MultiView/Adjuster.exr:website
+DISTFILES+=	MultiView/Balls.exr:website
+DISTFILES+=	MultiView/Fog.exr:website
+DISTFILES+=	MultiView/Impact.exr:website
+DISTFILES+=	MultiView/LosPadres.exr:website
+DISTFILES+=	MultiResolution/README.rst:website
+DISTFILES+=	MultiResolution/Bonita.exr:website
+DISTFILES+=	MultiResolution/ColorCodedLevels.exr:website
+DISTFILES+=	MultiResolution/Kapaa.exr:website
+DISTFILES+=	MultiResolution/KernerEnvCube.exr:website
+DISTFILES+=	MultiResolution/KernerEnvLatLong.exr:website
+DISTFILES+=	MultiResolution/MirrorPattern.exr:website
+DISTFILES+=	MultiResolution/OrientationCube.exr:website
+DISTFILES+=	MultiResolution/OrientationLatLong.exr:website
+DISTFILES+=	MultiResolution/PeriodicPattern.exr:website
+DISTFILES+=	MultiResolution/StageEnvCube.exr:website
+DISTFILES+=	MultiResolution/StageEnvLatLong.exr:website
+DISTFILES+=	MultiResolution/WavyLinesCube.exr:website
+DISTFILES+=	MultiResolution/WavyLinesLatLong.exr:website
+DISTFILES+=	MultiResolution/WavyLinesSphere.exr:website
+DISTFILES+=	v2/Stereo/README.rst:website
+DISTFILES+=	v2/Stereo/Balls.exr:website
+DISTFILES+=	v2/Stereo/Ground.exr:website
+DISTFILES+=	v2/Stereo/Leaves.exr:website
+DISTFILES+=	v2/Stereo/Trunks.exr:website
+DISTFILES+=	v2/Stereo/composited.exr:website
+DISTFILES+=	v2/LeftView/README.rst:website
+DISTFILES+=	v2/LeftView/Balls.exr:website
+DISTFILES+=	v2/LeftView/Ground.exr:website
+DISTFILES+=	v2/LeftView/Leaves.exr:website
+DISTFILES+=	v2/LeftView/Trunks.exr:website
+DISTFILES+=	v2/LowResLeftView/README.rst:website
+DISTFILES+=	v2/LowResLeftView/Balls.exr:website
+DISTFILES+=	v2/LowResLeftView/Ground.exr:website
+DISTFILES+=	v2/LowResLeftView/Leaves.exr:website
+DISTFILES+=	v2/LowResLeftView/Trunks.exr:website
+DISTFILES+=	v2/LowResLeftView/composited.exr:website
+
+BUILD_DEPENDS=	breathe-apidoc:devel/py-breathe \
+		${PYTHON_PKGNAMEPREFIX}sphinx_press_theme>=0:textproc/py-sphinx_press_theme \
+		convert:graphics/ImageMagick7 \
+		openexr>=0:graphics/openexr
+LIB_DEPENDS=
+USES=		cmake python:build
+CMAKE_ARGS=	-DPython_EXECUTABLE:STRING=${PYTHON_CMD} -DBUILD_WEBSITE=on -Wno-dev
+MAKE_ENV=	FREEBSD_DIST=${DISTDIR}/${DIST_SUBDIR}
+ALL_TARGET=	website
+
+MASTERDIR=	${.CURDIR}/../../graphics/openexr
+PATCHDIR=	${.CURDIR}/files
+PKGDIR=		${.CURDIR}
+
+BINARY_ALIAS=	python3=${PYTHON_CMD}
+
+NO_ARCH=	yes
+
+DISTINFO_FILE=	${.CURDIR}/distinfo
+
+OPTIONS_EXCLUDE=EXAMPLES
+OPTIONS_SLAVE=	DOCS
+
+do-install:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	( cd ${BUILD_WRKSRC}/website/sphinx && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} )
+	${RM} -r ${STAGEDIR}${DOCSDIR}/.??* ${STAGEDIR}${DOCSDIR}/../OpenEXR/sphinx
+
+.include "${MASTERDIR}/Makefile"
diff --git a/graphics/openexr-website-docs/distinfo b/graphics/openexr-website-docs/distinfo
new file mode 100644
index 000000000000..5c159ed68550
--- /dev/null
+++ b/graphics/openexr-website-docs/distinfo
@@ -0,0 +1,217 @@
+TIMESTAMP = 1694341362
+SHA256 (openexr-website-docs/TestImages/README.rst) = 3cbb0a9ab20868940de1b9bf582bdc5ff4244cc585c682d6e40b9befb8fd593c
+SIZE (openexr-website-docs/TestImages/README.rst) = 2588
+SHA256 (openexr-website-docs/TestImages/AllHalfValues.exr) = eede573a0b59b79f21de15ee9d3b7649d58d8f2a8e7787ea34f192db3b3c84a4
+SIZE (openexr-website-docs/TestImages/AllHalfValues.exr) = 70769
+SHA256 (openexr-website-docs/TestImages/BrightRings.exr) = 4bf318bfdd9a8371694f8009be5d9ff21d4af8b73f444e34a5a047b8253c83e2
+SIZE (openexr-website-docs/TestImages/BrightRings.exr) = 151068
+SHA256 (openexr-website-docs/TestImages/BrightRingsNanInf.exr) = 1d32ea056eda34c6dad50a770ca4c262875056fe47e429f90a3f1d2736570bb6
+SIZE (openexr-website-docs/TestImages/BrightRingsNanInf.exr) = 151163
+SHA256 (openexr-website-docs/TestImages/GammaChart.exr) = bb2819850542afae5e2208ba39724c23fe1a07b80b96f4fd093b3c9a3ca8ac2f
+SIZE (openexr-website-docs/TestImages/GammaChart.exr) = 23272
+SHA256 (openexr-website-docs/TestImages/GrayRampsDiagonal.exr) = fd60a5a363adf76d95af15551feb0af3b0a6371652d23bd944d01e1f6189f203
+SIZE (openexr-website-docs/TestImages/GrayRampsDiagonal.exr) = 62336
+SHA256 (openexr-website-docs/TestImages/GrayRampsHorizontal.exr) = 7858e712af500e737ebaedbf40730646529e6093371ddb939becc58700b8fc6a
+SIZE (openexr-website-docs/TestImages/GrayRampsHorizontal.exr) = 18296
+SHA256 (openexr-website-docs/TestImages/RgbRampsDiagonal.exr) = 6037f9e122431eeaa084843c56255bf85d044a859e98df856cb69b24b2d49b4b
+SIZE (openexr-website-docs/TestImages/RgbRampsDiagonal.exr) = 133681
+SHA256 (openexr-website-docs/TestImages/SquaresSwirls.exr) = 6c9f67f3cd47aaa24cc57d30198305c81c286087bc2d1f2ea53c2bf77943858f
+SIZE (openexr-website-docs/TestImages/SquaresSwirls.exr) = 437763
+SHA256 (openexr-website-docs/TestImages/WideColorGamut.exr) = 7140e9262ff518215e610fc5d4584ae470e50f8b0e7f21eb403f5b1684a33101
+SIZE (openexr-website-docs/TestImages/WideColorGamut.exr) = 172826
+SHA256 (openexr-website-docs/TestImages/WideFloatRange.exr) = 7b038f9f43e0a69b779f1ffb519a50b910d13717d7b0aab8adb2328682e6673f
+SIZE (openexr-website-docs/TestImages/WideFloatRange.exr) = 70935
+SHA256 (openexr-website-docs/ScanLines/README.rst) = b260b66bc1ba51e2167e26d0b905b0d48d07e407c16c0e4da8d04b57c3c418c9
+SIZE (openexr-website-docs/ScanLines/README.rst) = 615
+SHA256 (openexr-website-docs/ScanLines/Blobbies.exr) = c46dd0147e027ca2885fc75a7acb773759b900945ecafe998edb8319cdfb3278
+SIZE (openexr-website-docs/ScanLines/Blobbies.exr) = 6109568
+SHA256 (openexr-website-docs/ScanLines/CandleGlass.exr) = d84ec54c56a9f3a04cc35ef35097086f3531a511c750b2f78ad5501fb5cca4bf
+SIZE (openexr-website-docs/ScanLines/CandleGlass.exr) = 2629900
+SHA256 (openexr-website-docs/ScanLines/Cannon.exr) = 1ac7ae21c22fe1b006f18e3b6b53d52330fb7314ba4b1e0c68016967182d0fa9
+SIZE (openexr-website-docs/ScanLines/Cannon.exr) = 1163637
+SHA256 (openexr-website-docs/ScanLines/Desk.exr) = 2734d15e1ce157f73feaae5033b148bdabc98acb3084e9d892c6b01f23c24854
+SIZE (openexr-website-docs/ScanLines/Desk.exr) = 2424523
+SHA256 (openexr-website-docs/ScanLines/MtTamWest.exr) = 95731ce474982e74e154e96a6d74afb1ba0da851b673bff592fa977f87adaae5
+SIZE (openexr-website-docs/ScanLines/MtTamWest.exr) = 3323365
+SHA256 (openexr-website-docs/ScanLines/PrismsLenses.exr) = 481f9e83a9671ae3452355d8116ee202f69e539cd6cbf45d114faee47e634f18
+SIZE (openexr-website-docs/ScanLines/PrismsLenses.exr) = 4380714
+SHA256 (openexr-website-docs/ScanLines/StillLife.exr) = 86a04a36ec10983780d47ae33b2fba0dde269dd687bf53decf5ec0a726e50756
+SIZE (openexr-website-docs/ScanLines/StillLife.exr) = 3783165
+SHA256 (openexr-website-docs/ScanLines/Tree.exr) = 8397741de996ab16ab94005fd0f0327bd29ab448163160a608c0b26e26864712
+SIZE (openexr-website-docs/ScanLines/Tree.exr) = 3716423
+SHA256 (openexr-website-docs/Tiles/README.rst) = 2cdff6575b9c56f387648a5347ce420832bf1f7331b1f07b3a608611e3a71b74
+SIZE (openexr-website-docs/Tiles/README.rst) = 346
+SHA256 (openexr-website-docs/Tiles/GoldenGate.exr) = 8790ad440e8708a05044d646082e876327ceba759052dffa7adf8eb7c170bca0
+SIZE (openexr-website-docs/Tiles/GoldenGate.exr) = 3693609
+SHA256 (openexr-website-docs/Tiles/Ocean.exr) = d599c1a768ac86f1c543793b20be42a831a1727a901eb25558b5bdc68470573c
+SIZE (openexr-website-docs/Tiles/Ocean.exr) = 4633181
+SHA256 (openexr-website-docs/Tiles/Spirals.exr) = 31a1bfd48d9a24360213f2a00498abdf7b1ab2ae8b8b9d0bdc25334004380e16
+SIZE (openexr-website-docs/Tiles/Spirals.exr) = 5364450
+SHA256 (openexr-website-docs/Chromaticities/README.rst) = 1ee8d6adce9dbcff6645fbb61db6d406243109032663e7fb728da4720eb98b96
+SIZE (openexr-website-docs/Chromaticities/README.rst) = 913
+SHA256 (openexr-website-docs/Chromaticities/Rec709.exr) = 15028cbf7bf0efa43738890af715ec550d26ae9e32a1020d0f4e7c785d3a370e
+SIZE (openexr-website-docs/Chromaticities/Rec709.exr) = 908168
+SHA256 (openexr-website-docs/Chromaticities/Rec709_YC.exr) = dd7355a2c2a694bae041500af4f61ae96bdc02a6e9474fa53d4e4ccef83c8774
+SIZE (openexr-website-docs/Chromaticities/Rec709_YC.exr) = 378570
+SHA256 (openexr-website-docs/Chromaticities/XYZ.exr) = 8d97c476726ae67a086220463c91b7202279a4c7c1ea94810ce75a4c28e7825f
+SIZE (openexr-website-docs/Chromaticities/XYZ.exr) = 930048
+SHA256 (openexr-website-docs/Chromaticities/XYZ_YC.exr) = 7d0b9b7e6f19a698ff733539de15760a07f6771a1a4f5c1e545ac03d7a4ce293
+SIZE (openexr-website-docs/Chromaticities/XYZ_YC.exr) = 364055
+SHA256 (openexr-website-docs/LuminanceChroma/README.rst) = 92029cf423a849b7255d448dfea7fe336e3b22d1ec81f8671aa9653cfe771cef
+SIZE (openexr-website-docs/LuminanceChroma/README.rst) = 470
+SHA256 (openexr-website-docs/LuminanceChroma/CrissyField.exr) = 5a1b2ca1a716c736bfcfdabb8e5cc6b533dbd9f937da59bc5adc66913de9442f
+SIZE (openexr-website-docs/LuminanceChroma/CrissyField.exr) = 1304619
+SHA256 (openexr-website-docs/LuminanceChroma/Flowers.exr) = d1016a9177e723122f982fe79077dd71d42bf2b4da565d35f4c728f8a5688236
+SIZE (openexr-website-docs/LuminanceChroma/Flowers.exr) = 758083
+SHA256 (openexr-website-docs/LuminanceChroma/Garden.exr) = c19060f8252ec7cce66979c04c883766d70343ca1916ccc538d02eea982cfc66
+SIZE (openexr-website-docs/LuminanceChroma/Garden.exr) = 399046
+SHA256 (openexr-website-docs/LuminanceChroma/MtTamNorth.exr) = 4eaf0f7afe3a2e73d10c556ff1aab180f8b0e4b3e9a72971aed6518661d5a833
+SIZE (openexr-website-docs/LuminanceChroma/MtTamNorth.exr) = 1422492
+SHA256 (openexr-website-docs/LuminanceChroma/StarField.exr) = e01b852ddeb8dcb0b7924ce016befcd88e4539b26dbd46a5cdd66ff6201e560c
+SIZE (openexr-website-docs/LuminanceChroma/StarField.exr) = 2038226
+SHA256 (openexr-website-docs/DisplayWindow/README.rst) = 93b09e154eaeb771d5f3b71825bd68abc2076cf1cb06ab9202e6f493c3a10a94
+SIZE (openexr-website-docs/DisplayWindow/README.rst) = 2244
+SHA256 (openexr-website-docs/DisplayWindow/t01.exr) = adc51278b0ceaa3475f58a9abc5cb5dec79c4590b9db773009e6ffcfdfd81643
+SIZE (openexr-website-docs/DisplayWindow/t01.exr) = 20829
+SHA256 (openexr-website-docs/DisplayWindow/t02.exr) = 0ef9bf41902af9ae8cc981068cd5948cb9629bc65c4943ae5b6daec4fcdcd0e1
+SIZE (openexr-website-docs/DisplayWindow/t02.exr) = 20829
+SHA256 (openexr-website-docs/DisplayWindow/t03.exr) = c9708d458aaa9849325604200be4bf7958ac77594c928da234da4826b0df8c62
+SIZE (openexr-website-docs/DisplayWindow/t03.exr) = 20829
+SHA256 (openexr-website-docs/DisplayWindow/t04.exr) = ca9cafa344aeaa211672df498abcdf95aa429d3b2bb380b35fea39a9e9fa73da
+SIZE (openexr-website-docs/DisplayWindow/t04.exr) = 20829
+SHA256 (openexr-website-docs/DisplayWindow/t05.exr) = ab242bfa21826af2cba883c0257866cfe2300e5c97b7e6687d0e8dc3dc4851dc
+SIZE (openexr-website-docs/DisplayWindow/t05.exr) = 20829
+SHA256 (openexr-website-docs/DisplayWindow/t06.exr) = 920191add20f19592ddf925127162d40bf823d6f73e691f39a893aaefe78f7fa
+SIZE (openexr-website-docs/DisplayWindow/t06.exr) = 20829
+SHA256 (openexr-website-docs/DisplayWindow/t07.exr) = 11310a48a95814b197ae3306da280930d6f6b47b650a0ab48375f1201b6a914e
+SIZE (openexr-website-docs/DisplayWindow/t07.exr) = 20829
+SHA256 (openexr-website-docs/DisplayWindow/t08.exr) = fd92b685cdcd946aceb39bc033bf89abf53973b767a910907c5aabbe41abbb61
+SIZE (openexr-website-docs/DisplayWindow/t08.exr) = 20829
+SHA256 (openexr-website-docs/DisplayWindow/t09.exr) = 4b57630afbe015efd01998857f033dd26236be60a042827faba7afa2c853390c
+SIZE (openexr-website-docs/DisplayWindow/t09.exr) = 20829
+SHA256 (openexr-website-docs/DisplayWindow/t10.exr) = 21ed7000c20eb3249247c5eda682da57c41ef3631a50510e837d8c9f8322d16a
+SIZE (openexr-website-docs/DisplayWindow/t10.exr) = 20829
+SHA256 (openexr-website-docs/DisplayWindow/t11.exr) = a0e2e4a6c3423c6f9e07e0113927792a6e8c5e14873fcc4f2252cdad3e3d8852
+SIZE (openexr-website-docs/DisplayWindow/t11.exr) = 20829
+SHA256 (openexr-website-docs/DisplayWindow/t12.exr) = 48af99e71d55beee90cdbe3d5b0edb36de34d007dabb032a48f78ab5f2ab2ed9
+SIZE (openexr-website-docs/DisplayWindow/t12.exr) = 20829
+SHA256 (openexr-website-docs/DisplayWindow/t13.exr) = e779baaed0563955213f99daf07f903727f9100c3b6ea342302d0f0a32607d2a
+SIZE (openexr-website-docs/DisplayWindow/t13.exr) = 20829
+SHA256 (openexr-website-docs/DisplayWindow/t14.exr) = 35c8089aab3a1d6a6feba00b51d8d4ce90ad67fc1eff68750167c00c5bc89597
+SIZE (openexr-website-docs/DisplayWindow/t14.exr) = 20829
+SHA256 (openexr-website-docs/DisplayWindow/t15.exr) = e2709c5751fe7be902c0fa6c7d4039f98bc1e2ad159246cf0ef2fac9112ffee1
+SIZE (openexr-website-docs/DisplayWindow/t15.exr) = 20829
+SHA256 (openexr-website-docs/DisplayWindow/t16.exr) = 60e0dc9eed128514847c0bf3a482e9ac7294feb6a74bc1a69c3faad8514cd526
+SIZE (openexr-website-docs/DisplayWindow/t16.exr) = 20829
+SHA256 (openexr-website-docs/Beachball/README.rst) = 98ca571c997ddbfbdb4beb8869de8dec1821ca60d475fbcacdaafb64eb31f800
+SIZE (openexr-website-docs/Beachball/README.rst) = 4897
+SHA256 (openexr-website-docs/Beachball/multipart.0001.exr) = 0cd032069fbaa14a2766861fef9893ea66a6494ff64650725d3b26a500df774b
+SIZE (openexr-website-docs/Beachball/multipart.0001.exr) = 2894260
+SHA256 (openexr-website-docs/Beachball/multipart.0002.exr) = 3428d4347cd8780484b217aca3e7712960f1263ac671802ec19e0a9abd5204a5
+SIZE (openexr-website-docs/Beachball/multipart.0002.exr) = 3108982
+SHA256 (openexr-website-docs/Beachball/multipart.0003.exr) = 71e1328109291aa5abc969cb732eb63babc0e515e687e83ba949640b0f3ee0ba
+SIZE (openexr-website-docs/Beachball/multipart.0003.exr) = 2842647
+SHA256 (openexr-website-docs/Beachball/multipart.0004.exr) = 38881c08c1836aa90e451c288210b6b09d12844968bc4fb41db7cd3b19a0ce22
+SIZE (openexr-website-docs/Beachball/multipart.0004.exr) = 2940270
+SHA256 (openexr-website-docs/Beachball/multipart.0005.exr) = 2bfdf5c32395b9b2f545a0cdb92a7fc0fe1859d46a41ca1a24df2bda5c583733
+SIZE (openexr-website-docs/Beachball/multipart.0005.exr) = 3133418
+SHA256 (openexr-website-docs/Beachball/multipart.0006.exr) = 63f27c2ae8a95a1a957d174015f9d4ac241ac1c3a95846a425dc86475b8007c9
+SIZE (openexr-website-docs/Beachball/multipart.0006.exr) = 2807897
+SHA256 (openexr-website-docs/Beachball/multipart.0007.exr) = f0dfae63fa1b493782edff09fadd742a7514c8a141b1658da03c3a73a439dda1
+SIZE (openexr-website-docs/Beachball/multipart.0007.exr) = 2832690
+SHA256 (openexr-website-docs/Beachball/multipart.0008.exr) = 4095ace76137026ef08a896bce3407dc51f7f9dd22a1e7942a7c47c835ed973d
+SIZE (openexr-website-docs/Beachball/multipart.0008.exr) = 3110699
+SHA256 (openexr-website-docs/Beachball/singlepart.0001.exr) = 29719942ed3c095a8f8f111fc139fc4c28f446007f5bfce00177cae585b1a87a
+SIZE (openexr-website-docs/Beachball/singlepart.0001.exr) = 2347698
+SHA256 (openexr-website-docs/Beachball/singlepart.0002.exr) = 7393fe8ad71830faf2ab25881a7a40e0afa09d82b35a6e5e018a7fe7ac4dc2fe
+SIZE (openexr-website-docs/Beachball/singlepart.0002.exr) = 2558932
+SHA256 (openexr-website-docs/Beachball/singlepart.0003.exr) = f0f65b3db3df3a07543e599baab02fe3323e242fcf40e247cd1bd992f03bc353
+SIZE (openexr-website-docs/Beachball/singlepart.0003.exr) = 2319755
+SHA256 (openexr-website-docs/Beachball/singlepart.0004.exr) = 8bd77e7bea2fc2a060b93861ee3cc77407059437f7a82155def4aec8f010be0f
+SIZE (openexr-website-docs/Beachball/singlepart.0004.exr) = 2389299
+SHA256 (openexr-website-docs/Beachball/singlepart.0005.exr) = 12bf1558210aac22b33c74af316fc3d95669422f2e9a1a6ae98c3fe59e72e6b2
+SIZE (openexr-website-docs/Beachball/singlepart.0005.exr) = 2587500
+SHA256 (openexr-website-docs/Beachball/singlepart.0006.exr) = 7449d65369448fabdb5c61e2146d39fb705a738bb89d7dcc35ead9dd19c1b86d
+SIZE (openexr-website-docs/Beachball/singlepart.0006.exr) = 2288939
+SHA256 (openexr-website-docs/Beachball/singlepart.0007.exr) = d11661be80cb8cbf01e29623edce99965745c4527a5e43a9edbfec632a2f09df
+SIZE (openexr-website-docs/Beachball/singlepart.0007.exr) = 2299374
+SHA256 (openexr-website-docs/Beachball/singlepart.0008.exr) = f84689cdbd92be5e9ced647a5297d3e969a63744765b13a65ef6e4f17728a095
+SIZE (openexr-website-docs/Beachball/singlepart.0008.exr) = 2535419
+SHA256 (openexr-website-docs/MultiView/README.rst) = 5b032886d3e7be669defd06179dea75837c03ab65e6171892089a44971a16ab2
+SIZE (openexr-website-docs/MultiView/README.rst) = 1049
+SHA256 (openexr-website-docs/MultiView/Adjuster.exr) = 966aa7bbdaec18262c96b0332365da723f537087285b99b1589cb573c5e05269
+SIZE (openexr-website-docs/MultiView/Adjuster.exr) = 4156415
+SHA256 (openexr-website-docs/MultiView/Balls.exr) = 8f8da72cc0f837a9cb1521520b45c218547d2cc95e06c220b5001bd338481210
+SIZE (openexr-website-docs/MultiView/Balls.exr) = 6530393
+SHA256 (openexr-website-docs/MultiView/Fog.exr) = 8fab93675582862213d043aaa281438d399ab8d19e5a49fa7a0e50d49903c419
+SIZE (openexr-website-docs/MultiView/Fog.exr) = 1447915
+SHA256 (openexr-website-docs/MultiView/Impact.exr) = 148a4fa9d7a5ebd3bded14267ffd86a1b9bcc9779078705beaf4dcd1ee1ee194
+SIZE (openexr-website-docs/MultiView/Impact.exr) = 4789564
+SHA256 (openexr-website-docs/MultiView/LosPadres.exr) = 92017d3ae43614684d075025d2f2b5c17f7c830811b6e6df2afe1c5a9e1542c0
+SIZE (openexr-website-docs/MultiView/LosPadres.exr) = 4988849
+SHA256 (openexr-website-docs/MultiResolution/README.rst) = 990c1bcb3bddfde43e920181b924cc739a4b1198c38cd240583c52cdc364a3a5
+SIZE (openexr-website-docs/MultiResolution/README.rst) = 4270
+SHA256 (openexr-website-docs/MultiResolution/Bonita.exr) = 3b9b88f82e80d8ca3d5e55bfc4117a733c0a2d7abe9de7ed372ea05caa9bca2e
+SIZE (openexr-website-docs/MultiResolution/Bonita.exr) = 2303675
+SHA256 (openexr-website-docs/MultiResolution/ColorCodedLevels.exr) = ba836f7d37ea268ef9e96d7f0e28d035f4f197be12356133676282c578ada643
+SIZE (openexr-website-docs/MultiResolution/ColorCodedLevels.exr) = 53298
+SHA256 (openexr-website-docs/MultiResolution/Kapaa.exr) = 703477c8900ab1c2278544b89ee30cdc74b088202ac6d5b5bf918b21f0e24baa
+SIZE (openexr-website-docs/MultiResolution/Kapaa.exr) = 6779689
+SHA256 (openexr-website-docs/MultiResolution/KernerEnvCube.exr) = 21379fd0ee4aa2f45f1dbda58bc74addade4ccb6389e17630cdaab0b556b053b
+SIZE (openexr-website-docs/MultiResolution/KernerEnvCube.exr) = 1800876
+SHA256 (openexr-website-docs/MultiResolution/KernerEnvLatLong.exr) = ce51d01973fbbe5388b335c83cc1dba3d0d8127207985f3d02501a05ba32af6d
+SIZE (openexr-website-docs/MultiResolution/KernerEnvLatLong.exr) = 2323286
+SHA256 (openexr-website-docs/MultiResolution/MirrorPattern.exr) = 5c28611b27b9520c61b488ce5412ae39800b2ed030a64cd9900359ca79d178e9
+SIZE (openexr-website-docs/MultiResolution/MirrorPattern.exr) = 124973
+SHA256 (openexr-website-docs/MultiResolution/OrientationCube.exr) = fc7a79146b0d9d5a15e3ce46a5f9f078bf1fbdbce61f3e35d3b75988ec3c1ae6
+SIZE (openexr-website-docs/MultiResolution/OrientationCube.exr) = 1954797
+SHA256 (openexr-website-docs/MultiResolution/OrientationLatLong.exr) = 89d355540e7fa5e849daa6e979d6dbff813c42dd6e9195e187a81fc09d869158
+SIZE (openexr-website-docs/MultiResolution/OrientationLatLong.exr) = 947180
+SHA256 (openexr-website-docs/MultiResolution/PeriodicPattern.exr) = 8f5a8d17703a4c61f0a25f436eafb11f0042e836f269cdb63c6d63804f1992f9
+SIZE (openexr-website-docs/MultiResolution/PeriodicPattern.exr) = 228020
+SHA256 (openexr-website-docs/MultiResolution/StageEnvCube.exr) = d3676351073cbeb1af0498b07d78a3cc342d71cc1e347a978d1ebe487d72bbfd
+SIZE (openexr-website-docs/MultiResolution/StageEnvCube.exr) = 2100123
+SHA256 (openexr-website-docs/MultiResolution/StageEnvLatLong.exr) = 811fef4949f752b972ccf3eaa973a5e1f6ba9f113d9a240bc16c06bf37a6fc5a
+SIZE (openexr-website-docs/MultiResolution/StageEnvLatLong.exr) = 2477552
+SHA256 (openexr-website-docs/MultiResolution/WavyLinesCube.exr) = f6cb5be7cf0b173a04287a51018d6c892ec2caca3c9826df225d74d4bc9b67fc
+SIZE (openexr-website-docs/MultiResolution/WavyLinesCube.exr) = 410587
+SHA256 (openexr-website-docs/MultiResolution/WavyLinesLatLong.exr) = 34b1ce44803f9486db8eaea5e1b5f828698797ee7a437ecf62851d9138e10279
+SIZE (openexr-website-docs/MultiResolution/WavyLinesLatLong.exr) = 464456
+SHA256 (openexr-website-docs/MultiResolution/WavyLinesSphere.exr) = ac19827f128ef1c7b4561a45d7e253f7cb080009e696832b51d903eee76566ae
+SIZE (openexr-website-docs/MultiResolution/WavyLinesSphere.exr) = 251021
+SHA256 (openexr-website-docs/v2/Stereo/README.rst) = ec6047c424327939d031a1f23b6c63040bf8d462889e7434b52ba5dd2a44cab3
+SIZE (openexr-website-docs/v2/Stereo/README.rst) = 373
+SHA256 (openexr-website-docs/v2/Stereo/Balls.exr) = 6499cd1b996ce2242b9bc2790aa265861ff29e9dbe5d9b77b5cc6854c349a949
+SIZE (openexr-website-docs/v2/Stereo/Balls.exr) = 10137114
+SHA256 (openexr-website-docs/v2/Stereo/Ground.exr) = e3386d2b076cd7160c2c3499d638074ea9a9ec1ebfdcd73bc4b8000132d8d249
+SIZE (openexr-website-docs/v2/Stereo/Ground.exr) = 32009045
+SHA256 (openexr-website-docs/v2/Stereo/Leaves.exr) = 95ccd6af2c12539104822c432867c643e85b7dc81ca6118b6abc851bec4bf893
+SIZE (openexr-website-docs/v2/Stereo/Leaves.exr) = 16503998
+SHA256 (openexr-website-docs/v2/Stereo/Trunks.exr) = 8a2f04e8d5b8ef1a5fd48198cf2059f1dd01129e4cccd7a4c96caf8c472676f7
+SIZE (openexr-website-docs/v2/Stereo/Trunks.exr) = 3858752
+SHA256 (openexr-website-docs/v2/Stereo/composited.exr) = 44de7ad96f2977984a690a5c46579517f5a907f862e0d1de309f9070ff4522d3
+SIZE (openexr-website-docs/v2/Stereo/composited.exr) = 8385223
+SHA256 (openexr-website-docs/v2/LeftView/README.rst) = 16c015973b819b0ed91e4c9f132fcf5b1f7c8563bb59b7c4c5860befe9f07a8b
+SIZE (openexr-website-docs/v2/LeftView/README.rst) = 209
+SHA256 (openexr-website-docs/v2/LeftView/Balls.exr) = 86503ff1b0a07372058127896d3858facf625e0e78374ca5c9d26ec28aa3ce91
+SIZE (openexr-website-docs/v2/LeftView/Balls.exr) = 5065464
+SHA256 (openexr-website-docs/v2/LeftView/Ground.exr) = 0dfe688a6c2b0630f4f4c9ac85031af3aea1b4c6b9e315eaf4d39d98ebd9c1e4
+SIZE (openexr-website-docs/v2/LeftView/Ground.exr) = 16041346
+SHA256 (openexr-website-docs/v2/LeftView/Leaves.exr) = 7fe6f7561b06a274168b542cdc907a0d318cea182e3b9d69045e496ac42cb7ca
+SIZE (openexr-website-docs/v2/LeftView/Leaves.exr) = 8179542
+SHA256 (openexr-website-docs/v2/LeftView/Trunks.exr) = e395bdcf1dcdab1115935e0ebeb0f3e18b4c765b143c9c047d76f588a70a81fb
+SIZE (openexr-website-docs/v2/LeftView/Trunks.exr) = 1850993
+SHA256 (openexr-website-docs/v2/LowResLeftView/README.rst) = b50126f7e5a9d1c5bd4e77667d93dfc64b984aef875a35c7144f777b9c9b06c6
+SIZE (openexr-website-docs/v2/LowResLeftView/README.rst) = 465
+SHA256 (openexr-website-docs/v2/LowResLeftView/Balls.exr) = 9a60e6a3895f0a0f685a8af3b607ddc3d7e0d926e906a5f0175d3159b23131d2
+SIZE (openexr-website-docs/v2/LowResLeftView/Balls.exr) = 1613377
+SHA256 (openexr-website-docs/v2/LowResLeftView/Ground.exr) = eef3de2ed0396735a6629a53cd775c28008c20b8d69c4bd979853bedbdad43c9
+SIZE (openexr-website-docs/v2/LowResLeftView/Ground.exr) = 4946039
+SHA256 (openexr-website-docs/v2/LowResLeftView/Leaves.exr) = 42a3a2b911c43c65574e7b9ae8b5baafd7cd0e09fb306b98d85cbcccc0f6c611
+SIZE (openexr-website-docs/v2/LowResLeftView/Leaves.exr) = 2665452
+SHA256 (openexr-website-docs/v2/LowResLeftView/Trunks.exr) = 6867502b6ce564e1d3a909f307a2672511b0890ddc40eb9b5ba48ddae20299db
+SIZE (openexr-website-docs/v2/LowResLeftView/Trunks.exr) = 587334
+SHA256 (openexr-website-docs/v2/LowResLeftView/composited.exr) = 47d75e07b69ae358cbb2cbbef084c11b3e83d401996b5a44817b8ee03747ae51
+SIZE (openexr-website-docs/v2/LowResLeftView/composited.exr) = 1401773
+SHA256 (openexr-website-docs/AcademySoftwareFoundation-openexr-3.2.0-v3.2.0_GH0.tar.gz) = b1b200606640547fceff0d3ebe01ac05c4a7ae2a131be7e9b3e5b9f491ef35b3
+SIZE (openexr-website-docs/AcademySoftwareFoundation-openexr-3.2.0-v3.2.0_GH0.tar.gz) = 18822949
diff --git a/graphics/openexr-website-docs/files/patch-CMakeLists.txt b/graphics/openexr-website-docs/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..761b720f7cbc
--- /dev/null
+++ b/graphics/openexr-website-docs/files/patch-CMakeLists.txt
@@ -0,0 +1,69 @@
+--- CMakeLists.txt.orig	2023-08-28 17:56:26 UTC
++++ CMakeLists.txt
+@@ -54,8 +54,6 @@ endif()
+ 
+ include(cmake/LibraryDefine.cmake)
+ include(cmake/OpenEXRSetup.cmake)
+-add_subdirectory(cmake)
+-message(STATUS "Configure ${OPENEXR_PACKAGE_NAME}, library API version: ${OPENEXR_LIB_VERSION}")
+ 
+ # Hint: This can be set to enable custom find_package
+ # search paths, probably best to set it when configuring
+@@ -72,10 +70,6 @@ if(BUILD_TESTING AND NOT OPENEXR_IS_SUBPROJECT)
+   enable_testing()
+ endif()
+ 
+-# Include these two modules without enable/disable options
+-add_subdirectory(src/lib)
+-add_subdirectory(src/bin)
+-
+ # Tell CMake where to find the OpenEXRConfig.cmake file. Makes it possible to call 
+ # find_package(OpenEXR) in downstream projects
+ set(OpenEXR_DIR "${CMAKE_CURRENT_BINARY_DIR}/cmake" CACHE PATH "" FORCE)
+@@ -83,11 +77,6 @@ set(OpenEXR_DIR "${CMAKE_CURRENT_BINARY_DIR}/cmake" CA
+ # Can be empty since we already defined the targets in add_subdirectory
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/cmake/OpenEXRTargets.cmake" "# Dummy file")
+ 
+-option(OPENEXR_INSTALL_EXAMPLES "Install OpenEXR examples" ON)
+-if(OPENEXR_INSTALL_EXAMPLES)
+-  add_subdirectory( src/examples )
+-endif()
+-
+ # If you want to use ctest to configure, build and
+ # upload the results, cmake has builtin support for
+ # submitting to CDash, or any server who speaks the
+@@ -110,34 +99,10 @@ endif()
+ #set(CTEST_DROP_SITE "open.cdash.org")
+ #set(CTEST_DROP_LOCATION "/submit.php?project=MyProject")
+ #set(CTEST_DROP_SITE_CDASH TRUE)
+-include(CTest)
+ 
+-if(BUILD_TESTING AND NOT OPENEXR_IS_SUBPROJECT)
+-  add_subdirectory(src/test)
+-endif()
+-
+ # Including this module will add a `clang-format` target to the build if
+ # the clang-format executable can be found. Only do this if we are top level
+-if(NOT OPENEXR_IS_SUBPROJECT)
+-  include(cmake/clang-format.cmake)
+-endif()
+-
+-option(OPENEXR_INSTALL_DOCS "Set ON to install tool manpages")
+-if (OPENEXR_INSTALL_DOCS AND NOT OPENEXR_IS_SUBPROJECT)
+-  add_subdirectory(docs)
+-endif()
+-
+ option(BUILD_WEBSITE "Set ON to build website source")
+ if (BUILD_WEBSITE AND NOT OPENEXR_IS_SUBPROJECT)
+   add_subdirectory(website)
+-endif()
+-
+-if (NOT OPENEXR_IS_SUBPROJECT)
+-  # Even if not building the website, still make sure the website example code compiles.
+-  add_subdirectory(website/src)
+-endif()
+-
+-option(OPENEXR_BUILD_PYTHON "Set ON to build python bindings")
+-if (OPENEXR_BUILD_PYTHON AND NOT OPENEXR_IS_SUBPROJECT)
+-  add_subdirectory(src/wrappers/python)
+ endif()
diff --git a/graphics/openexr-website-docs/files/patch-website_scripts_test__images.py b/graphics/openexr-website-docs/files/patch-website_scripts_test__images.py
new file mode 100644
index 000000000000..bb6ac057cf0a
--- /dev/null
+++ b/graphics/openexr-website-docs/files/patch-website_scripts_test__images.py
@@ -0,0 +1,31 @@
+--- website/scripts/test_images.py.orig	2023-08-28 17:56:26 UTC
++++ website/scripts/test_images.py
+@@ -127,8 +127,8 @@ def write_exr_page(rst_lpath, exr_url, exr_filename, e
+         
+         # Download the exr via wget
+         
+-        print(f'wget {exr_url}')
+-        result = run (['wget', exr_url, '-O', local_exr], 
++        print(f'cp {exr_lpath}')
++        result = run (['/bin/cp', '-f', f'{os.environ["FREEBSD_DIST"]}/{exr_lpath}', local_exr], 
+                       stdout=PIPE, stderr=PIPE, universal_newlines=True)
+         if result.returncode != 0 or not os.path.isfile(local_exr):
+             raise Exception(f'failed to read {exr_url}: no such file {local_exr}')
+@@ -141,7 +141,7 @@ def write_exr_page(rst_lpath, exr_url, exr_filename, e
+                           stdout=PIPE, stderr=PIPE, universal_newlines=True)
+         
+             if result.returncode != 0 or not os.path.isfile(jpg_lpath):
+-                raise Exception(f'error: failed to convert {exr_url} to {jpg_lpath}: returncode={result.returncode}, stderr={result.stderr}')
++                raise Exception(f'error: failed to convert {exr_url} ({local_exr}) to {jpg_lpath}: returncode={result.returncode}, stderr={result.stderr}')
+         
+         # Read the header
+         
+@@ -227,7 +227,7 @@ def write_readme(index_file, repo, tag, lpath):
+         # Download via wget
+         
+         readme_url = f'{repo}/{tag}/{lpath}' 
+-        result = run (['wget', readme_url, '-O', local_readme], 
++        result = run (['/bin/cp', '-f', f'{os.environ["FREEBSD_DIST"]}/{lpath}', local_readme], 
+                       stdout=PIPE, stderr=PIPE, universal_newlines=True)
+         if result.returncode != 0:
+             raise FileNotFoundError(result.stderr)
diff --git a/graphics/openexr-website-docs/pkg-descr b/graphics/openexr-website-docs/pkg-descr
new file mode 100644
index 000000000000..32c0983b22f7
--- /dev/null
+++ b/graphics/openexr-website-docs/pkg-descr
@@ -0,0 +1,4 @@
+OpenEXR is a high dynamic-range (HDR) image file format developed by
+Industrial Light & Magic for use in computer imaging applications.
+
+This package contains a copy of the website contents, as documentation.
diff --git a/graphics/openexr/Makefile b/graphics/openexr/Makefile
index 01af90380431..7ea907d0b6f0 100644
--- a/graphics/openexr/Makefile
+++ b/graphics/openexr/Makefile
@@ -1,7 +1,30 @@
 PORTNAME=	openexr
-PORTVERSION=	3.1.11
-PORTREVISION=	0
+PORTVERSION=	3.2.0
+PORTREVISION?=	0
 CATEGORIES=	graphics devel
+.if !defined(MASTERDIR)
+MASTER_SITES=	https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr-images/v1.0/:testimages \
+		LOCAL/mandree/openexr/:DEFAULT \
+		LOCAL/mandree/openexr/:testimages
+DISTFILES+=	Beachball/multipart.0001.exr:testimages
+DISTFILES+=	Beachball/singlepart.0001.exr:testimages
+DISTFILES+=	Chromaticities/Rec709_YC.exr:testimages
+DISTFILES+=	Chromaticities/Rec709.exr:testimages
+DISTFILES+=	Chromaticities/XYZ_YC.exr:testimages
+DISTFILES+=	Chromaticities/XYZ.exr:testimages
+DISTFILES+=	LuminanceChroma/Flowers.exr:testimages
+DISTFILES+=	LuminanceChroma/Garden.exr:testimages
+DISTFILES+=	MultiResolution/ColorCodedLevels.exr:testimages
+DISTFILES+=	MultiResolution/WavyLinesCube.exr:testimages
+DISTFILES+=	MultiResolution/WavyLinesLatLong.exr:testimages
+DISTFILES+=	MultiView/Adjuster.exr:testimages
+DISTFILES+=	TestImages/GammaChart.exr:testimages
+DISTFILES+=	TestImages/GrayRampsHorizontal.exr:testimages
+DISTFILES+=	v2/LeftView/Balls.exr:testimages
+DISTFILES+=	v2/Stereo/Trunks.exr:testimages
+.endif
+DIST_SUBDIR=	${PORTNAME}
+EXTRACT_ONLY=	${DISTFILES:M*${EXTRACT_SUFX}}
 
 MAINTAINER=	mandree@FreeBSD.org
 COMMENT=	High dynamic-range (HDR) image file format
@@ -9,40 +32,38 @@ WWW=		https://www.openexr.com/
 
 LICENSE=	BSD3CLAUSE
 
-# exact version required to avoid hard-to-debug issues
-LIB_DEPENDS=	libImath-3_1.so.29:math/Imath
+BUILD_DEPENDS?=	help2man:misc/help2man
+# exact libImath version required to avoid hard-to-debug issues
+LIB_DEPENDS?=	libImath-3_1.so.29:math/Imath \
+		libdeflate.so:archivers/libdeflate
 
-USES=		cmake compiler:c++14-lang cpe pathfix pkgconfig
+USES?=		cmake compiler:c++14-lang cpe pathfix pkgconfig
 
 USE_GITHUB=	yes
 GH_TUPLE=	AcademySoftwareFoundation:openexr:v${PORTVERSION}
 
 USE_LDCONFIG=	yes
-CMAKE_ARGS+=	-DCMAKE_DEBUG_POSTFIX=
+
+CMAKE_ARGS?=	-DCMAKE_DEBUG_POSTFIX=
+
 CPPFLAGS+=	-I.
 # must be linked with -l{thr|pthread} explicitly
 LDFLAGS+=	-lpthread
 
-_MAJORVER=	3_1
-_VER=		30
-_MINVER=	11
-_PLVER=		1
-
+_MAJORVER=	3_2
+_VER=		31
+_REL=		${PORTVERSION}
 PLIST_SUB+=	MAJORVER=${_MAJORVER} \
 		VER=${_VER} \
-		MINVER=${_MINVER} \
-		PLVER=${_PLVER}
+		REL=${_REL}
 
 PORTDOCS=	*
 PORTEXAMPLES=	*
 
+.if !defined(MASTERDIR)
 OPTIONS_DEFINE=	DOCS EXAMPLES
 OPTIONS_SUB=	yes
-DOCS_BUILD_DEPENDS=breathe-apidoc:devel/py-breathe \
-		${PYTHON_PKGNAMEPREFIX}sphinx_press_theme>=0:textproc/py-sphinx_press_theme
-DOCS_USES=	python:build
-DOCS_CMAKE_BOOL=BUILD_DOCS
-DOCS_CMAKE_ON=	-DPython_EXECUTABLE:STRING=${PYTHON_CMD}
+DOCS_CMAKE_BOOL=OPENEXR_INSTALL_DOCS INSTALL_DOCS
 
 _DOCSRCDIR1=	${WRKSRC}
 _DOC_FILES1=	CHANGES.md CONTRIBUTING.md GOVERNANCE.md LICENSE.md SECURITY.md \
@@ -51,6 +72,16 @@ _DOC_FILES1=	CHANGES.md CONTRIBUTING.md GOVERNANCE.md LICENSE.md SECURITY.md \
 # too many reports about compilation failures, so
 # sanity check we are using the same C++ standard library
 _imath_libcxx=	${COMPILER_FEATURES:Mlib*c++}
+
+# This would be better placed in pre-test to avoid wasting space,
+# but if we do that, the cmake in src/test/bin will go downloading the files,
+# so we do not benefit from our checksumming and the distdir caching.
+post-extract:
+	${MKDIR} ${CONFIGURE_WRKSRC}/src/test/bin
+.for i in ${DISTFILES:M*.exr}
+	${PRINTF} %s ${i} | ( cd ${DISTDIR}/${DIST_SUBDIR} && ${CPIO} -dumpl ${CONFIGURE_WRKSRC}/src/test/bin/ 2>/dev/null )
+.endfor
+
 pre-configure:
 	@${READELF} -d ${LOCALBASE}/lib/libImath.so \
 	| ${EGREP} -q '\<NEEDED\>.*\[${_imath_libcxx:C/\+/\\+/g}\.' \
@@ -59,15 +90,6 @@ pre-configure:
 		${ECHO_CMD} "*** same C++ std. library before trying to build OpenEXR.  Abort. ***" ; \
 		exit 1; }
 
-post-install-DOCS-on:
-	@${MKDIR} ${STAGEDIR}${DOCSDIR}
-	${INSTALL_DATA} ${_DOC_FILES1:S|^|${_DOCSRCDIR1}/|} ${STAGEDIR}${DOCSDIR}
-	( cd ${BUILD_WRKSRC}/docs/sphinx && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} )
-	${RM} -r ${STAGEDIR}${DOCSDIR}/.??* ${STAGEDIR}${DOCSDIR}/../OpenEXR/sphinx
-
-post-install-DOCS-off:
-	@${RMDIR} ${STAGEDIR}${PREFIX}/share/doc/${PORTNAME} 2>/dev/null || :
-
 post-install-EXAMPLES-on:
 	${MV} \
 		${STAGEDIR}${PREFIX}/share/doc/OpenEXR/examples/ ${STAGEDIR}${EXAMPLESDIR}
@@ -80,4 +102,5 @@ post-install-EXAMPLES-off:
 do-test:
 	cd ${BUILD_WRKSRC} && ctest -j ${MAKE_JOBS_NUMBER}
 
+.endif
 .include <bsd.port.mk>
diff --git a/graphics/openexr/distinfo b/graphics/openexr/distinfo
index 99036e2f4375..d6df096407a8 100644
--- a/graphics/openexr/distinfo
+++ b/graphics/openexr/distinfo
@@ -1,3 +1,35 @@
-TIMESTAMP = 1692028953
-SHA256 (AcademySoftwareFoundation-openexr-3.1.11-v3.1.11_GH0.tar.gz) = 06b4a20d0791b5ec0f804c855d320a0615ce8445124f293616a086e093f1f1e1
-SIZE (AcademySoftwareFoundation-openexr-3.1.11-v3.1.11_GH0.tar.gz) = 20539852
+TIMESTAMP = 1693588963
+SHA256 (openexr/Beachball/multipart.0001.exr) = 0cd032069fbaa14a2766861fef9893ea66a6494ff64650725d3b26a500df774b
+SIZE (openexr/Beachball/multipart.0001.exr) = 2894260
+SHA256 (openexr/Beachball/singlepart.0001.exr) = 29719942ed3c095a8f8f111fc139fc4c28f446007f5bfce00177cae585b1a87a
+SIZE (openexr/Beachball/singlepart.0001.exr) = 2347698
+SHA256 (openexr/Chromaticities/Rec709_YC.exr) = dd7355a2c2a694bae041500af4f61ae96bdc02a6e9474fa53d4e4ccef83c8774
+SIZE (openexr/Chromaticities/Rec709_YC.exr) = 378570
+SHA256 (openexr/Chromaticities/Rec709.exr) = 15028cbf7bf0efa43738890af715ec550d26ae9e32a1020d0f4e7c785d3a370e
+SIZE (openexr/Chromaticities/Rec709.exr) = 908168
+SHA256 (openexr/Chromaticities/XYZ_YC.exr) = 7d0b9b7e6f19a698ff733539de15760a07f6771a1a4f5c1e545ac03d7a4ce293
+SIZE (openexr/Chromaticities/XYZ_YC.exr) = 364055
+SHA256 (openexr/Chromaticities/XYZ.exr) = 8d97c476726ae67a086220463c91b7202279a4c7c1ea94810ce75a4c28e7825f
+SIZE (openexr/Chromaticities/XYZ.exr) = 930048
+SHA256 (openexr/LuminanceChroma/Flowers.exr) = d1016a9177e723122f982fe79077dd71d42bf2b4da565d35f4c728f8a5688236
+SIZE (openexr/LuminanceChroma/Flowers.exr) = 758083
+SHA256 (openexr/LuminanceChroma/Garden.exr) = c19060f8252ec7cce66979c04c883766d70343ca1916ccc538d02eea982cfc66
+SIZE (openexr/LuminanceChroma/Garden.exr) = 399046
+SHA256 (openexr/MultiResolution/ColorCodedLevels.exr) = ba836f7d37ea268ef9e96d7f0e28d035f4f197be12356133676282c578ada643
+SIZE (openexr/MultiResolution/ColorCodedLevels.exr) = 53298
+SHA256 (openexr/MultiResolution/WavyLinesCube.exr) = f6cb5be7cf0b173a04287a51018d6c892ec2caca3c9826df225d74d4bc9b67fc
+SIZE (openexr/MultiResolution/WavyLinesCube.exr) = 410587
+SHA256 (openexr/MultiResolution/WavyLinesLatLong.exr) = 34b1ce44803f9486db8eaea5e1b5f828698797ee7a437ecf62851d9138e10279
+SIZE (openexr/MultiResolution/WavyLinesLatLong.exr) = 464456
+SHA256 (openexr/MultiView/Adjuster.exr) = 966aa7bbdaec18262c96b0332365da723f537087285b99b1589cb573c5e05269
+SIZE (openexr/MultiView/Adjuster.exr) = 4156415
+SHA256 (openexr/TestImages/GammaChart.exr) = bb2819850542afae5e2208ba39724c23fe1a07b80b96f4fd093b3c9a3ca8ac2f
+SIZE (openexr/TestImages/GammaChart.exr) = 23272
+SHA256 (openexr/TestImages/GrayRampsHorizontal.exr) = 7858e712af500e737ebaedbf40730646529e6093371ddb939becc58700b8fc6a
+SIZE (openexr/TestImages/GrayRampsHorizontal.exr) = 18296
+SHA256 (openexr/v2/LeftView/Balls.exr) = 86503ff1b0a07372058127896d3858facf625e0e78374ca5c9d26ec28aa3ce91
+SIZE (openexr/v2/LeftView/Balls.exr) = 5065464
+SHA256 (openexr/v2/Stereo/Trunks.exr) = 8a2f04e8d5b8ef1a5fd48198cf2059f1dd01129e4cccd7a4c96caf8c472676f7
+SIZE (openexr/v2/Stereo/Trunks.exr) = 3858752
+SHA256 (openexr/AcademySoftwareFoundation-openexr-3.2.0-v3.2.0_GH0.tar.gz) = b1b200606640547fceff0d3ebe01ac05c4a7ae2a131be7e9b3e5b9f491ef35b3
+SIZE (openexr/AcademySoftwareFoundation-openexr-3.2.0-v3.2.0_GH0.tar.gz) = 18822949
diff --git a/graphics/openexr/pkg-plist b/graphics/openexr/pkg-plist
index 7e4bf83dca5c..43b0c3048a53 100644
--- a/graphics/openexr/pkg-plist
+++ b/graphics/openexr/pkg-plist
@@ -40,6 +40,7 @@ include/OpenEXR/ImfChromaticitiesAttribute.h
 include/OpenEXR/ImfCompositeDeepScanLine.h
 include/OpenEXR/ImfCompression.h
 include/OpenEXR/ImfCompressionAttribute.h
+include/OpenEXR/ImfCompressor.h
 include/OpenEXR/ImfConvert.h
 include/OpenEXR/ImfDeepCompositing.h
 include/OpenEXR/ImfDeepFrameBuffer.h
@@ -93,6 +94,7 @@ include/OpenEXR/ImfLineOrder.h
 include/OpenEXR/ImfLineOrderAttribute.h
 include/OpenEXR/ImfLut.h
 include/OpenEXR/ImfMatrixAttribute.h
+include/OpenEXR/ImfMisc.h
 include/OpenEXR/ImfMultiPartInputFile.h
 include/OpenEXR/ImfMultiPartOutputFile.h
 include/OpenEXR/ImfMultiView.h
@@ -138,7 +140,8 @@ include/OpenEXR/openexr_attr.h
 include/OpenEXR/openexr_base.h
 include/OpenEXR/openexr_chunkio.h
 include/OpenEXR/openexr_coding.h
-include/OpenEXR/openexr_conf.h
+include/OpenEXR/openexr_compression.h
+include/OpenEXR/openexr_config.h
 include/OpenEXR/openexr_context.h
 include/OpenEXR/openexr_debug.h
 include/OpenEXR/openexr_decode.h
@@ -146,28 +149,39 @@ include/OpenEXR/openexr_encode.h
 include/OpenEXR/openexr_errors.h
 include/OpenEXR/openexr_part.h
 include/OpenEXR/openexr_std_attr.h
+include/OpenEXR/openexr_version.h
 lib/cmake/OpenEXR/OpenEXRConfig.cmake
 lib/cmake/OpenEXR/OpenEXRConfigVersion.cmake
 lib/cmake/OpenEXR/OpenEXRTargets-%%CMAKE_BUILD_TYPE%%.cmake
 lib/cmake/OpenEXR/OpenEXRTargets.cmake
 lib/libIex-%%MAJORVER%%.so
 lib/libIex-%%MAJORVER%%.so.%%VER%%
-lib/libIex-%%MAJORVER%%.so.%%VER%%.%%MINVER%%.%%PLVER%%
+lib/libIex-%%MAJORVER%%.so.%%VER%%.%%REL%%
 lib/libIex.so
 lib/libIlmThread-%%MAJORVER%%.so
 lib/libIlmThread-%%MAJORVER%%.so.%%VER%%
-lib/libIlmThread-%%MAJORVER%%.so.%%VER%%.%%MINVER%%.%%PLVER%%
+lib/libIlmThread-%%MAJORVER%%.so.%%VER%%.%%REL%%
 lib/libIlmThread.so
 lib/libOpenEXR-%%MAJORVER%%.so
 lib/libOpenEXR-%%MAJORVER%%.so.%%VER%%
-lib/libOpenEXR-%%MAJORVER%%.so.%%VER%%.%%MINVER%%.%%PLVER%%
+lib/libOpenEXR-%%MAJORVER%%.so.%%VER%%.%%REL%%
 lib/libOpenEXR.so
 lib/libOpenEXRCore-%%MAJORVER%%.so
 lib/libOpenEXRCore-%%MAJORVER%%.so.%%VER%%
-lib/libOpenEXRCore-%%MAJORVER%%.so.%%VER%%.%%MINVER%%.%%PLVER%%
+lib/libOpenEXRCore-%%MAJORVER%%.so.%%VER%%.%%REL%%
 lib/libOpenEXRCore.so
 lib/libOpenEXRUtil-%%MAJORVER%%.so
 lib/libOpenEXRUtil-%%MAJORVER%%.so.%%VER%%
-lib/libOpenEXRUtil-%%MAJORVER%%.so.%%VER%%.%%MINVER%%.%%PLVER%%
+lib/libOpenEXRUtil-%%MAJORVER%%.so.%%VER%%.%%REL%%
 lib/libOpenEXRUtil.so
 libdata/pkgconfig/OpenEXR.pc
+%%DOCS%%share/man/man1/exr2aces.1.gz
+%%DOCS%%share/man/man1/exrcheck.1.gz
+%%DOCS%%share/man/man1/exrenvmap.1.gz
+%%DOCS%%share/man/man1/exrheader.1.gz
+%%DOCS%%share/man/man1/exrinfo.1.gz
+%%DOCS%%share/man/man1/exrmakepreview.1.gz
+%%DOCS%%share/man/man1/exrmaketiled.1.gz
+%%DOCS%%share/man/man1/exrmultipart.1.gz
+%%DOCS%%share/man/man1/exrmultiview.1.gz
+%%DOCS%%share/man/man1/exrstdattr.1.gz