diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 43ddb159cf..54e7bd3443 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -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 ")) + (substitute* '("src/opentimelineio/mediaReference.h" + "src/opentimelineio/composable.h") + (("#include ") + "#include ")))))) + (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")