From b8b5e68d6132f8477f492eddcd6c841c489a5174 Mon Sep 17 00:00:00 2001 From: Alfred Wingate Date: Fri, 5 Apr 2024 01:42:46 +0300 Subject: [PATCH] media-libs/opentimelineio: add 0.16.0 * Add python support. Signed-off-by: Alfred Wingate --- media-libs/opentimelineio/Manifest | 2 + .../opentimelineio-0.16.0.ebuild | 139 ++++++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 media-libs/opentimelineio/opentimelineio-0.16.0.ebuild diff --git a/media-libs/opentimelineio/Manifest b/media-libs/opentimelineio/Manifest index e0835ed..de77e3c 100644 --- a/media-libs/opentimelineio/Manifest +++ b/media-libs/opentimelineio/Manifest @@ -1,5 +1,7 @@ DIST any-bfc77f2e4be6e9a093dd645ef3f1aa30620c9205.tar.gz 9130 BLAKE2B 7d9066defc0a28811158b447c9b9accf1c3f33c178cca509145b9d958f42b190c3fc8fb246941bef7362b651b1c22c22a9962622f65ad5687dafed49440f0c3a SHA512 89bcfeb77e3708d2c81472d9bfbcb789ebc03a1e34642d95a8baa88d7f06e84ea598541e4d340f03cc001cd5008fc62d65b56d901b85af89d1db2a47e5e0fa4b DIST opentimelineio-0.15.tar.gz 4781447 BLAKE2B 8f7a60a9c45412ed2d17c1d91bf29fd3e887620683e7f9db109f2b583a31195d6ae28e1ff8a58b6f0e80089b2819d3ec1f651c24726567b94e14f6007b7db024 SHA512 4389029f277dc75cc9b59e14758f8350860f8cc828c60081621bc9d4a656cff63fa85d2cc98651c6e2c1d9ef049fad614196b9d6adc9951f90d101b54f67b448 +DIST opentimelineio-0.16.0.tar.gz 4750923 BLAKE2B 9e1ee40f6df602bf029dc83c1dc29ae833fcca30ba9e40272dd5781d78bfc1aa0797e02219b33447cf8bb8512ee10f7b5493640de99651bd363605ba48fb162e SHA512 c9bfe4c2bbed034beaf04e94977adecc622f6c22f0674cecd959d0aa4df48f78c78fd2e1c0fc59a0b35db5915188640e4a2c0201338ebdd7e57ee1b5467a8a61 DIST opentimelineio-0.17.0_pre1.tar.gz 2318468 BLAKE2B a4d6e7950727b64898f898b3de31db0e194a6678ff65e23a9d3e51c11f69871f4ed16ca091ba08fc485a78e178d04a45a487827d30986c9ee491ff33e31e2a21 SHA512 ccd31bc9288572493b641ce86be4ad2157dbd7fc36673886c11eba6d3a781811d7218fbb1c93d74b9af9e5dc6a83d4dee9a91874e7738673280a5c5c19cd04dc DIST optional-lite-be720ebfd7add22abe60e49602735de9231105d0.tar.gz 52452 BLAKE2B 49efbafe40fdb2cf7642b0170e087495f862219ca812239776a7f4aa3453f433572ea0c6e21762cfc488a30ade92736a5d6a78159ba333cc8f08e0df17b148dd SHA512 59669746c92552510980c81bb49c133f4e5da51c86489ccba3ea83ff48c4ce0b6ed3efd32beb3a8d2501eceb70b6420d33afcf858c2d9a0c2fbe5c8027f2ba39 +DIST pybind11-8a099e44b3d5f85b20f05828d919d2332a8de841.tar.gz 757015 BLAKE2B 9acfde88eed39f90f3fd03c08ea7940684f91a6ee8ce7f359778bc643a79d9d5c79bb3d6170053b47d3694d5a966021aa695b0d286f157d7d45f425e6da4858c SHA512 082783b070e4728a8b048a82e59e3ac02e16a9f1dcf9efd79b7c9e105f622aea5a164251d87deb7e1ad7563670bf5c4ca51bafc0188dfb206e537123b39277f5 DIST rapidjson-.tar.gz 1107982 BLAKE2B f846bf482dd8102dede32e15b46fa8cc306291b1a4e8435ec8c5754663c28cceac1d7cdba9534e9a6a94866f4130b41b89eed13e0c1a3fcea202ea33b636f54f SHA512 f0a7df46234e5b3244a801ddf1daefd26aac7ae5b2c470b8c3898f65c65591f6c9cabac0421800588826da9d3bcccba1f98e1c0c8c15184b3843cf6f3ffbdcad diff --git a/media-libs/opentimelineio/opentimelineio-0.16.0.ebuild b/media-libs/opentimelineio/opentimelineio-0.16.0.ebuild new file mode 100644 index 0000000..63b359f --- /dev/null +++ b/media-libs/opentimelineio/opentimelineio-0.16.0.ebuild @@ -0,0 +1,139 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..12} ) +inherit cmake python-r1 + +DESCRIPTION="Open Source API and interchange format for editorial timeline information." +HOMEPAGE="https://opentimeline.io" +if [[ "${PV}" == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/AcademySoftwareFoundation/OpenTimelineIO.git" + EGIT_SUBMODULES="src/deps/{any,optional-lite,rapidjson}" +else + MY_PN="OpenTimelineIO" + + PYBIND11_COMMIT="8a099e44b3d5f85b20f05828d919d2332a8de841" + RAPIDJSON_COMMIT="06d58b9e848c650114556a23294d0b6440078c61" + + SRC_URI=" + https://github.com/AcademySoftwareFoundation/${MY_PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz + https://github.com/Tencent/rapidjson/archive/${RAPIDJSON_COMMIT}.tar.gz + -> rapidjson-${RAPDIJSON_COMMIT}.tar.gz + python? ( + https://github.com/pybind/pybind11/archive/${PYBIND11_COMMIT}.tar.gz + -> pybind11-${PYBIND11_COMMIT}.tar.gz + ) + " + S="${WORKDIR}/${MY_PN}-${PV}" + + KEYWORDS="~amd64" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="python" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +DEPEND=" + || ( + dev-libs/imath + media-libs/ilmbase + ) +" +RDEPEND=" + ${DEPEND} + python? ( ${PYTHON_DEPS} ) +" +BDEPEND=" + python? ( + python_targets_python3_11? ( dev-python/unittest-or-fail[python_targets_python3_11] ) + ) +" + +src_prepare() { + if [[ "${PV}" != "9999" ]]; then + mv -T "${WORKDIR}/rapidjson-${RAPIDJSON_COMMIT}" "${S}/src/deps/rapidjson" || die + if use python; then + mv -T "${WORKDIR}/pybind11-${PYBIND11_COMMIT}" "${S}/src/deps/pybind11" || die + fi + fi + + default + + sed -i -e "/OTIO_RESOLVED_CXX_DYLIB_INSTALL_DIR/ s|\${CMAKE_INSTALL_PREFIX}/lib|$(get_libdir)|" \ + CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DOTIO_CXX_INSTALL=ON + -DOTIO_PYTHON_INSTALL=OFF + -DOTIO_DEPENDENCIES_INSTALL=ON + -DOTIO_INSTALL_PYTHON_MODULES=OFF + -DOTIO_INSTALL_COMMANDLINE_TOOLS=ON + -DOTIO_PYTHON_INSTALL_DIR=OFF + -DOTIO_INSTALL_CONTRIB=OFF + -DOTIO_SHARED_LIBS=ON + -DOTIO_CXX_COVERAGE=OFF + -DOTIO_CXX_EXAMPLES=OFF + -DOTIO_AUTOMATIC_SUBMODULES=OFF + -DOTIO_FIND_IMATH=ON + -DUSE_DEPS_IMATH=OFF + ) + cmake_src_configure + + myconfigure() { + local mycmakeargs=( + -DOTIO_CXX_INSTALL=OFF + -DOTIO_PYTHON_INSTALL=ON + -DOTIO_DEPENDENCIES_INSTALL=OFF + -DOTIO_INSTALL_PYTHON_MODULES=ON + -DOTIO_INSTALL_COMMANDLINE_TOOLS=OFF + -DOTIO_PYTHON_INSTALL_DIR=$(python_get_sitedir) + -DOTIO_INSTALL_CONTRIB=OFF + -DOTIO_SHARED_LIBS=OFF + -DOTIO_CXX_COVERAGE=OFF + -DOTIO_CXX_EXAMPLES=OFF + -DOTIO_AUTOMATIC_SUBMODULES=OFF + -DOTIO_FIND_IMATH=ON + -DUSE_DEPS_IMATH=OFF + ) + cmake_src_configure + } + + use python && python_foreach_impl run_in_build_dir myconfigure +} + +src_compile() { + cmake_src_compile + use python && python_foreach_impl run_in_build_dir cmake_src_compile +} + +src_test() { + cmake_src_test + + # TODO + local -x OTIO_DISABLE_SHELLOUT_TESTS=1 + local -x OTIO_DISABLE_SERIALIZED_SCHEMA_TEST=1 + use python && python_foreach_impl eunittest tests +} + +src_install() { + cmake_src_install + einstalldocs + + my_python_optimize() { + python_optimize "${D}$(python_get_sitedir)" + } + + if use python; then + python_foreach_impl run_in_build_dir cmake_src_install + python_foreach_impl my_python_optimize + fi +}