240 lines
8.5 KiB
Scheme
240 lines
8.5 KiB
Scheme
(define-module (kdenlive-movit)
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
#:use-module (guix packages)
|
|
#:use-module (guix download)
|
|
#:use-module (guix gexp)
|
|
#:use-module (guix utils)
|
|
#:use-module (guix git-download)
|
|
#:use-module (guix build-system gnu)
|
|
#:use-module (guix build-system cmake)
|
|
#:use-module (guix build-system qt)
|
|
#:use-module (gnu packages)
|
|
#:use-module (gnu packages base)
|
|
#:use-module (gnu packages bash)
|
|
#:use-module (gnu packages gnome)
|
|
#:use-module (gnu packages linux)
|
|
#:use-module (gnu packages video)
|
|
#:use-module (gnu packages gtk)
|
|
#:use-module (gnu packages xml)
|
|
#:use-module (gnu packages audio)
|
|
#:use-module (gnu packages photo)
|
|
#:use-module (gnu packages xiph)
|
|
#:use-module (gnu packages pulseaudio)
|
|
#:use-module (gnu packages autotools)
|
|
#:use-module (gnu packages algebra)
|
|
#:use-module (gnu packages gl)
|
|
#:use-module (gnu packages kde-plasma)
|
|
#:use-module (gnu packages kde-frameworks)
|
|
#:use-module (gnu packages qt)
|
|
#:use-module (gnu packages sdl)
|
|
#:use-module (gnu packages check)
|
|
#:use-module (gnu packages pkg-config))
|
|
|
|
(define-public movit
|
|
(package
|
|
(name "movit")
|
|
(version "1.7.1")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://movit.sesse.net/movit-" version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"06n1zfqjq74c4b82v6jfpd07nh0m2lam3ks296nbdk7h0nvp6c5k"))))
|
|
(build-system gnu-build-system)
|
|
(arguments
|
|
(list
|
|
#:tests? #f
|
|
#:make-flags #~'("GTEST_DIR=gtest/googletest")
|
|
#:phases
|
|
#~(modify-phases %standard-phases
|
|
(add-after 'unpack 'unpack-googletest
|
|
;; Copy the googletest sources to where the build system expects them.
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
(let ((source (assoc-ref inputs "googletest-source"))
|
|
(target "gtest"))
|
|
(mkdir-p target)
|
|
(copy-recursively source target)
|
|
#t))))))
|
|
(native-inputs
|
|
`(("googletest-source" ,(package-source googletest))))
|
|
(inputs
|
|
(list
|
|
pkg-config
|
|
googletest
|
|
libepoxy
|
|
sdl2
|
|
fftw
|
|
eigen))
|
|
(synopsis "Modern Video Toolkit, a high performance library for video filters")
|
|
(description
|
|
"Movit is the Modern Video Toolkit, notwithstanding that anything that's called “modern” usually isn't, and it's really not a toolkit. It aims to be a high-quality, high-performance, free software library for video filters.")
|
|
(home-page "https://movit.sesse.net")
|
|
(license license:gpl2)))
|
|
|
|
(define-public mlt-movit
|
|
(package
|
|
(name "mlt-movit")
|
|
(version "7.20.0")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/mltframework/mlt")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "1dc09j8yvis6ilba5a13qicf6wbgxnzwllab6h48kzfl1lc0n8g7"))))
|
|
(build-system cmake-build-system)
|
|
(arguments
|
|
(list
|
|
#:tests? #f ;requires "Kwalify"
|
|
#:phases
|
|
#~(modify-phases %standard-phases
|
|
(add-before 'configure 'override-LDFLAGS
|
|
(lambda _
|
|
(setenv "LDFLAGS"
|
|
(string-append "-Wl,-rpath=" #$output "/lib"))))
|
|
(add-after 'install 'wrap-executable
|
|
(lambda _
|
|
(let* ((frei0r #$(this-package-input "frei0r-plugins"))
|
|
(ladspa #$(this-package-input "ladspa"))
|
|
(movit #$(this-package-input "movit"))
|
|
;; In MLT 7, 'melt' symlinks to 'melt-7'. Try to keep
|
|
;; compatibility with MLT 6 where it's only 'melt'.
|
|
(major #$(version-major version))
|
|
(exec (if (file-exists?
|
|
(string-append #$output "/bin/melt-" major))
|
|
(string-append "melt-" major)
|
|
"melt")))
|
|
(wrap-program (string-append #$output "/bin/" exec)
|
|
`("FREI0R_PATH" ":" =
|
|
(,(string-append frei0r "/lib/frei0r-1")))
|
|
`("LADSPA_PATH" ":" =
|
|
(,(string-append ladspa "/lib/ladspa"))))))))))
|
|
(inputs
|
|
(list alsa-lib
|
|
`(,alsa-plugins "pulseaudio")
|
|
bash-minimal
|
|
ffmpeg
|
|
fftw
|
|
frei0r-plugins
|
|
gdk-pixbuf
|
|
gtk+
|
|
libxml2
|
|
jack-1
|
|
ladspa
|
|
libebur128
|
|
libexif
|
|
libvorbis
|
|
movit
|
|
eigen
|
|
rubberband
|
|
libsamplerate
|
|
pulseaudio
|
|
qtbase-5
|
|
qtsvg-5
|
|
rtaudio
|
|
sdl2
|
|
sdl2-image
|
|
sox
|
|
vidstab))
|
|
(native-inputs
|
|
(list pkg-config))
|
|
(home-page "https://www.mltframework.org/")
|
|
(synopsis "Author, manage, and run multitrack audio/video compositions")
|
|
(description
|
|
"MLT is a multimedia framework, designed and developed for television
|
|
broadcasting. It provides a toolkit for broadcasters, video editors, media
|
|
players, transcoders, web streamers and many more types of applications. The
|
|
functionality of the system is provided via an assortment of ready to use
|
|
tools, XML authoring components, and an extensible plug-in based API.")
|
|
(license license:lgpl2.1+)))
|
|
|
|
(define-public kdenlive-movit
|
|
(package
|
|
(name "kdenlive-movit")
|
|
(version "23.04.2")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://invent.kde.org/multimedia/kdenlive")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "0dgrgnnq38nphfzbapr7dkb21lv4idqynxqmzv9x3maijmp1jjfr"))))
|
|
(build-system qt-build-system)
|
|
(arguments
|
|
;; XXX: there is a single test that spawns other tests and
|
|
;; 1/3 tests failed and 1/327 assertions failed. It seems
|
|
;; that individual tests can't be skipped.
|
|
(list
|
|
#:configure-flags #~(list "-DBUILD_TESTING=off")
|
|
#:tests? #f
|
|
#:phases
|
|
#~(modify-phases %standard-phases
|
|
(add-after 'install 'wrap-executable
|
|
(lambda _
|
|
(let* ((ffmpeg #$(this-package-input "ffmpeg"))
|
|
(frei0r #$(this-package-input "frei0r-plugins"))
|
|
(ladspa #$(this-package-input "ladspa"))
|
|
(qtbase #$(this-package-input "qtbase")))
|
|
(wrap-program (string-append #$output "/bin/kdenlive")
|
|
`("PATH" ":" prefix
|
|
,(list (string-append ffmpeg "/bin")))
|
|
`("FREI0R_PATH" ":" =
|
|
(,(string-append frei0r "/lib/frei0r-1")))
|
|
`("LADSPA_PATH" ":" =
|
|
(,(string-append ladspa "/lib/ladspa")))
|
|
`("QT_QPA_PLATFORM_PLUGIN_PATH" ":" =
|
|
(,(string-append qtbase "/lib/qt5/plugins/platforms")))
|
|
`("MLT_PREFIX" ":" =
|
|
(,#$(this-package-input "mlt-movit"))))))))))
|
|
(native-inputs
|
|
(list extra-cmake-modules kdoctools pkg-config qttools-5))
|
|
(inputs
|
|
(list bash-minimal
|
|
breeze ; make dark them available easily
|
|
breeze-icons ; recommended icon set
|
|
ffmpeg
|
|
frei0r-plugins
|
|
karchive
|
|
kcrash
|
|
kdbusaddons
|
|
kdeclarative
|
|
kdoctools
|
|
kfilemetadata
|
|
kguiaddons
|
|
kiconthemes
|
|
kirigami
|
|
knewstuff
|
|
knotifications
|
|
knotifyconfig
|
|
kparts
|
|
kplotting
|
|
ladspa
|
|
mlt-movit
|
|
movit
|
|
rtaudio
|
|
purpose
|
|
qtbase-5
|
|
qtdeclarative-5
|
|
qtgraphicaleffects
|
|
qtmultimedia-5
|
|
qtnetworkauth-5
|
|
qtquickcontrols-5
|
|
qtquickcontrols2-5
|
|
qtscript
|
|
qtsvg-5
|
|
shared-mime-info))
|
|
(home-page "https://kdenlive.org")
|
|
(synopsis "Non-linear video editor")
|
|
(description "Kdenlive is an acronym for KDE Non-Linear Video Editor.
|
|
|
|
Non-linear video editing is much more powerful than beginner's (linear)
|
|
editors, hence it requires a bit more organization before starting. However,
|
|
it is not reserved to specialists and can be used for small personal
|
|
projects.")
|
|
(license license:gpl2+)))
|