summaryrefslogtreecommitdiff
path: root/media-libs/openimageio/files/openimageio-1.7.17-use-gnuinstalldirs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/openimageio/files/openimageio-1.7.17-use-gnuinstalldirs.patch')
-rw-r--r--media-libs/openimageio/files/openimageio-1.7.17-use-gnuinstalldirs.patch247
1 files changed, 247 insertions, 0 deletions
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
+