diff --git a/multimedia/graphics/darktable/files/darktable-openexr3.patch b/multimedia/graphics/darktable/files/darktable-openexr3.patch
new file mode 100644
index 0000000000..8d31ec00e4
--- /dev/null
+++ b/multimedia/graphics/darktable/files/darktable-openexr3.patch
@@ -0,0 +1,18 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 6cbeab77d..21cf6b44a 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -329,7 +329,12 @@ if(USE_CAMERA_SUPPORT)
+ endif(USE_CAMERA_SUPPORT)
+
+ if(USE_OPENEXR)
+- find_package(OpenEXR)
++ find_package(OpenEXR 3.0 CONFIG)
++ if(TARGET OpenEXR::OpenEXR)
++ set(OpenEXR_LIBRARIES OpenEXR::OpenEXR)
++ else()
++ find_package(OpenEXR)
++ endif()
+ if(OpenEXR_FOUND)
+ include_directories(SYSTEM ${OpenEXR_INCLUDE_DIRS})
+ list(APPEND LIBS ${OpenEXR_LIBRARIES})
diff --git a/multimedia/graphics/darktable/pspec.xml b/multimedia/graphics/darktable/pspec.xml
index a695e1b9cf..0888502ef1 100644
--- a/multimedia/graphics/darktable/pspec.xml
+++ b/multimedia/graphics/darktable/pspec.xml
@@ -60,6 +60,9 @@
libjpeg-turbo-devel
GraphicsMagick-devel
+
+ darktable-openexr3.patch
+