mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
media-libs/mlt: Unbundle libebur128
Package-Manager: Portage-2.3.6, Repoman-2.3.1
This commit is contained in:
137
media-libs/mlt/files/mlt-6.4.1-libebur128-unbundle.patch
Normal file
137
media-libs/mlt/files/mlt-6.4.1-libebur128-unbundle.patch
Normal file
@@ -0,0 +1,137 @@
|
||||
From fad1df2bc8efc2881867e510443547fddf5d620b Mon Sep 17 00:00:00 2001
|
||||
From: Brian Matherly <code@brianmatherly.com>
|
||||
Date: Sun, 19 Feb 2017 23:35:17 -0600
|
||||
Subject: [PATCH 1/2] Use external libebur128 if detected.
|
||||
|
||||
---
|
||||
src/modules/plus/Makefile | 7 +++++--
|
||||
src/modules/plus/configure | 11 +++++++++++
|
||||
2 files changed, 16 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/modules/plus/Makefile b/src/modules/plus/Makefile
|
||||
index 90067a56..351e7b76 100644
|
||||
--- a/src/modules/plus/Makefile
|
||||
+++ b/src/modules/plus/Makefile
|
||||
@@ -22,14 +22,17 @@ OBJS = consumer_blipflash.o \
|
||||
filter_sepia.o \
|
||||
producer_blipflash.o \
|
||||
producer_count.o \
|
||||
- transition_affine.o \
|
||||
- ebur128/ebur128.o
|
||||
+ transition_affine.o
|
||||
|
||||
ifdef USE_FFTW
|
||||
OBJS += filter_dance.o \
|
||||
filter_fft.o
|
||||
endif
|
||||
|
||||
+ifdef USE_INTERNAL_LIBEBUR128
|
||||
+ OBJS += ebur128/ebur128.o
|
||||
+endif
|
||||
+
|
||||
SRCS := $(OBJS:.o=.c)
|
||||
|
||||
all: $(TARGET)
|
||||
diff --git a/src/modules/plus/configure b/src/modules/plus/configure
|
||||
index fbd49807..e38464b4 100755
|
||||
--- a/src/modules/plus/configure
|
||||
+++ b/src/modules/plus/configure
|
||||
@@ -16,5 +16,16 @@ then
|
||||
echo "- fftw not found: disable fft and dance filters"
|
||||
fi
|
||||
|
||||
+ pkg-config libebur128
|
||||
+ if [ $? -eq 0 ]
|
||||
+ then
|
||||
+ echo "CFLAGS += $(pkg-config --cflags libebur128)" >> config.mak
|
||||
+ echo "LDFLAGS += $(pkg-config --libs libebur128)" >> config.mak
|
||||
+ else
|
||||
+ echo "- libebur128 not found: using internal libebur128"
|
||||
+ echo "USE_INTERNAL_LIBEBUR128=1" >> config.mak
|
||||
+ echo "CFLAGS += -DUSE_INTERNAL_LIBEBUR128" >> config.mak
|
||||
+ fi
|
||||
+
|
||||
exit 0
|
||||
fi
|
||||
|
||||
From 9951883b895eb920b7f67ea67a0753d8dea21a9e Mon Sep 17 00:00:00 2001
|
||||
From: Brian Matherly <code@brianmatherly.com>
|
||||
Date: Mon, 20 Feb 2017 08:15:52 -0600
|
||||
Subject: [PATCH 2/2] Fix include directives for ebur128 filters.
|
||||
|
||||
---
|
||||
src/modules/plus/Makefile | 2 +-
|
||||
src/modules/plus/configure | 2 ++
|
||||
src/modules/plus/filter_dynamic_loudness.c | 2 +-
|
||||
src/modules/plus/filter_loudness.c | 2 +-
|
||||
src/modules/plus/filter_loudness_meter.c | 2 +-
|
||||
5 files changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/modules/plus/Makefile b/src/modules/plus/Makefile
|
||||
index 351e7b76..366bca19 100644
|
||||
--- a/src/modules/plus/Makefile
|
||||
+++ b/src/modules/plus/Makefile
|
||||
@@ -1,4 +1,4 @@
|
||||
-CFLAGS += -I../.. -Iebur128/queue
|
||||
+CFLAGS += -I../..
|
||||
|
||||
LDFLAGS += -L../../framework -lmlt -lm -lpthread
|
||||
|
||||
diff --git a/src/modules/plus/configure b/src/modules/plus/configure
|
||||
index e38464b4..59662ca0 100755
|
||||
--- a/src/modules/plus/configure
|
||||
+++ b/src/modules/plus/configure
|
||||
@@ -19,12 +19,14 @@ then
|
||||
pkg-config libebur128
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
+ echo "- libebur128 found: using external libebur128"
|
||||
echo "CFLAGS += $(pkg-config --cflags libebur128)" >> config.mak
|
||||
echo "LDFLAGS += $(pkg-config --libs libebur128)" >> config.mak
|
||||
else
|
||||
echo "- libebur128 not found: using internal libebur128"
|
||||
echo "USE_INTERNAL_LIBEBUR128=1" >> config.mak
|
||||
echo "CFLAGS += -DUSE_INTERNAL_LIBEBUR128" >> config.mak
|
||||
+ echo "CFLAGS += -Iebur128 -Iebur128/queue" >> config.mak
|
||||
fi
|
||||
|
||||
exit 0
|
||||
diff --git a/src/modules/plus/filter_dynamic_loudness.c b/src/modules/plus/filter_dynamic_loudness.c
|
||||
index 07551f14..99c83051 100644
|
||||
--- a/src/modules/plus/filter_dynamic_loudness.c
|
||||
+++ b/src/modules/plus/filter_dynamic_loudness.c
|
||||
@@ -22,7 +22,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
-#include "ebur128/ebur128.h"
|
||||
+#include <ebur128.h>
|
||||
|
||||
typedef struct
|
||||
{
|
||||
diff --git a/src/modules/plus/filter_loudness.c b/src/modules/plus/filter_loudness.c
|
||||
index 8b74b5c9..0614fecc 100644
|
||||
--- a/src/modules/plus/filter_loudness.c
|
||||
+++ b/src/modules/plus/filter_loudness.c
|
||||
@@ -22,7 +22,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
-#include "ebur128/ebur128.h"
|
||||
+#include <ebur128.h>
|
||||
|
||||
#define MAX_RESULT_SIZE 512
|
||||
|
||||
diff --git a/src/modules/plus/filter_loudness_meter.c b/src/modules/plus/filter_loudness_meter.c
|
||||
index 9926f945..6c81d19f 100644
|
||||
--- a/src/modules/plus/filter_loudness_meter.c
|
||||
+++ b/src/modules/plus/filter_loudness_meter.c
|
||||
@@ -22,7 +22,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
-#include "ebur128/ebur128.h"
|
||||
+#include <ebur128.h>
|
||||
|
||||
typedef struct
|
||||
{
|
||||
215
media-libs/mlt/mlt-6.4.1-r3.ebuild
Normal file
215
media-libs/mlt/mlt-6.4.1-r3.ebuild
Normal file
@@ -0,0 +1,215 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
# this ebuild currently only supports installing ruby bindings for a single ruby version
|
||||
# so USE_RUBY must contain only a single value (the latest stable) as the ebuild calls
|
||||
# /usr/bin/${USE_RUBY} directly
|
||||
USE_RUBY="ruby22"
|
||||
inherit eutils flag-o-matic multilib python-single-r1 ruby-single toolchain-funcs
|
||||
|
||||
DESCRIPTION="Open source multimedia framework for television broadcasting"
|
||||
HOMEPAGE="https://www.mltframework.org/"
|
||||
SRC_URI="https://github.com/mltframework/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
|
||||
IUSE="compressed-lumas debug ffmpeg fftw frei0r gtk jack kdenlive libav libsamplerate melt opencv opengl
|
||||
cpu_flags_x86_mmx qt5 rtaudio sdl cpu_flags_x86_sse cpu_flags_x86_sse2 xine xml lua python ruby vdpau"
|
||||
# java perl php tcl vidstab
|
||||
IUSE="${IUSE} kernel_linux"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
#rtaudio will use OSS on non linux OSes
|
||||
COMMON_DEPEND="
|
||||
>=media-libs/libebur128-1.2.2
|
||||
ffmpeg? (
|
||||
libav? ( media-video/libav:0=[vdpau?] )
|
||||
!libav? ( media-video/ffmpeg:0=[vdpau?] )
|
||||
)
|
||||
xml? ( >=dev-libs/libxml2-2.5 )
|
||||
sdl? ( >=media-libs/libsdl-1.2.10[X,opengl,video]
|
||||
>=media-libs/sdl-image-1.2.4 )
|
||||
libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
|
||||
jack? ( >=media-sound/jack-audio-connection-kit-0.121.3
|
||||
media-libs/ladspa-sdk
|
||||
>=dev-libs/libxml2-2.5 )
|
||||
fftw? ( sci-libs/fftw:3.0= )
|
||||
frei0r? ( media-plugins/frei0r-plugins )
|
||||
gtk? ( x11-libs/gtk+:2
|
||||
media-libs/libexif
|
||||
x11-libs/pango )
|
||||
opencv? ( >=media-libs/opencv-3.1.0:= )
|
||||
opengl? ( media-video/movit )
|
||||
rtaudio? (
|
||||
media-libs/rtaudio
|
||||
kernel_linux? ( media-libs/alsa-lib )
|
||||
)
|
||||
xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
|
||||
qt5? (
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtsvg:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtxml:5
|
||||
media-libs/libexif
|
||||
x11-libs/libX11
|
||||
opengl? ( dev-qt/qtopengl:5 )
|
||||
)
|
||||
lua? ( >=dev-lang/lua-5.1.4-r4:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
ruby? ( ${RUBY_DEPS} )"
|
||||
# sox? ( media-sound/sox )
|
||||
# java? ( >=virtual/jre-1.5 )
|
||||
# perl? ( dev-lang/perl )
|
||||
# php? ( dev-lang/php )
|
||||
# tcl? ( dev-lang/tcl:0= )
|
||||
# vidstab? ( media-libs/libvidstab )
|
||||
SWIG_DEPEND=">=dev-lang/swig-2.0"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
virtual/pkgconfig
|
||||
compressed-lumas? ( virtual/imagemagick-tools[png] )
|
||||
lua? ( ${SWIG_DEPEND} virtual/pkgconfig )
|
||||
python? ( ${SWIG_DEPEND} )
|
||||
ruby? ( ${SWIG_DEPEND} )"
|
||||
# java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 )
|
||||
# perl? ( ${SWIG_DEPEND} )
|
||||
# php? ( ${SWIG_DEPEND} )
|
||||
# tcl? ( ${SWIG_DEPEND} )
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
!media-libs/mlt++
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.2.0-ruby-link.patch
|
||||
"${FILESDIR}"/${P}-libebur128-unbundle.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
|
||||
for x in python lua; do
|
||||
sed -i "/mlt.so/s: -lmlt++ :& ${CFLAGS} ${LDFLAGS} :" src/swig/$x/build || die
|
||||
done
|
||||
sed -i "/^LDFLAGS/s: += :& ${LDFLAGS} :" src/swig/ruby/build || die
|
||||
|
||||
sed -i -e "s/env ruby/${USE_RUBY}/" src/swig/ruby/* || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CC CXX
|
||||
|
||||
# bug 589848
|
||||
append-cxxflags -std=c++11
|
||||
|
||||
local myconf="--enable-gpl
|
||||
--enable-gpl3
|
||||
--enable-motion-est
|
||||
--target-arch=$(tc-arch)
|
||||
--disable-kde
|
||||
--disable-swfdec
|
||||
$(use_enable debug)
|
||||
$(use compressed-lumas && echo ' --luma-compress')
|
||||
$(use_enable cpu_flags_x86_sse sse)
|
||||
$(use_enable cpu_flags_x86_sse2 sse2)
|
||||
$(use_enable gtk gtk2)
|
||||
$(use_enable sdl)
|
||||
$(use_enable jack jackrack)
|
||||
$(use_enable ffmpeg avformat)
|
||||
$(use ffmpeg && echo ' --avformat-swscale')
|
||||
$(use_enable fftw plus)
|
||||
$(use_enable frei0r)
|
||||
$(use_enable melt)
|
||||
$(use_enable opencv)
|
||||
$(use_enable opengl)
|
||||
$(use_enable libsamplerate resample)
|
||||
$(use_enable rtaudio)
|
||||
$(use vdpau && echo ' --avformat-vdpau')
|
||||
$(use_enable xml)
|
||||
$(use_enable xine)
|
||||
$(use_enable kdenlive)
|
||||
--disable-sox"
|
||||
#$(use_enable sox) FIXME
|
||||
|
||||
if use qt5 ; then
|
||||
myconf+=" --enable-qt
|
||||
--qt-includedir=$(pkg-config Qt5Core --variable=includedir)
|
||||
--qt-libdir=$(pkg-config Qt5Core --variable=libdir)"
|
||||
else
|
||||
myconf+=" --disable-qt"
|
||||
fi
|
||||
|
||||
if use x86 || use amd64 ; then
|
||||
myconf+=" $(use_enable cpu_flags_x86_mmx mmx)"
|
||||
else
|
||||
myconf+=" --disable-mmx"
|
||||
fi
|
||||
|
||||
if ! use melt; then
|
||||
sed -i -e "s;src/melt;;" Makefile || die
|
||||
fi
|
||||
|
||||
# TODO: add swig language bindings
|
||||
# see also https://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
|
||||
|
||||
local swig_lang
|
||||
# TODO: java perl php tcl
|
||||
for i in lua python ruby ; do
|
||||
use $i && swig_lang="${swig_lang} $i"
|
||||
done
|
||||
[ -z "${swig_lang}" ] && swig_lang="none"
|
||||
|
||||
econf ${myconf} --swig-languages="${swig_lang}"
|
||||
|
||||
sed -i -e s/^OPT/#OPT/ "${S}/config.mak" || die
|
||||
if use qt5 ; then
|
||||
if ! use opengl ; then
|
||||
sed -i -e "/^USE_QT_OPENGL/ s/^/#/" "${S}/src/modules/qt/config.mak" || die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
dodoc AUTHORS ChangeLog NEWS README docs/*.txt
|
||||
|
||||
dodir /usr/share/${PN}
|
||||
insinto /usr/share/${PN}
|
||||
doins -r demo
|
||||
|
||||
docinto swig
|
||||
|
||||
# Install SWIG bindings
|
||||
if use lua; then
|
||||
cd "${S}"/src/swig/lua || die
|
||||
exeinto $(pkg-config --variable INSTALL_CMOD lua)
|
||||
doexe mlt.so
|
||||
dodoc play.lua
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
cd "${S}"/src/swig/python || die
|
||||
insinto $(python_get_sitedir)
|
||||
doins mlt.py
|
||||
exeinto $(python_get_sitedir)
|
||||
doexe _mlt.so
|
||||
dodoc play.py
|
||||
python_optimize
|
||||
fi
|
||||
|
||||
if use ruby; then
|
||||
cd "${S}"/src/swig/ruby || die
|
||||
exeinto $("${EPREFIX}"/usr/bin/${USE_RUBY} -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')
|
||||
doexe mlt.so
|
||||
dodoc play.rb thumbs.rb
|
||||
fi
|
||||
# TODO: java perl php tcl
|
||||
}
|
||||
Reference in New Issue
Block a user