aboutsummaryrefslogtreecommitdiff
path: root/multimedia/ctl
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2022-02-23 11:11:23 -0500
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2022-02-25 22:57:59 +0700
commit3e3fb884ff1425a68261cef3b390b3dc858861b9 (patch)
tree041868e2bb20250d5b9492529942ff6d9e9b45bd /multimedia/ctl
parentefdf30be0d410f6fdc429239315786f4f20449c4 (diff)
multimedia/ctl: Fix 15.0 build.
Signed-off-by: B. Watson <yalhcru@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'multimedia/ctl')
-rw-r--r--multimedia/ctl/README8
-rw-r--r--multimedia/ctl/ctl-1.5.2-Use-GNUInstallDirs-and-fix-PkgConfig-files-1.patch399
-rw-r--r--multimedia/ctl/ctl.SlackBuild42
-rw-r--r--multimedia/ctl/ilmbase-2.3.0-compatibility.patch11
4 files changed, 432 insertions, 28 deletions
diff --git a/multimedia/ctl/README b/multimedia/ctl/README
index ed1def51854b..ad67ec3ff426 100644
--- a/multimedia/ctl/README
+++ b/multimedia/ctl/README
@@ -6,10 +6,10 @@ different representations or color spaces. The Color Transformation
Language, or CTL, is a small programming language that was designed to
serve as a building block for digital color management systems.
-CTL allows users to describe color transforms in a concise and unambiguous
-way by expressing them as programs. In order to apply a given
-transform to an image, the color management system instructs a CTL
-interpreter to load and run the CTL program that describes the
+CTL allows users to describe color transforms in a concise and
+unambiguous way by expressing them as programs. In order to apply a
+given transform to an image, the color management system instructs
+a CTL interpreter to load and run the CTL program that describes the
transform. The original and the transformed image constitute the CTL
program's input and output.
diff --git a/multimedia/ctl/ctl-1.5.2-Use-GNUInstallDirs-and-fix-PkgConfig-files-1.patch b/multimedia/ctl/ctl-1.5.2-Use-GNUInstallDirs-and-fix-PkgConfig-files-1.patch
new file mode 100644
index 000000000000..e4fadf1aa05c
--- /dev/null
+++ b/multimedia/ctl/ctl-1.5.2-Use-GNUInstallDirs-and-fix-PkgConfig-files-1.patch
@@ -0,0 +1,399 @@
+From db1cccd9cee830f8822521f2c401ea74ad161360 Mon Sep 17 00:00:00 2001
+From: Jonathan Scruggs <j.scruggs@gmail.com>
+Date: Mon, 25 Sep 2017 17:41:26 +0100
+Subject: [PATCH] CTL: Use GNUInstallDirs and fix PkgConfig files
+
+* GNUInstallDirs are variables set by each distro and OS, so we
+ don't need to define them manually. They can also be set manually
+ during the configure phase. The code to define custom directories can
+ be removed and replaced with the equivalent GNUInstallDirs variable.
+* Pkg-Config is used to find IlmBase and OpenEXR, but isn't fully
+ utilized everywhere. This makes Pkg-Config a hard dependency so that
+ the libraries and directories can be found easily. This will use the
+ correct libraries no matter how they are named, so this is compatible
+ with both pre-2.0 and post 2.0 naming schemes.
+* The Pkg-Config files had several errors that are now fixed.
+
+Upstream PR: https://github.com/ampas/CTL/pull/67
+---
+ CMakeLists.txt | 36 ++++++++---------------------
+ OpenEXR_CTL/CMakeLists.txt | 2 +-
+ OpenEXR_CTL/CtlModules/CMakeLists.txt | 2 +-
+ OpenEXR_CTL/exr_ctl_exr/CMakeLists.txt | 4 ++--
+ OpenEXR_CTL/exrdpx/CMakeLists.txt | 4 ++--
+ config/CTL.pc.in | 8 +++----
+ config/OpenEXR_CTL.pc.in | 15 ++++++-------
+ configure.cmake | 41 ++++++++++++++++------------------
+ ctlrender/CMakeLists.txt | 20 ++++++++---------
+ doc/CMakeLists.txt | 2 +-
+ lib/IlmCtl/CMakeLists.txt | 4 ++--
+ lib/IlmCtlMath/CMakeLists.txt | 4 ++--
+ lib/IlmCtlSimd/CMakeLists.txt | 6 ++---
+ lib/IlmImfCtl/CMakeLists.txt | 6 ++---
+ lib/dpx/CMakeLists.txt | 1 +
+ 15 files changed, 66 insertions(+), 89 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 01f622c..35e9a48 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,22 +1,14 @@
+ cmake_minimum_required(VERSION 2.8)
+ project( CTL )
+
++INCLUDE ( GNUInstallDirs )
++
+ set( CTL_MAJOR_VERSION 1 )
+ set( CTL_MINOR_VERSION 5 )
+-set( CTL_PATCH_VERSION 0 )
++set( CTL_PATCH_VERSION 2 )
+ set( CTL_VERSION ${CTL_MAJOR_VERSION}.${CTL_MINOR_VERSION}.${CTL_PATCH_VERSION} )
+
+-## Make install directories overrideable
+-set( INSTALL_LIB_DIR lib CACHE PATH "Install directory for libraries" )
+-set( INSTALL_BIN_DIR bin CACHE PATH "Install directory for executable binaries" )
+-set( INSTALL_INCLUDE_DIR include CACHE PATH "Install directory for public header files" )
+-set( INSTALL_DOC_DIR doc CACHE PATH "Install directory for documentation" )
+-if( WIN32 AND NOT CYGWIN )
+- set(DEF_INSTALL_CMAKE_DIR CMake)
+-else()
+- set(DEF_INSTALL_CMAKE_DIR lib/CMake/CTL)
+-endif()
+-set(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Install directory for project CMake files" )
++set(INSTALL_CMAKE_DIR ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/CTL CACHE PATH "Install directory for project CMake files" )
+
+ # use, i.e. don't skip the full RPATH for the build tree
+ SET(CMAKE_SKIP_BUILD_RPATH FALSE)
+@@ -28,20 +20,11 @@ SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+ # which point to directories outside the build tree to the install RPATH
+ SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+ # the RPATH to be used when installing, but only if it's not a system directory
+-LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
++LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_FULL_LIBDIR}" isSystemDir)
+ IF("${isSystemDir}" STREQUAL "-1")
+- SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
++ SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
+ ENDIF("${isSystemDir}" STREQUAL "-1")
+
+-
+-## convert install paths to absolute
+-foreach( p LIB BIN INCLUDE CMAKE DOC)
+- set( var INSTALL_${p}_DIR )
+- if( NOT IS_ABSOLUTE "${${var}}" )
+- set( ${var} "${CMAKE_INSTALL_PREFIX}/${${var}}" )
+- endif()
+-endforeach()
+-
+ option(ENABLE_SHARED "Enable Shared Libraries" ON)
+
+ if ( ENABLE_SHARED )
+@@ -70,20 +53,19 @@ export( TARGETS IlmCtl IlmCtlMath IlmCtlSimd FILE "${PROJECT_BINARY_DIR}/CTLLibr
+ export(PACKAGE CTL)
+
+ # Create a CTLBuildTreeSettings.cmake file for the use from the build tree
+-file(RELATIVE_PATH CONF_REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR}" "${INSTALL_INCLUDE_DIR}")
++file(RELATIVE_PATH CONF_REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR}" "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
+ configure_file(config/CTLBuildTreeSettings.cmake.in "${PROJECT_BINARY_DIR}/CTLBuildTreeSettings.cmake" @ONLY)
+ configure_file(config/CTLConfig.cmake.in "${PROJECT_BINARY_DIR}/CTLConfig.cmake" @ONLY)
+ configure_file(config/CTLConfigVersion.cmake.in "${PROJECT_BINARY_DIR}/CTLConfigVersion.cmake" @ONLY)
+
+ if ( PKG_CONFIG_FOUND )
+ configure_file(config/CTL.pc.in "${PROJECT_BINARY_DIR}/CTL.pc" @ONLY)
+-install( FILES "${PROJECT_BINARY_DIR}/CTL.pc" DESTINATION lib/pkgconfig COMPONENT dev )
++install( FILES "${PROJECT_BINARY_DIR}/CTL.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT dev )
+ endif()
+
+ install( FILES
+ "${PROJECT_BINARY_DIR}/CTLConfig.cmake"
+ "${PROJECT_BINARY_DIR}/CTLConfigVersion.cmake"
++ "${PROJECT_BINARY_DIR}/CTLLibraryDepends.cmake"
+ DESTINATION "${INSTALL_CMAKE_DIR}" COMPONENT dev)
+-install(FILES "${PROJECT_BINARY_DIR}/CTLLibraryDepends.cmake" DESTINATION
+- "${INSTALL_CMAKE_DIR}" COMPONENT dev)
+
+diff --git a/OpenEXR_CTL/CMakeLists.txt b/OpenEXR_CTL/CMakeLists.txt
+index c1ca53e..3f19dd4 100644
+--- a/OpenEXR_CTL/CMakeLists.txt
++++ b/OpenEXR_CTL/CMakeLists.txt
+@@ -13,7 +13,7 @@ add_custom_target( OpenEXR_CTL DEPENDS CtlModules exrdpx exr_ctl_exr )
+
+ if ( PKG_CONFIG_FOUND )
+ configure_file(../config/OpenEXR_CTL.pc.in "${PROJECT_BINARY_DIR}/OpenEXR_CTL.pc" @ONLY)
+-install( FILES "${PROJECT_BINARY_DIR}/OpenEXR_CTL.pc" DESTINATION lib/pkgconfig COMPONENT dev )
++install( FILES "${PROJECT_BINARY_DIR}/OpenEXR_CTL.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT dev )
+ endif()
+
+ # TODO CMake config
+diff --git a/OpenEXR_CTL/CtlModules/CMakeLists.txt b/OpenEXR_CTL/CtlModules/CMakeLists.txt
+index c63c22e..9c9e5b8 100644
+--- a/OpenEXR_CTL/CtlModules/CMakeLists.txt
++++ b/OpenEXR_CTL/CtlModules/CMakeLists.txt
+@@ -2,6 +2,6 @@ install(
+ FILES
+ utilities.ctl
+ DESTINATION
+- ${INSTALL_LIB_DIR}/CTL
++ ${CMAKE_INSTALL_LIBDIR}/CTL
+ )
+
+diff --git a/OpenEXR_CTL/exr_ctl_exr/CMakeLists.txt b/OpenEXR_CTL/exr_ctl_exr/CMakeLists.txt
+index e396ec5..1f0eea0 100644
+--- a/OpenEXR_CTL/exr_ctl_exr/CMakeLists.txt
++++ b/OpenEXR_CTL/exr_ctl_exr/CMakeLists.txt
+@@ -20,6 +20,6 @@ target_link_libraries( exr_ctl_exr IlmCtlSimd IlmCtlMath IlmCtl IlmImfCtl )
+ target_link_libraries( exr_ctl_exr ${IlmBase_LIBRARIES} ${IlmBase_LDFLAGS_OTHER} )
+ target_link_libraries( exr_ctl_exr ${OpenEXR_LIBRARIES} ${OpenEXR_LDFLAGS_OTHER} )
+
+-install( TARGETS exr_ctl_exr DESTINATION ${INSTALL_BIN_DIR} )
++install( TARGETS exr_ctl_exr DESTINATION ${CMAKE_INSTALL_BINDIR} )
+
+-install( FILES change_saturation.ctl DESTINATION ${INSTALL_LIB_DIR}/CTL )
++install( FILES change_saturation.ctl DESTINATION ${CMAKE_INSTALL_LIBDIR}/CTL )
+diff --git a/OpenEXR_CTL/exrdpx/CMakeLists.txt b/OpenEXR_CTL/exrdpx/CMakeLists.txt
+index 50bd116..d9eadd8 100644
+--- a/OpenEXR_CTL/exrdpx/CMakeLists.txt
++++ b/OpenEXR_CTL/exrdpx/CMakeLists.txt
+@@ -20,8 +20,8 @@ target_link_libraries( exrdpx IlmCtlSimd IlmCtlMath IlmCtl IlmImfCtl )
+ target_link_libraries( exrdpx ${IlmBase_LIBRARIES} ${IlmBase_LDFLAGS_OTHER} )
+ target_link_libraries( exrdpx ${OpenEXR_LIBRARIES} ${OpenEXR_LDFLAGS_OTHER} )
+
+-install( TARGETS exrdpx DESTINATION ${INSTALL_BIN_DIR} )
++install( TARGETS exrdpx DESTINATION ${CMAKE_INSTALL_BINDIR} )
+
+-install( FILES transform_DPX_EXR.ctl transform_EXR_DPX.ctl DESTINATION ${INSTALL_LIB_DIR}/CTL )
++install( FILES transform_DPX_EXR.ctl transform_EXR_DPX.ctl DESTINATION ${CMAKE_INSTALL_LIBDIR}/CTL )
+
+
+diff --git a/config/CTL.pc.in b/config/CTL.pc.in
+index 6d6e732..9b212a4 100644
+--- a/config/CTL.pc.in
++++ b/config/CTL.pc.in
+@@ -1,8 +1,6 @@
+-prefix=@CMAKE_INSTALL_PREFIX@
+-exec_prefix=@INSTALL_BIN_DIR@
+-libdir=@INSTALL_LIB_DIR@
+-includedir=@INSTALL_INCLUDE_DIR@
+-CTL_includedir=@INSTALL_INCLUDE_DIR@/CTL
++libdir=@CMAKE_INSTALL_FULL_LIBDIR@
++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
++CTL_includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/CTL
+
+ Name: CTL
+ Description: CTL interpreter library
+diff --git a/config/OpenEXR_CTL.pc.in b/config/OpenEXR_CTL.pc.in
+index 4cef5c6..39a1a3f 100644
+--- a/config/OpenEXR_CTL.pc.in
++++ b/config/OpenEXR_CTL.pc.in
+@@ -1,11 +1,10 @@
+-prefix=@prefix@
+-exec_prefix=@exec_prefix@
+-libdir=@libdir@
+-includedir=@includedir@
+-OpenEXR_includedir=@includedir@/OpenEXR
++libdir=@CMAKE_INSTALL_FULL_LIBDIR@
++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
++OpenEXR_includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/OpenEXR
+
+ Name: OpenEXR_CTL
+ Description: Simplified OpenEXR interface to CTL
+-Version: @OPENEXR_CTL_VERSION@
+-Libs: -L${libdir} -lIlmImfCtl @OPENEXR_LDFLAGS@ @CTL_LDFLAGS@
+-Cflags: @CTL_CXXFLAGS_PC@ @OPENEXR_CXXFLAGS@ -I${OpenEXR_includedir}
++Version: @CTL_VERSION@
++Libs: -L${libdir} -lIlmImfCtl
++Cflags: -I${OpenEXR_includedir}
++Requires: CTL,OpenEXR
+diff --git a/configure.cmake b/configure.cmake
+index 1817071..eb7e14e 100644
+--- a/configure.cmake
++++ b/configure.cmake
+@@ -1,10 +1,7 @@
+-# Until we get some of these modules into the upstream packages, put them here
+-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/")
+-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_INSTALL_PREFIX}/share/CMake")
++# Make Pkg-Config required.
++find_package( PkgConfig )
+
+-find_package( PkgConfig QUIET )
+-
+-find_package( IlmBase QUIET )
++PKG_CHECK_MODULES ( IlmBase REQUIRED IlmBase )
+ if(IlmBase_FOUND)
+ message( STATUS "found IlmBase, version ${IlmBase_VERSION}" )
+ ###
+@@ -13,11 +10,11 @@ if(IlmBase_FOUND)
+ ###
+ include_directories( ${IlmBase_INCLUDE_DIRS} )
+ link_directories( ${IlmBase_LIBRARY_DIRS} )
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${IlmBase_CFLAGS}" )
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${IlmBase_CFLAGS}" )
+- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${IlmBase_LDFLAGS}" )
+- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${IlmBase_LDFLAGS}" )
+- set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${IlmBase_LDFLAGS}" )
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${IlmBase_CFLAGS_OTHER}" )
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${IlmBase_CFLAGS_OTHER}" )
++ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${IlmBase_LDFLAGS_OTHER}" )
++ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${IlmBase_LDFLAGS_OTHER}" )
++ set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${IlmBase_LDFLAGS_OTHER}" )
+ else()
+ message( SEND_ERROR "IlmBase not found, please set the include and library paths manually" )
+ endif()
+@@ -39,20 +36,20 @@ else()
+ endif()
+ endif()
+
+-find_package( OpenEXR QUIET )
++PKG_CHECK_MODULES ( OpenEXR REQUIRED OpenEXR )
+ if (OpenEXR_FOUND)
+ message( STATUS "Found OpenEXR, version ${OpenEXR_VERSION}" )
+ else()
+ message( WARNING "Unable to find OpenEXR libraries, disabling" )
+ endif()
+
+-find_package( AcesContainer )
+-if (AcesContainer_FOUND)
+- message( STATUS "Found AcesContainer, version ${AcesContainer_VERSION}" )
+-else()
+- if ( PKG_CONFIG_FOUND )
+- pkg_check_modules( AcesContainer AcesContainer )
+- else()
+- message( WARNING "Unable to find AcesContainer libraries, disabling" )
+- endif()
+-endif()
++find_package( AcesContainer )
++ if (AcesContainer_FOUND)
++ message( STATUS "Found AcesContainer, version ${AcesContainer_VERSION}" )
++ else()
++ if ( PKG_CONFIG_FOUND )
++ pkg_check_modules( AcesContainer AcesContainer )
++ else()
++ message( WARNING "Unable to find AcesContainer libraries, disabling" )
++ endif()
++ endif()
+diff --git a/ctlrender/CMakeLists.txt b/ctlrender/CMakeLists.txt
+index 9fced14..d97093d 100644
+--- a/ctlrender/CMakeLists.txt
++++ b/ctlrender/CMakeLists.txt
+@@ -11,12 +11,12 @@ include_directories( ${OpenEXR_INCLUDE_DIRS} )
+ link_directories( ${OpenEXR_LIBRARY_DIRS} )
+ endif()
+
+-if ( AcesContainer_FOUND )
+-add_definitions( -DHAVE_ACESFILE=1 )
+-include_directories( ${AcesContainer_INCLUDE_DIRS} )
+-link_directories( ${AcesContainer_LIBRARY_DIRS} )
+-endif()
+-
++if ( AcesContainer_FOUND )
++add_definitions( -DHAVE_ACESFILE=1 )
++include_directories( ${AcesContainer_INCLUDE_DIRS} )
++link_directories( ${AcesContainer_LIBRARY_DIRS} )
++endif()
++
+ include_directories( "${CMAKE_CURRENT_SOURCE_DIR}" "${PROJECT_SOURCE_DIR}/lib/IlmCtl" "${PROJECT_SOURCE_DIR}/lib/IlmCtlMath" "${PROJECT_SOURCE_DIR}/lib/IlmCtlSimd" "${PROJECT_SOURCE_DIR}/lib/dpx" )
+
+ add_executable( ctlrender
+@@ -41,9 +41,9 @@ if (OpenEXR_FOUND)
+ target_link_libraries( ctlrender ${OpenEXR_LIBRARIES} )
+ target_link_libraries( ctlrender ${OpenEXR_LDFLAGS_OTHER} )
+ endif()
+-if (AcesContainer_FOUND)
+-target_link_libraries( ctlrender ${AcesContainer_LIBRARIES} )
+-target_link_libraries( ctlrender ${AcesContainer_LDFLAGS_OTHER} )
++if (AcesContainer_FOUND)
++target_link_libraries( ctlrender ${AcesContainer_LIBRARIES} )
++target_link_libraries( ctlrender ${AcesContainer_LDFLAGS_OTHER} )
+ endif()
+
+-install( TARGETS ctlrender DESTINATION bin )
++install( TARGETS ctlrender DESTINATION ${CMAKE_INSTALL_BINDIR} )
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index 0b123d0..9776205 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -1 +1 @@
+-install( FILES CtlManual.pdf CtlManual.doc DESTINATION doc/CTL )
++install( FILES CtlManual.pdf CtlManual.doc DESTINATION ${CMAKE_INSTALL_DOCDIR} )
+diff --git a/lib/IlmCtl/CMakeLists.txt b/lib/IlmCtl/CMakeLists.txt
+index 3672a43..ef301bd 100644
+--- a/lib/IlmCtl/CMakeLists.txt
++++ b/lib/IlmCtl/CMakeLists.txt
+@@ -22,7 +22,7 @@ add_library( IlmCtl ${DO_SHARED}
+ )
+
+ target_link_libraries( IlmCtl ${IlmBase_LDFLAGS_OTHER} )
+-target_link_libraries( IlmCtl Iex IlmThread Half )
++target_link_libraries( IlmCtl ${IlmBase_LIBRARIES} )
+
+ set_target_properties( IlmCtl PROPERTIES
+ VERSION ${CTL_VERSION}
+@@ -50,4 +50,4 @@ install( FILES
+ CtlVersion.h
+ DESTINATION include/CTL )
+
+-install( TARGETS IlmCtl DESTINATION lib )
++install( TARGETS IlmCtl DESTINATION ${CMAKE_INSTALL_LIBDIR} )
+diff --git a/lib/IlmCtlMath/CMakeLists.txt b/lib/IlmCtlMath/CMakeLists.txt
+index 96738cf..6997c74 100644
+--- a/lib/IlmCtlMath/CMakeLists.txt
++++ b/lib/IlmCtlMath/CMakeLists.txt
+@@ -18,8 +18,8 @@ install( FILES
+ CtlLookupTable.h
+ CtlRbfInterpolator.h
+ CtlSparseMatrix.h
+- DESTINATION include/CTL )
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/CTL )
+
+-install( TARGETS IlmCtlMath DESTINATION lib )
++install( TARGETS IlmCtlMath DESTINATION ${CMAKE_INSTALL_LIBDIR} )
+
+ # TODO Add Imath and Iex libadd dependency and version info
+diff --git a/lib/IlmCtlSimd/CMakeLists.txt b/lib/IlmCtlSimd/CMakeLists.txt
+index 2ba792a..5eaf87d 100644
+--- a/lib/IlmCtlSimd/CMakeLists.txt
++++ b/lib/IlmCtlSimd/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ include_directories( "${CMAKE_CURRENT_SOURCE_DIR}" "${PROJECT_SOURCE_DIR}/lib/IlmCtl" "${PROJECT_SOURCE_DIR}/lib/IlmCtlMath" )
+
+ add_executable( halfExpLogTable halfExpLogTable.cpp )
+-target_link_libraries( halfExpLogTable Half )
++target_link_libraries( halfExpLogTable ${IlmBase_LIBRARIES} )
+
+ add_custom_command( OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/halfExpLogTable.h"
+ COMMAND halfExpLogTable "${CMAKE_CURRENT_BINARY_DIR}/halfExpLogTable.h" "${CMAKE_CURRENT_BINARY_DIR}/halfExpLog.h"
+@@ -40,6 +40,6 @@ set_target_properties( IlmCtlSimd PROPERTIES
+ SOVERSION ${CTL_VERSION}
+ )
+
+-install( FILES CtlSimdInterpreter.h DESTINATION include/CTL )
++install( FILES CtlSimdInterpreter.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/CTL )
+
+-install( TARGETS IlmCtlSimd DESTINATION lib )
++install( TARGETS IlmCtlSimd DESTINATION ${CMAKE_INSTALL_LIBDIR} )
+diff --git a/lib/IlmImfCtl/CMakeLists.txt b/lib/IlmImfCtl/CMakeLists.txt
+index 47563df..784e27f 100644
+--- a/lib/IlmImfCtl/CMakeLists.txt
++++ b/lib/IlmImfCtl/CMakeLists.txt
+@@ -7,10 +7,10 @@ add_library( IlmImfCtl ${DO_SHARED}
+ ImfCtlCopyFunctionArg.cpp
+ )
+
+-target_link_libraries( IlmImfCtl IlmCtl IlmImf Iex IlmThread Half )
++target_link_libraries( IlmImfCtl IlmCtl ${OpenEXR_LIBRARIES} ${IlmBase_LIBRARIES} )
+
+-install( FILES ImfCtlApplyTransforms.h DESTINATION include/OpenEXR )
++install( FILES ImfCtlApplyTransforms.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/OpenEXR )
+
+ export( TARGETS IlmImfCtl IlmCtl FILE "${PROJECT_BINARY_DIR}/CTLLibraryDepends.cmake" )
+
+-install( TARGETS IlmImfCtl DESTINATION lib )
++install( TARGETS IlmImfCtl DESTINATION ${CMAKE_INSTALL_LIBDIR} )
+diff --git a/lib/dpx/CMakeLists.txt b/lib/dpx/CMakeLists.txt
+index c8be26e..918890e 100644
+--- a/lib/dpx/CMakeLists.txt
++++ b/lib/dpx/CMakeLists.txt
+@@ -11,3 +11,4 @@ add_library( ctldpx
+ dpx_rw.cc
+ )
+
++target_link_libraries( ctldpx ${IlmBase_LIBRARIES} )
diff --git a/multimedia/ctl/ctl.SlackBuild b/multimedia/ctl/ctl.SlackBuild
index 8db6239b9750..b29fa6ede51a 100644
--- a/multimedia/ctl/ctl.SlackBuild
+++ b/multimedia/ctl/ctl.SlackBuild
@@ -4,13 +4,16 @@
# Copyright 2016 Klaatu, Wellington NZ
# All rights reserved.
-#
+
+# 20220222 bkw: Modified by SlackBuilds.org, BUILD=2:
+# - fix build on 15.0.
+# - move .doc and .pdf documentation to our doc dir.
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=ctl
VERSION=${VERSION:-1.5.2}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -22,9 +25,6 @@ if [ -z "$ARCH" ]; then
esac
fi
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
@@ -59,9 +59,16 @@ cd CTL-$PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
+ -o -perm 511 \) -exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+ || true
+
+# 20220223 bkw: patches comes from AUR and/or gentoo.
+patch -p1 < $CWD/ctl-1.5.2-Use-GNUInstallDirs-and-fix-PkgConfig-files-1.patch
+patch -p1 < $CWD/ilmbase-2.3.0-compatibility.patch
+
+# 20220223 bkw: C++, the ever-moving target...
+sed -i -e 's,std::istream::streampos,std::streampos,g' lib/dpx/dpx.hh
PKG_CONFIG_PATH="$PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig:$PKG_CONFIG_PATH" \
CFLAGS="$SLKCFLAGS" \
@@ -71,32 +78,19 @@ cd build
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_EXE_LINKER_FLAGS="-lAcesContainer" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DINSTALL_CMAKE_DIR=/usr/lib${LIBDIRSUFFIX} \
-DINSTALL_LIB_DIR=/usr/lib${LIBDIRSUFFIX} \
-DCMAKE_BUILD_TYPE=Release ..
make
- make install DESTDIR=$PKG
-
- #brute force to conform to LIBDIRSUFFIX post facto
- #installer as written hardcode some files to usr/lib
- if [ -n "$LIBDIRSUFFIX" ]; then
- mv $PKG/usr/lib/* $PKG/usr/lib${LIBDIRSUFFIX}
- rmdir $PKG/usr/lib || false
- fi
-
+ make install/strip DESTDIR=$PKG
cd ..
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
-find $PKG -name perllocal.pod \
- -o -name ".packlist" \
- -o -name "*.bs" \
- | xargs rm -f
-
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a AUTHORS LICENSE CHANGELOG README.md $PKG/usr/doc/$PRGNAM-$VERSION
+mv $PKG/usr/share/doc/CTL/* $PKG/usr/doc/$PRGNAM-$VERSION
+rm -rf $PKG/usr/share
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/multimedia/ctl/ilmbase-2.3.0-compatibility.patch b/multimedia/ctl/ilmbase-2.3.0-compatibility.patch
new file mode 100644
index 000000000000..48555c17a6ff
--- /dev/null
+++ b/multimedia/ctl/ilmbase-2.3.0-compatibility.patch
@@ -0,0 +1,11 @@
+--- a/lib/IlmCtlSimd/CtlSimdInst.cpp.orig 2014-06-03 01:11:24 UTC
++++ b/lib/IlmCtlSimd/CtlSimdInst.cpp
+@@ -189,7 +189,7 @@ SimdInst::executePath (SimdBoolMask &mas
+ REPLACE_EXC
+ (e, "\n" <<
+ xcontext.fileName() << ":" <<
+- inst->lineNumber() << ": " << e);
++ inst->lineNumber() << ": " << e.what());
+
+ throw e;
+ }