1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00

gnu: Add opentimelineio.

* gnu/packages/video.scm (opentimelineio): New variable.

Change-Id: I47dc1e1b119ef24ae3571b346044cec5b960dfca
Signed-off-by: Zheng Junjie <z572@z572.online>
This commit is contained in:
Ricardo Wurmus
2025-07-18 11:36:53 +02:00
committed by Zheng Junjie
parent 3a56cc1c63
commit ed309a3aff

View File

@@ -158,6 +158,7 @@
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages haskell-xyz)
@@ -5236,6 +5237,59 @@ post-processing of video formats like MPEG2, H.264/AVC, and VC-1.")
"Openh264 is a library which can decode H264 video streams.")
(license license:bsd-2)))
(define-public opentimelineio
(package
(name "opentimelineio")
(version "0.17.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AcademySoftwareFoundation/OpenTimelineIO")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0qram9cb77x0f29v6nbzwsd5mwdfw9m1k4d8pcny3ij7p26rfwp7"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "CMakeLists.txt"
(("add_subdirectory\\(src/deps\\)") ""))
(substitute* "src/opentimelineio/serializableObject.h"
(("#include \"ImathBox.h\"")
"#include <Imath/ImathBox.h>"))
(substitute* '("src/opentimelineio/mediaReference.h"
"src/opentimelineio/composable.h")
(("#include <ImathBox.h>")
"#include <Imath/ImathBox.h>"))))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
'(list "-DOTIO_PYTHON_INSTALL=off"
"-DOTIO_AUTOMATIC_SUBMODULES=off")
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-imath
(lambda _
(symlink (string-append
#$(this-package-input "imath")
"/include/Imath")
(string-append
#$output "/include/opentimelineio/deps")))))))
(inputs (list imath rapidjson))
(home-page "https://opentimeline.io")
(synopsis "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, @code{opentime}.")
(license license:gpl2+)))
(define-public libmp4v2
(package
(name "libmp4v2")