New package: OpenTimelineIO-0.17.0
This commit is contained in:
parent
32770fbd0c
commit
49cfec483c
6 changed files with 306 additions and 0 deletions
|
@ -3313,6 +3313,8 @@ libarcan_shmif_server.so.0.16 arcan-0.6.3.3_1
|
|||
libarcan_tui.so.0.16 arcan-0.6.3.3_1
|
||||
libarcan_a12.so.0.1 arcan-0.6.1.1_1
|
||||
liblwipv6.so.2 lwipv6-1.5a_1
|
||||
libopentime.so.17 OpenTimelineIO-0.17.0_1
|
||||
libopentimelineio.so.17 OpenTimelineIO-0.17.0_1
|
||||
libpipewire-0.3.so.0 libpipewire-0.3.6_1
|
||||
libvolk.so.3.1 volk-3.1.0_1
|
||||
libgnuradio-runtime.so.3.10.11 gnuradio-3.10.11.0_1
|
||||
|
|
1
srcpkgs/OpenTimelineIO-devel
Symbolic link
1
srcpkgs/OpenTimelineIO-devel
Symbolic link
|
@ -0,0 +1 @@
|
|||
OpenTimelineIO
|
118
srcpkgs/OpenTimelineIO/patches/0001-Use-System-rapidjson.patch
Normal file
118
srcpkgs/OpenTimelineIO/patches/0001-Use-System-rapidjson.patch
Normal file
|
@ -0,0 +1,118 @@
|
|||
From 2bd90edfb4730780b71fcacae9e492ff15a16268 Mon Sep 17 00:00:00 2001
|
||||
From: Christophe Marin <christophe@krop.fr>
|
||||
Date: Fri, 7 Mar 2025 10:42:48 +0100
|
||||
Subject: [PATCH 1/2] Use system rapidjson
|
||||
|
||||
---
|
||||
CMakeLists.txt | 56 +++----------------------------
|
||||
src/opentimelineio/CMakeLists.txt | 5 ++-
|
||||
2 files changed, 7 insertions(+), 54 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 825ad9d..0a4d0ce 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -28,7 +28,7 @@ project(OpenTimelineIO VERSION ${OTIO_VERSION} LANGUAGES C CXX)
|
||||
# Installation options
|
||||
option(OTIO_CXX_INSTALL "Install the C++ bindings" ON)
|
||||
option(OTIO_PYTHON_INSTALL "Install the Python bindings" OFF)
|
||||
-option(OTIO_DEPENDENCIES_INSTALL "Install OTIO's C++ header dependencies (any and nonstd)" ON)
|
||||
+option(OTIO_DEPENDENCIES_INSTALL "Install OTIO's C++ header dependencies (any and nonstd)" OFF)
|
||||
option(OTIO_INSTALL_PYTHON_MODULES "Install OTIO pure Python modules/files" ON)
|
||||
option(OTIO_INSTALL_COMMANDLINE_TOOLS "Install the OTIO command line tools" ON)
|
||||
option(OTIO_INSTALL_CONTRIB "Install the opentimelineio_contrib Python package" ON)
|
||||
@@ -149,63 +149,16 @@ endif()
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
-if(OTIO_CXX_COVERAGE AND NOT MSVC)
|
||||
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage")
|
||||
- # this causes cmake to produce file.gcno instead of file.cpp.gcno
|
||||
- set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1)
|
||||
- message(STATUS "Building C++ with Coverage: ON")
|
||||
-else()
|
||||
- message(STATUS "Building C++ with Coverage: OFF")
|
||||
-endif()
|
||||
|
||||
-if(WIN32)
|
||||
- # Windows debug builds for Python require a d in order for the module to
|
||||
- # load. This also helps ensure that debug builds in general are matched
|
||||
- # to the Microsoft debug CRT.
|
||||
- set(OTIO_DEBUG_POSTFIX "d")
|
||||
-endif()
|
||||
+
|
||||
+
|
||||
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Fetch or refresh submodules if requested
|
||||
#
|
||||
-if (OTIO_AUTOMATIC_SUBMODULES)
|
||||
- # make sure that git submodules are up to date when building
|
||||
- find_package(Git QUIET)
|
||||
- if (GIT_FOUND)
|
||||
- message(STATUS "Checking git repo is available:")
|
||||
- execute_process(
|
||||
- # the following command returns true if cwd is in the repo
|
||||
- COMMAND ${GIT_EXECUTABLE} rev-parse --is-inside-work-tree
|
||||
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
- RESULT_VARIABLE IN_A_GIT_REPO_RETCODE
|
||||
- )
|
||||
- endif()
|
||||
|
||||
- if (GIT_FOUND AND IN_A_GIT_REPO_RETCODE EQUAL 0)
|
||||
- # you might want to turn this off if you're working in one of the submodules
|
||||
- # or trying it out with a different version of the submodule
|
||||
- option(GIT_UPDATE_SUBMODULES "Update submodules each build" ON)
|
||||
- if (GIT_UPDATE_SUBMODULES)
|
||||
- message(
|
||||
- STATUS "root: Updating git submodules to make sure they are up to date"
|
||||
- )
|
||||
- execute_process(
|
||||
- COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive
|
||||
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
- RESULT_VARIABLE GIT_UPDATE_SUBMODULES_RESULT
|
||||
- )
|
||||
- if (NOT GIT_UPDATE_SUBMODULES_RESULT EQUAL "0")
|
||||
- message(
|
||||
- FATAL_ERROR
|
||||
- "git submodule update --init --recursive failed with \
|
||||
- ${GIT_UPDATE_SUBMODULES_RESULT}"
|
||||
- )
|
||||
- endif()
|
||||
- endif()
|
||||
- endif()
|
||||
-endif()
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Setup tests
|
||||
@@ -245,7 +198,8 @@ else()
|
||||
endif()
|
||||
|
||||
# set up the internally hosted dependencies
|
||||
-add_subdirectory(src/deps)
|
||||
+# add_subdirectory(src/deps)
|
||||
+find_package(RapidJSON CONFIG REQUIRED)
|
||||
|
||||
set (OTIO_IMATH_TARGETS
|
||||
# For OpenEXR/Imath 3.x:
|
||||
diff --git a/src/opentimelineio/CMakeLists.txt b/src/opentimelineio/CMakeLists.txt
|
||||
index 4b08e6d..e98828b 100644
|
||||
--- a/src/opentimelineio/CMakeLists.txt
|
||||
+++ b/src/opentimelineio/CMakeLists.txt
|
||||
@@ -80,9 +80,8 @@ add_library(OTIO::opentimelineio ALIAS opentimelineio)
|
||||
target_include_directories(opentimelineio
|
||||
PRIVATE "${IMATH_INCLUDES}"
|
||||
"${PROJECT_SOURCE_DIR}/src"
|
||||
- "${PROJECT_SOURCE_DIR}/src/deps"
|
||||
- "${PROJECT_SOURCE_DIR}/src/deps/rapidjson/include"
|
||||
- "${IMATH_INCLUDES}")
|
||||
+ "${IMATH_INCLUDES}"
|
||||
+ ${RapidJSON_INCLUDE_DIRS})
|
||||
|
||||
target_link_libraries(opentimelineio
|
||||
PUBLIC opentime ${OTIO_IMATH_TARGETS})
|
||||
--
|
||||
2.48.1
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
From 43de3e5065c860865ede0c0bbb879578c7b325a2 Mon Sep 17 00:00:00 2001
|
||||
From: Darby Johnston <darbyjohnston@yahoo.com>
|
||||
Date: Wed, 2 Apr 2025 17:15:48 -0700
|
||||
Subject: [PATCH] Add SOVERSION for the C++ libraries (#1860)
|
||||
|
||||
* Add SOVERSION for the C++ libraries
|
||||
|
||||
Co-authored-by: Nick Porcino <meshula@hotmail.com>
|
||||
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
|
||||
---
|
||||
CMakeLists.txt | 25 +++++++++++++++++++++++++
|
||||
src/opentime/CMakeLists.txt | 6 ++++++
|
||||
src/opentimelineio/CMakeLists.txt | 6 ++++++
|
||||
3 files changed, 37 insertions(+)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index fa4defd3f..00e18a5fc 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -119,6 +119,31 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
+# Set the SO version. The SO version must be incremented every time a change
|
||||
+# occurs to the ABI that causes a backward incompatibility. Such changes
|
||||
+# include, exhaustively:
|
||||
+#
|
||||
+# * a change to struct or class layout
|
||||
+# * enum changes that would cause a renumbering of previously published enums
|
||||
+# * a removal of a struct, class, enumeration, or function
|
||||
+# * a change in parameters to a free standing function
|
||||
+# * a removal of a global variable
|
||||
+#
|
||||
+# OTIO currently designates the minor version number for breaking changes,
|
||||
+# e.g. v0.15, v0.16.0, v0.17.0, accordingly the SO version will be incremented
|
||||
+# to match. SO version must be monotically increasing, so the ABI version
|
||||
+# should be computed as: major * 100 + revision. The third digit will never
|
||||
+# implicate an ABI version change. So for example, the following OTIO versions
|
||||
+# would map to these ABI versions:
|
||||
+#
|
||||
+# * v0.18.0 - 18
|
||||
+# * v0.19.0 - 19
|
||||
+# * v0.19.1 - 19 # No ABI changes with minor version changes
|
||||
+# * v1.0.0 - 100
|
||||
+# * v1.1.0 - 101
|
||||
+#
|
||||
+math(EXPR OTIO_SOVERSION "${OTIO_VERSION_MAJOR} * 100 + ${OTIO_VERSION_MINOR}")
|
||||
+
|
||||
set(OTIO_RESOLVED_CXX_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}")
|
||||
|
||||
if(OTIO_CXX_INSTALL)
|
||||
diff --git a/src/opentime/CMakeLists.txt b/src/opentime/CMakeLists.txt
|
||||
index b7cc47cf4..a973d03fa 100644
|
||||
--- a/src/opentime/CMakeLists.txt
|
||||
+++ b/src/opentime/CMakeLists.txt
|
||||
@@ -24,6 +24,12 @@ set_target_properties(opentime PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE TRUE
|
||||
WINDOWS_EXPORT_ALL_SYMBOLS true)
|
||||
|
||||
+if(BUILD_SHARED_LIBS)
|
||||
+ set_target_properties(opentime PROPERTIES
|
||||
+ SOVERSION ${OTIO_SOVERSION}
|
||||
+ VERSION ${OTIO_VERSION})
|
||||
+endif()
|
||||
+
|
||||
if(APPLE)
|
||||
set_target_properties(opentime PROPERTIES
|
||||
INSTALL_NAME_DIR "@loader_path"
|
||||
diff --git a/src/opentimelineio/CMakeLists.txt b/src/opentimelineio/CMakeLists.txt
|
||||
index 728b485cb..732793f2a 100644
|
||||
--- a/src/opentimelineio/CMakeLists.txt
|
||||
+++ b/src/opentimelineio/CMakeLists.txt
|
||||
@@ -98,6 +98,12 @@ set_target_properties(opentimelineio PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE TRUE
|
||||
WINDOWS_EXPORT_ALL_SYMBOLS true)
|
||||
|
||||
+if(BUILD_SHARED_LIBS)
|
||||
+ set_target_properties(opentimelineio PROPERTIES
|
||||
+ SOVERSION ${OTIO_SOVERSION}
|
||||
+ VERSION ${OTIO_VERSION})
|
||||
+endif()
|
||||
+
|
||||
if(APPLE)
|
||||
set_target_properties(opentimelineio PROPERTIES
|
||||
INSTALL_NAME_DIR "@loader_path"
|
77
srcpkgs/OpenTimelineIO/patches/0099-cmake.patch
Normal file
77
srcpkgs/OpenTimelineIO/patches/0099-cmake.patch
Normal file
|
@ -0,0 +1,77 @@
|
|||
--- a/src/opentimelineio/CMakeLists.txt 2024-06-25 01:08:54.000000000 +0200
|
||||
+++ - 2025-04-19 23:24:03.444723937 +0200
|
||||
@@ -124,7 +124,7 @@
|
||||
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 @@
|
||||
${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 @@
|
||||
FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/OpenTimelineIOConfig.cmake
|
||||
DESTINATION
|
||||
- ${OTIO_RESOLVED_CXX_INSTALL_DIR}/share/opentimelineio
|
||||
+ ${CMAKE_INSTALL_LIBDIR}/cmake/OpenTimelineIO
|
||||
)
|
||||
endif()
|
||||
--- a/src/opentime/CMakeLists.txt 2024-06-25 01:08:54.000000000 +0200
|
||||
+++ - 2025-04-19 23:24:45.851845467 +0200
|
||||
@@ -49,7 +49,7 @@
|
||||
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 @@
|
||||
${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 @@
|
||||
FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/OpenTimeConfig.cmake
|
||||
DESTINATION
|
||||
- ${OTIO_RESOLVED_CXX_INSTALL_DIR}/share/opentime
|
||||
+ ${CMAKE_INSTALL_LIBDIR}/cmake/OpenTime
|
||||
)
|
||||
endif()
|
||||
|
||||
--- a/CMakeLists.txt 2024-06-25 01:08:54.000000000 +0200
|
||||
+++ - 2025-04-21 12:15:44.839270019 +0200
|
||||
@@ -20,6 +20,8 @@
|
||||
|
||||
project(OpenTimelineIO VERSION ${OTIO_VERSION} LANGUAGES C CXX)
|
||||
|
||||
+include(GNUInstallDirs)
|
||||
+
|
||||
#------------------------------------------------------------------------------
|
||||
# Options
|
||||
# Add all options and settings here for all subprojects to aid in project
|
||||
@@ -100,7 +102,7 @@
|
||||
endif()
|
||||
|
||||
else()
|
||||
- set(OTIO_RESOLVED_CXX_DYLIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib")
|
||||
+ set(OTIO_RESOLVED_CXX_DYLIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}")
|
||||
message(STATUS "OTIO C++ installing to ${CMAKE_INSTALL_PREFIX}")
|
||||
endif()
|
||||
|
23
srcpkgs/OpenTimelineIO/template
Normal file
23
srcpkgs/OpenTimelineIO/template
Normal file
|
@ -0,0 +1,23 @@
|
|||
# Template file for 'OpenTimelineIO'
|
||||
pkgname=OpenTimelineIO
|
||||
version=0.17.0
|
||||
revision=1
|
||||
build_style=cmake
|
||||
configure_args="-DOTIO_FIND_IMATH=ON -DBUILD_SHARED_LIBS=ON"
|
||||
makedepends="imath-devel rapidjson"
|
||||
short_desc="Interchange format for editorial timeline information"
|
||||
maintainer="John <me@johnnynator.dev>"
|
||||
license="Apache-2.0"
|
||||
homepage="https://github.com/AcademySoftwareFoundation/OpenTimelineIO"
|
||||
distfiles="https://github.com/AcademySoftwareFoundation/OpenTimelineIO/archive/refs/tags/v${version}.tar.gz"
|
||||
checksum=cdf8281c6091a18a4147295b660e13b610a6d58919a79608bf03e5359c1c2d24
|
||||
|
||||
OpenTimelineIO-devel_package() {
|
||||
depends="${sourcepkg}>=${version}_${revision}"
|
||||
short_desc+=" - development files"
|
||||
pkg_install() {
|
||||
vmove usr/include
|
||||
vmove usr/lib/cmake
|
||||
vmove "usr/lib/*.so"
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue