From 99e8f161fa469d8fee0b81ed2ac12f05b0348ba9 Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Sun, 20 Apr 2025 11:28:56 +0200 Subject: [PATCH] opentimelineio, new recipe for version 0.17.0 (#12215) This is a new dependency for KDenlive --- .../opentimelineio-0.17.0.recipe | 87 +++++++++++++++++ .../patches/opentimelineio-0.17.0.patchset | 97 +++++++++++++++++++ 2 files changed, 184 insertions(+) create mode 100644 media-libs/opentimelineio/opentimelineio-0.17.0.recipe create mode 100644 media-libs/opentimelineio/patches/opentimelineio-0.17.0.patchset diff --git a/media-libs/opentimelineio/opentimelineio-0.17.0.recipe b/media-libs/opentimelineio/opentimelineio-0.17.0.recipe new file mode 100644 index 000000000..14d38b4d8 --- /dev/null +++ b/media-libs/opentimelineio/opentimelineio-0.17.0.recipe @@ -0,0 +1,87 @@ +SUMMARY="Open Source API and interchange format for editorial timeline information" +DESCRIPTION="OpenTimelineIO is an interchange format and API for editorial cut information. OTIO \ +contains information about the order and length of cuts and references to external media. It is \ +not however, a container format for media. + +For integration with applications, the core OTIO library is implemented in C++ and provides an \ +in-memory data model, as well as library functions for interpreting, manipulating, and \ +serializing that data model. Within the core is a dependency-less library for dealing strictly \ +with time, *opentime*. + +The project also supports an official python binding, which is intended to be an idiomatic and \ +ergonomic binding for python developers. The python binding includes a plugin system which \ +supports a number of different types of plugins, most notably adapters, which can be used to \ +read and write legacy formats into the OTIO data model." +HOMEPAGE="https://github.com/AcademySoftwareFoundation/OpenTimelineIO" +COPYRIGHT="2016-2024 Contributors to the OpenTimelineIO project." +LICENSE="Apache v2" +REVISION="1" +SOURCE_URI="https://github.com/AcademySoftwareFoundation/OpenTimelineIO/archive/refs/tags/v$portVersion.tar.gz" +CHECKSUM_SHA256="cdf8281c6091a18a4147295b660e13b610a6d58919a79608bf03e5359c1c2d24" +SOURCE_FILENAME="OpenTimelineIO-v$portVersion.tar.gz" +SOURCE_DIR="OpenTimelineIO-$portVersion" +PATCHES="opentimelineio-$portVersion.patchset" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + opentimelineio$secondaryArchSuffix = $portVersion + lib:libopentime$secondaryArchSuffix = $portVersion + lib:libopentimelineio$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libImath_3_1$secondaryArchSuffix + " + +PROVIDES_devel=" + opentimelineio${secondaryArchSuffix}_devel = $portVersion + devel:libopentime$secondaryArchSuffix = $portVersion + devel:libopentimelineio$secondaryArchSuffix = $portVersion + " +REQUIRES_devel=" + opentimelineio$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libImath_3_1$secondaryArchSuffix + devel:librapidjson$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:gcc$secondaryArchSuffix + cmd:make + cmd:pkg_config$secondaryArchSuffix + " + +BUILD() +{ + cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \ + $cmakeDirArgs \ + -DOTIO_FIND_IMATH=ON \ + -DOTIO_FIND_RAPIDJSON=ON \ + -DOTIO_DEPENDENCIES_INSTALL=OFF \ + -Wno-dev + + make -C build $jobArgs +} + +INSTALL() +{ + make -C build install + + prepareInstalledDevelLibs \ + libopentime \ + libopentimelineio + + packageEntries devel \ + $developDir \ + $libDir/cmake +} + +TEST() +{ + make check +} diff --git a/media-libs/opentimelineio/patches/opentimelineio-0.17.0.patchset b/media-libs/opentimelineio/patches/opentimelineio-0.17.0.patchset new file mode 100644 index 000000000..95addebfc --- /dev/null +++ b/media-libs/opentimelineio/patches/opentimelineio-0.17.0.patchset @@ -0,0 +1,97 @@ +From 2cff834f77f6ceacf0055ebd2372a8ea52817681 Mon Sep 17 00:00:00 2001 +From: Luc Schrijvers +Date: Sun, 20 Apr 2025 09:40:21 +0200 +Subject: Use common install paths + + +diff --git a/src/opentime/CMakeLists.txt b/src/opentime/CMakeLists.txt +index b7cc47c..04a88a1 100644 +--- a/src/opentime/CMakeLists.txt ++++ b/src/opentime/CMakeLists.txt +@@ -39,17 +39,17 @@ target_compile_options(opentime PRIVATE + + if(OTIO_CXX_INSTALL) + install(FILES ${OPENTIME_HEADER_FILES} +- DESTINATION "${OTIO_RESOLVED_CXX_INSTALL_DIR}/include/opentime") ++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/opentime") + + install(TARGETS opentime + EXPORT OpenTimeTargets +- INCLUDES DESTINATION "${OTIO_RESOLVED_CXX_INSTALL_DIR}/include" ++ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ARCHIVE DESTINATION "${OTIO_RESOLVED_CXX_DYLIB_INSTALL_DIR}" + LIBRARY DESTINATION "${OTIO_RESOLVED_CXX_DYLIB_INSTALL_DIR}" + RUNTIME DESTINATION "${OTIO_RESOLVED_CXX_DYLIB_INSTALL_DIR}") + + install(EXPORT OpenTimeTargets +- DESTINATION "${OTIO_RESOLVED_CXX_INSTALL_DIR}/share/opentime" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/opentime" + NAMESPACE OTIO:: ) + + include(CMakePackageConfigHelpers) +@@ -57,7 +57,7 @@ if(OTIO_CXX_INSTALL) + ${CMAKE_CURRENT_SOURCE_DIR}/OpenTimeConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/OpenTimeConfig.cmake + INSTALL_DESTINATION +- ${OTIO_RESOLVED_CXX_INSTALL_DIR}/share/opentime ++ ${CMAKE_INSTALL_LIBDIR}/cmake/opentime + NO_SET_AND_CHECK_MACRO + NO_CHECK_REQUIRED_COMPONENTS_MACRO + ) +@@ -66,7 +66,7 @@ if(OTIO_CXX_INSTALL) + FILES + ${CMAKE_CURRENT_BINARY_DIR}/OpenTimeConfig.cmake + DESTINATION +- ${OTIO_RESOLVED_CXX_INSTALL_DIR}/share/opentime ++ ${CMAKE_INSTALL_LIBDIR}/cmake/opentime + ) + endif() + +diff --git a/src/opentimelineio/CMakeLists.txt b/src/opentimelineio/CMakeLists.txt +index 4b08e6d..1cd5068 100644 +--- a/src/opentimelineio/CMakeLists.txt ++++ b/src/opentimelineio/CMakeLists.txt +@@ -109,11 +109,11 @@ target_compile_options(opentimelineio PRIVATE + + if(OTIO_CXX_INSTALL) + install(FILES ${OPENTIMELINEIO_HEADER_FILES} +- DESTINATION "${OTIO_RESOLVED_CXX_INSTALL_DIR}/include/opentimelineio") ++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/opentimelineio") + +- set(OPENTIMELINEIO_INCLUDES ${OTIO_RESOLVED_CXX_INSTALL_DIR}/include) ++ set(OPENTIMELINEIO_INCLUDES ${CMAKE_INSTALL_INCLUDEDIR}) + if(OTIO_DEPENDENCIES_INSTALL) +- list(APPEND OPENTIMELINEIO_INCLUDES ${OTIO_RESOLVED_CXX_INSTALL_DIR}/include/opentimelineio/deps) ++ list(APPEND OPENTIMELINEIO_INCLUDES ${CMAKE_INSTALL_INCLUDEDIR}/opentimelineio/deps) + endif() + + install(TARGETS opentimelineio +@@ -124,7 +124,7 @@ if(OTIO_CXX_INSTALL) + RUNTIME DESTINATION "${OTIO_RESOLVED_CXX_DYLIB_INSTALL_DIR}") + + install(EXPORT OpenTimelineIOTargets +- DESTINATION "${OTIO_RESOLVED_CXX_INSTALL_DIR}/share/opentimelineio" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/opentimelineio" + NAMESPACE OTIO:: ) + + include(CMakePackageConfigHelpers) +@@ -132,7 +132,7 @@ if(OTIO_CXX_INSTALL) + ${CMAKE_CURRENT_SOURCE_DIR}/OpenTimelineIOConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/OpenTimelineIOConfig.cmake + INSTALL_DESTINATION +- ${OTIO_RESOLVED_CXX_INSTALL_DIR}/share/opentimelineio ++ ${CMAKE_INSTALL_LIBDIR}/cmake/opentimelineio + NO_SET_AND_CHECK_MACRO + NO_CHECK_REQUIRED_COMPONENTS_MACRO + ) +@@ -141,6 +141,6 @@ if(OTIO_CXX_INSTALL) + FILES + ${CMAKE_CURRENT_BINARY_DIR}/OpenTimelineIOConfig.cmake + DESTINATION +- ${OTIO_RESOLVED_CXX_INSTALL_DIR}/share/opentimelineio ++ ${CMAKE_INSTALL_LIBDIR}/cmake/opentimelineio + ) + endif() +-- +2.48.1 +