summaryrefslogtreecommitdiff
path: root/multimedia
diff options
context:
space:
mode:
authorRene Ladan <rene@FreeBSD.org>2019-09-08 21:39:10 +0000
committerRene Ladan <rene@FreeBSD.org>2019-09-08 21:39:10 +0000
commit158c9a994d21fe06c0aa3b672c0c232f806533a4 (patch)
tree4baa601d7ea865b06671bd6813ecb7140ce1bef7 /multimedia
parentRewrite the port so we build our own Linux package from the upstream (diff)
multimedia/lives: fix build and some pkg-plist issues
PR: 237320 Submitted by: Hiroo Ono MFH: 2019Q3
Notes
Notes: svn path=/head/; revision=511598
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/lives/Makefile18
-rw-r--r--multimedia/lives/files/patch-Makefile.am11
-rw-r--r--multimedia/lives/files/patch-configure42
-rw-r--r--multimedia/lives/files/patch-configure.ac22
-rw-r--r--multimedia/lives/files/patch-ffmpeg4343
-rw-r--r--multimedia/lives/files/patch-lives-plugins_weed-plugins_Makefile.am12
-rw-r--r--multimedia/lives/files/patch-lives-plugins_weed-plugins_gdk_Makefile.am13
-rw-r--r--multimedia/lives/pkg-plist34
8 files changed, 85 insertions, 410 deletions
diff --git a/multimedia/lives/Makefile b/multimedia/lives/Makefile
index fa2d82b6aa8e..881031dcfae7 100644
--- a/multimedia/lives/Makefile
+++ b/multimedia/lives/Makefile
@@ -14,10 +14,6 @@ COMMENT= Video editing system
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
-BROKEN= fails to patch
-DEPRECATED= Broken for more than 6 months
-EXPIRATION_DATE= 2019-09-04
-
BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto \
${LOCALBASE}/bin/analyseplugin:audio/ladspa
LIB_DEPENDS= libasound.so:audio/alsa-lib \
@@ -52,8 +48,10 @@ RUN_DEPENDS= ${LOCALBASE}/bin/analyseplugin:audio/ladspa \
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
-USES= compiler:c++11-lib gettext-runtime ghostscript:run libtool \
- localbase pathfix perl5 pkgconfig python shebangfix tar:bzip2
+USES= autoreconf compiler:c++11-lib gettext-runtime gettext-tools \
+ ghostscript:run gl gnome \
+ libtool localbase pathfix perl5 pkgconfig python sdl \
+ shebangfix tar:bzip2 xorg
SHEBANG_FILES= build-lives-rfx-plugin build-lives-rfx-plugin-multi \
smogrify tools/autolives.pl lives-plugins/plugins/encoders/*_encoder \
lives-plugins/marcos-encoders/*encoder* \
@@ -75,7 +73,7 @@ DOC_FILES= AUTHORS BUGS ChangeLog FEATURES GETTING.STARTED README \
lives-plugins/marcos-encoders/README.multi_encoder \
weed-docs/weedspec.txt weed-docs/weedevents.txt
-OPTIONS_DEFINE= DOCS DOXYGEN FREI0R MATROSKA NLS
+OPTIONS_DEFINE= DOCS DOXYGEN FREI0R MATROSKA V4L NLS
OPTIONS_SUB= yes
DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen
@@ -84,6 +82,8 @@ FREI0R_BUILD_DEPENDS= frei0r>0:graphics/frei0r
FREI0R_RUN_DEPENDS= frei0r>0:graphics/frei0r
FREI0R_CONFIGURE_ENV_OFF= ac_cv_header_frei0r_h=no
MATROSKA_RUN_DEPENDS= mkvmerge:multimedia/mkvtoolnix
+V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
+V4L_LIB_DEPENDS= libv4l2.so:multimedia/libv4l
NLS_USES= gettext-tools
NLS_CONFIGURE_OFF= --disable-nls
@@ -113,7 +113,7 @@ post-install-DOCS-on:
${INSTALL_DATA} ${DOC_FILES:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
post-install-DOXYGEN-on:
- @(cd ${STAGEDIR}${PREFIX} && ${FIND} ${DOCSDIR:S|${PREFIX}/||}/html \
- ! -type d >> ${TMPPLIST})
+ @(cd ${STAGEDIR}${PREFIX} && ${FIND} ${DOCSDIR_REL}/html \
+ -not -type d >> ${TMPPLIST})
.include <bsd.port.mk>
diff --git a/multimedia/lives/files/patch-Makefile.am b/multimedia/lives/files/patch-Makefile.am
new file mode 100644
index 000000000000..1dca074cac5e
--- /dev/null
+++ b/multimedia/lives/files/patch-Makefile.am
@@ -0,0 +1,11 @@
+--- Makefile.am.orig 2019-04-16 07:43:04 UTC
++++ Makefile.am
+@@ -35,7 +35,7 @@ endif
+ SUBDIRS = $(OSC_SUBDIRS) intl $(WEED_SUBDIRS) src m4 lives-plugins po resources
+ PACKAGE_CAPITALISED = LiVES
+
+-docdir = "$(prefix)/share/doc/$(PACKAGE)-$(VERSION)"
++docdir = "$(prefix)/share/doc/$(PACKAGE)"
+ sharedir = "$(prefix)/share"
+
+ if HAVE_DOXYGEN
diff --git a/multimedia/lives/files/patch-configure b/multimedia/lives/files/patch-configure
deleted file mode 100644
index 2f1a306d4549..000000000000
--- a/multimedia/lives/files/patch-configure
+++ /dev/null
@@ -1,42 +0,0 @@
---- configure.orig 2015-12-23 17:59:14 UTC
-+++ configure
-@@ -28352,7 +28352,6 @@ if test -n "$WEED_CFLAGS"; then
- test $ac_status = 0; }; then
- pkg_cv_WEED_CFLAGS=`$PKG_CONFIG --cflags "libweed >= 0.8.0" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
--else
- pkg_failed=yes
- fi
- else
-@@ -28441,7 +28440,6 @@ if test -n "$WEED_SLICE_CFLAGS"; then
- test $ac_status = 0; }; then
- pkg_cv_WEED_SLICE_CFLAGS=`$PKG_CONFIG --cflags "libweed_slice >= 0.8.0" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
--else
- pkg_failed=yes
- fi
- else
-@@ -28531,7 +28529,6 @@ if test -n "$WEED_UTILS_CFLAGS"; then
- test $ac_status = 0; }; then
- pkg_cv_WEED_UTILS_CFLAGS=`$PKG_CONFIG --cflags "libweed-utils >= 0.8.0" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
--else
- pkg_failed=yes
- fi
- else
-@@ -28620,7 +28617,6 @@ if test -n "$WEED_COMPAT_CFLAGS"; then
- test $ac_status = 0; }; then
- pkg_cv_WEED_COMPAT_CFLAGS=`$PKG_CONFIG --cflags "libweed-compat >= 0.9.0" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
--else
- pkg_failed=yes
- fi
- else
-@@ -28709,7 +28705,6 @@ if test -n "$WEED_PLUGIN_CFLAGS"; then
- test $ac_status = 0; }; then
- pkg_cv_WEED_PLUGIN_CFLAGS=`$PKG_CONFIG --cflags "libweed-plugin >= 0.13.0" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
--else
- pkg_failed=yes
- fi
- else
diff --git a/multimedia/lives/files/patch-configure.ac b/multimedia/lives/files/patch-configure.ac
new file mode 100644
index 000000000000..d6e315d21925
--- /dev/null
+++ b/multimedia/lives/files/patch-configure.ac
@@ -0,0 +1,22 @@
+--- configure.ac.orig 2019-01-08 13:49:30 UTC
++++ configure.ac
+@@ -520,14 +520,16 @@ HAVE_OPENCV=false
+
+ dnl check for opencv
+
+-PKG_CHECK_MODULES(OPENCV, opencv >= 2.3.1, HAVE_OPENCV=true, HAVE_OPENCV=false)
++PKG_CHECK_MODULES(OPENCV, opencv >= 2.3.1, HAVE_OPENCV=true, HAVE_OPENCV=false)
+
+-if test "HAVE_OPENCV" = "true" ; then
+-OPENCV_LIBS_ONLY_L = `pkg-config opencv --libs-only-L`
++if test "$HAVE_OPENCV" = "true" ; then
++OPENCV_LIBS_ONLY_L=`$PKG_CONFIG opencv --libs-only-L`
++OPENCV_LIBS_ONLY_OTHER=`$PKG_CONFIG opencv --libs-only-other`
+ fi
+
+ AC_SUBST(OPENCV_CFLAGS)
+ AC_SUBST(OPENCV_LIBS_ONLY_L)
++AC_SUBST(OPENCV_LIBS_ONLY_OTHER)
+
+ AM_CONDITIONAL(HAVE_OPENCV,$HAVE_OPENCV)
+
diff --git a/multimedia/lives/files/patch-ffmpeg4 b/multimedia/lives/files/patch-ffmpeg4
deleted file mode 100644
index dea84678f63b..000000000000
--- a/multimedia/lives/files/patch-ffmpeg4
+++ /dev/null
@@ -1,343 +0,0 @@
-https://sourceforge.net/p/lives/code/2742/
-https://sourceforge.net/p/lives/code/2745/
-
---- configure.orig 2017-06-29 01:44:43 UTC
-+++ configure
-@@ -787,6 +787,8 @@ HAVE_AVFORMAT_NEW_STREAM_FALSE
- HAVE_AVFORMAT_NEW_STREAM_TRUE
- HAVE_AV_CODEC_SET_PKT_TIMEBASE_FALSE
- HAVE_AV_CODEC_SET_PKT_TIMEBASE_TRUE
-+HAVE_AVCODEC_GET_NAME_FALSE
-+HAVE_AVCODEC_GET_NAME_TRUE
- HAVE_AVCODEC_ALLOC_CONTEXT3_FALSE
- HAVE_AVCODEC_ALLOC_CONTEXT3_TRUE
- HAVE_AVCODEC_OPEN2_FALSE
-@@ -26007,6 +26009,7 @@ fi
-
- HAVE_AVCODEC_OPEN2=false
- HAVE_AVCODEC_ALLOC_CONTEXT3=false
-+HAVE_AVCODEC_GET_NAME=false
- HAVE_AV_CODEC_SET_PKT_TIMEBASE=false
- HAVE_AVFORMAT_NEW_STREAM=false
- HAVE_AVFORMAT_FIND_STREAM_INFO=false
-@@ -26103,6 +26106,48 @@ else
- HAVE_AVCODEC_ALLOC_COBTEXT3=false
- fi
-
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for avcodec_get_name in -lavcodec" >&5
-+$as_echo_n "checking for avcodec_get_name in -lavcodec... " >&6; }
-+if ${ac_cv_lib_avcodec_avcodec_get_name+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ ac_check_lib_save_LIBS=$LIBS
-+LIBS="-lavcodec $LIBS"
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+/* Override any GCC internal prototype to avoid an error.
-+ Use char because int might match the return type of a GCC
-+ builtin and then its argument prototype would still apply. */
-+#ifdef __cplusplus
-+extern "C"
-+#endif
-+char avcodec_get_name ();
-+int
-+main ()
-+{
-+return avcodec_get_name ();
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+ ac_cv_lib_avcodec_avcodec_get_name=yes
-+else
-+ ac_cv_lib_avcodec_avcodec_get_name=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+LIBS=$ac_check_lib_save_LIBS
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_avcodec_avcodec_get_name" >&5
-+$as_echo "$ac_cv_lib_avcodec_avcodec_get_name" >&6; }
-+if test "x$ac_cv_lib_avcodec_avcodec_get_name" = xyes; then :
-+ HAVE_AVCODEC_GET_NAME=true
-+else
-+ HAVE_AVCODEC_GET_NAME=false
-+fi
-+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for av_codec_set_pkt_timebase in -lavcodec" >&5
- $as_echo_n "checking for av_codec_set_pkt_timebase in -lavcodec... " >&6; }
- if ${ac_cv_lib_avcodec_av_codec_set_pkt_timebase+:} false; then :
-@@ -26525,6 +26570,14 @@ else
- HAVE_AVCODEC_ALLOC_CONTEXT3_FALSE=
- fi
-
-+ if $HAVE_AVCODEC_GET_NAME; then
-+ HAVE_AVCODEC_GET_NAME_TRUE=
-+ HAVE_AVCODEC_GET_NAME_FALSE='#'
-+else
-+ HAVE_AVCODEC_GET_NAME_TRUE='#'
-+ HAVE_AVCODEC_GET_NAME_FALSE=
-+fi
-+
- if $HAVE_AV_CODEC_SET_PKT_TIMEBASE; then
- HAVE_AV_CODEC_SET_PKT_TIMEBASE_TRUE=
- HAVE_AV_CODEC_SET_PKT_TIMEBASE_FALSE='#'
-@@ -29545,6 +29598,10 @@ Usually this means the macro was only invoked conditio
- fi
- if test -z "${HAVE_AVCODEC_ALLOC_CONTEXT3_TRUE}" && test -z "${HAVE_AVCODEC_ALLOC_CONTEXT3_FALSE}"; then
- as_fn_error $? "conditional \"HAVE_AVCODEC_ALLOC_CONTEXT3\" was never defined.
-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
-+fi
-+if test -z "${HAVE_AVCODEC_GET_NAME_TRUE}" && test -z "${HAVE_AVCODEC_GET_NAME_FALSE}"; then
-+ as_fn_error $? "conditional \"HAVE_AVCODEC_GET_NAME\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
- if test -z "${HAVE_AV_CODEC_SET_PKT_TIMEBASE_TRUE}" && test -z "${HAVE_AV_CODEC_SET_PKT_TIMEBASE_FALSE}"; then
---- lives-plugins/plugins/decoders/asf_decoder.c.orig 2017-05-24 02:07:10 UTC
-+++ lives-plugins/plugins/decoders/asf_decoder.c
-@@ -439,7 +439,7 @@ static int get_next_video_packet(const lives_clip_data
-
-
- if (tdts == -1) {
-- priv->avpkt.size = priv->def_packet_size + FF_INPUT_BUFFER_PADDING_SIZE;
-+ priv->avpkt.size = priv->def_packet_size + AV_INPUT_BUFFER_PADDING_SIZE;
- priv->avpkt.data = malloc(priv->avpkt.size);
- memset(priv->avpkt.data, 0, priv->avpkt.size);
- }
-@@ -714,10 +714,10 @@ static int get_next_video_packet(const lives_clip_data
- fprintf(stderr, "asf_decoder: buffer overflow reading vid packet (%d + %d > %d),\n increasing buffer size\n",
- asf->packet_frag_offset, asf->packet_frag_size, priv->avpkt.size);
-
-- priv->avpkt.data = realloc(priv->avpkt.data, priv->def_packet_size * 2 + FF_INPUT_BUFFER_PADDING_SIZE);
-+ priv->avpkt.data = realloc(priv->avpkt.data, priv->def_packet_size * 2 + AV_INPUT_BUFFER_PADDING_SIZE);
- memset(priv->avpkt.data + priv->avpkt.size, 0, priv->def_packet_size);
- priv->def_packet_size *= 2;
-- priv->avpkt.size = priv->def_packet_size + FF_INPUT_BUFFER_PADDING_SIZE;
-+ priv->avpkt.size = priv->def_packet_size + AV_INPUT_BUFFER_PADDING_SIZE;
- }
-
- if (read(priv->fd, priv->avpkt.data + asf->packet_frag_offset, asf->packet_frag_size)
-@@ -1436,8 +1436,8 @@ seek_skip:
- if (!got_vidst) {
- priv->st->codec->extradata_size = size - 40;
-
-- priv->st->codec->extradata = malloc(priv->st->codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
-- memset(priv->st->codec->extradata, 0, priv->st->codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
-+ priv->st->codec->extradata = malloc(priv->st->codec->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
-+ memset(priv->st->codec->extradata, 0, priv->st->codec->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
-
- if (read(priv->fd, priv->st->codec->extradata,
- priv->st->codec->extradata_size) < priv->st->codec->extradata_size) {
---- lives-plugins/plugins/decoders/avformat_decoder.c.orig 2017-05-12 12:35:30 UTC
-+++ lives-plugins/plugins/decoders/avformat_decoder.c
-@@ -368,8 +368,12 @@ skip_init:
-
- get_samps_and_signed(cc->sample_fmt, &cdata->asamps, &cdata->asigned);
-
-- sprintf(cdata->audio_name, "%s", cc->codec_name);
--
-+#ifdef HAVE_AVCODEC_GET_NAME
-+ sprintf(cdata->audio_name, "%s", avcodec_get_name(cc->codec_id));
-+#else
-+ sprintf(cdata->audio_name, "%s", cc->codec->name);
-+#endif
-+
- priv->astream = i;
- break;
-
-@@ -408,7 +412,11 @@ skip_init:
- return FALSE;
- }
-
-- sprintf(cdata->video_name, "%s", cc->codec_name);
-+#ifdef HAVE_AVCODEC_GET_NAME
-+ sprintf(cdata->video_name, "%s", avcodec_get_name(cc->codec_id));
-+#else
-+ sprintf(cdata->video_name, "%s", cc->codec->name);
-+#endif
-
- cdata->par = cc->sample_aspect_ratio.num / cc->sample_aspect_ratio.den;
- if (cdata->par == 0) cdata->par = 1;
---- lives-plugins/plugins/decoders/flv_decoder.c.orig 2017-05-11 22:46:57 UTC
-+++ lives-plugins/plugins/decoders/flv_decoder.c
-@@ -465,7 +465,7 @@ static int flv_get_extradata(lives_clip_data_t *cdata,
- lives_flv_priv_t *priv = cdata->priv;
-
- av_free(priv->ctx->extradata);
-- priv->ctx->extradata = av_mallocz(size + FF_INPUT_BUFFER_PADDING_SIZE);
-+ priv->ctx->extradata = av_mallocz(size + AV_INPUT_BUFFER_PADDING_SIZE);
- if (priv->ctx->extradata == NULL) return AVERROR(ENOMEM);
- priv->ctx->extradata_size = size;
- dummy = read(priv->fd, priv->ctx->extradata, priv->ctx->extradata_size);
-@@ -1143,12 +1143,12 @@ static boolean attach_stream(lives_clip_data_t *cdata,
-
- if (isclone) return TRUE;
-
-- pack.data = malloc(pack.size - priv->pack_offset + FF_INPUT_BUFFER_PADDING_SIZE);
-+ pack.data = malloc(pack.size - priv->pack_offset + AV_INPUT_BUFFER_PADDING_SIZE);
-
- av_init_packet(&priv->avpkt);
-
- priv->avpkt.size = read(priv->fd, pack.data, pack.size - priv->pack_offset);
-- memset(pack.data + priv->avpkt.size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
-+ memset(pack.data + priv->avpkt.size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
- priv->input_position += pack.size + 4;
- priv->avpkt.data = pack.data;
- priv->avpkt.dts = priv->avpkt.pts = pack.dts;
-@@ -1206,10 +1206,10 @@ static boolean attach_stream(lives_clip_data_t *cdata,
- continue;
- }
-
-- pack.data = malloc(pack.size - priv->pack_offset + FF_INPUT_BUFFER_PADDING_SIZE);
-+ pack.data = malloc(pack.size - priv->pack_offset + AV_INPUT_BUFFER_PADDING_SIZE);
- if (priv->pack_offset != 5) lseek(priv->fd, priv->pack_offset - 5, SEEK_CUR);
- priv->avpkt.size = read(priv->fd, pack.data, pack.size - priv->pack_offset);
-- memset(pack.data + priv->avpkt.size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
-+ memset(pack.data + priv->avpkt.size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
- priv->avpkt.data = pack.data;
- break;
- }
-@@ -1709,12 +1709,12 @@ boolean get_frame(const lives_clip_data_t *cdata, int6
- continue;
- }
-
-- pack.data = malloc(pack.size - priv->pack_offset + FF_INPUT_BUFFER_PADDING_SIZE);
-+ pack.data = malloc(pack.size - priv->pack_offset + AV_INPUT_BUFFER_PADDING_SIZE);
-
- if (priv->pack_offset != 1) lseek(priv->fd, priv->pack_offset - 1, SEEK_CUR);
-
- priv->avpkt.size = read(priv->fd, pack.data, pack.size - priv->pack_offset);
-- memset(pack.data + priv->avpkt.size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
-+ memset(pack.data + priv->avpkt.size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
- priv->avpkt.data = pack.data;
- priv->avpkt.dts = priv->avpkt.pts = pack.dts;
-
---- lives-plugins/plugins/decoders/libav_helper.h.orig 2017-05-12 05:48:30 UTC
-+++ lives-plugins/plugins/decoders/libav_helper.h
-@@ -117,6 +117,21 @@ static UNUSED void av_set_pts_info(AVStream *s, int pt
- #define av_get_bits_per_sample(a) (av_get_bytes_per_sample(a) * 8)
- #endif
-
-+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(56, 56, 0)
-+#ifndef FF_INPUT_BUFFER_PADDING_SIZE
-+#define AV_INPUT_BUFFER_PADDING_SIZE FF_INPUT_BUFFER_MIN_SIZE
-+#else
-+#define AV_INPUT_BUFFER_PADDING_SIZE FF_INPUT_BUFFER_PADDING_SIZE
-+#endif
-+#else
-+#ifndef AV_INPUT_BUFFER_PADDING_SIZE
-+#define AV_INPUT_BUFFER_PADDING_SIZE AV_INPUT_BUFFER_MIN_SIZE
-+#endif
-+#endif
-+
-+#ifndef AV_CODEC_FLAG_GLOBAL_HEADER
-+#define AV_CODEC_FLAG_GLOBAL_HEADER CODEC_FLAG_GLOBAL_HEADER
-+#endif
-
-
- #endif // HAVE_LIBAV_LIBS
---- lives-plugins/plugins/decoders/mkv_decoder.c.orig 2017-05-12 08:39:45 UTC
-+++ lives-plugins/plugins/decoders/mkv_decoder.c
-@@ -883,7 +883,7 @@ static void matroska_fix_ass_packet(MatroskaDemuxConte
- es = ec / 100;
- ec -= 100 * es;
- *ptr++ = '\0';
-- len = 50 + end - ptr + FF_INPUT_BUFFER_PADDING_SIZE;
-+ len = 50 + end - ptr + AV_INPUT_BUFFER_PADDING_SIZE;
- if (!(line = malloc(len)))
- return;
- snprintf(line, len, "Dialogue: %s,%d:%02d:%02d.%02d,%d:%02d:%02d.%02d,%s\r\n",
-@@ -1544,7 +1544,7 @@ static int lives_mkv_read_header(lives_clip_data_t *cd
- st->codec->extradata_size = extradata_size;
- } else if (track->codec_priv.data && track->codec_priv.size > 0) {
- st->codec->extradata = calloc(track->codec_priv.size +
-- FF_INPUT_BUFFER_PADDING_SIZE, 1);
-+ AV_INPUT_BUFFER_PADDING_SIZE, 1);
- if (st->codec->extradata == NULL) {
- fprintf(stderr,
- "mkv_decoder: Out of memory\n");
---- lives-plugins/plugins/decoders/mpegts_decoder.c.orig 2017-05-12 12:37:42 UTC
-+++ lives-plugins/plugins/decoders/mpegts_decoder.c
-@@ -125,7 +125,7 @@ static inline void skip_bits(GetBitContext *s, int n)
-
- /**
- * init GetBitContext.
-- * @param buffer bitstream buffer, must be FF_INPUT_BUFFER_PADDING_SIZE bytes larger than the actual read bits
-+ * @param buffer bitstream buffer, must be AV_INPUT_BUFFER_PADDING_SIZE bytes larger than the actual read bits
- * because some optimized bitstream readers read 32 or 64 bit at once and could read over the end
- * @param bit_size the size of the buffer in bits
- *
-@@ -337,6 +337,7 @@ struct MpegTSContext {
- MpegTSFilter *pids[NB_PID_MAX];
- };
-
-+/*
- static const AVOption options[] = {
- {
- "compute_pcr", "Compute exact PCR for each transport stream packet.", offsetof(MpegTSContext, mpeg2ts_compute_pcr), AV_OPT_TYPE_INT,
-@@ -344,6 +345,7 @@ static const AVOption options[] = {
- },
- { NULL },
- };
-+*/
-
- /* TS stream handling */
-
-@@ -1035,7 +1037,7 @@ static void new_pes_packet(PESContext *pes, AVPacket *
- fprintf(stderr, "mpegts_decoder: PES packet size mismatch\n");
- //pes->flags |= AV_PKT_FLAG_CORRUPT;
- }
-- memset(pkt->data + pkt->size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
-+ memset(pkt->data + pkt->size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
-
- // Separate out the AC3 substream from an HDMV combined TrueHD/AC3 PID
- if (pes->sub_st && pes->stream_type == 0x83 && pes->extended_stream_id == 0x76)
-@@ -1192,7 +1194,7 @@ static int mpegts_push_data(lives_clip_data_t *cdata,
- pes->total_size = MAX_PES_PAYLOAD;
-
- /* allocate pes buffer */
-- pes->buffer = av_malloc(pes->total_size + FF_INPUT_BUFFER_PADDING_SIZE);
-+ pes->buffer = av_malloc(pes->total_size + AV_INPUT_BUFFER_PADDING_SIZE);
- if (!pes->buffer)
- return AVERROR(ENOMEM);
-
-@@ -1289,7 +1291,7 @@ skip:
- if (pes->data_index > 0 && pes->data_index + buf_size > pes->total_size) {
- new_pes_packet(pes, ts->pkt);
- pes->total_size = MAX_PES_PAYLOAD;
-- pes->buffer = av_malloc(pes->total_size + FF_INPUT_BUFFER_PADDING_SIZE);
-+ pes->buffer = av_malloc(pes->total_size + AV_INPUT_BUFFER_PADDING_SIZE);
- if (!pes->buffer)
- return AVERROR(ENOMEM);
- ts->stop_parse = 1;
-@@ -1454,7 +1456,7 @@ int ff_mp4_read_dec_config_descr(lives_clip_data_t *cd
- if (!len || (uint64_t)len > (1 << 30))
- return -1;
- av_free(st->codec->extradata);
-- st->codec->extradata = av_mallocz(len + FF_INPUT_BUFFER_PADDING_SIZE);
-+ st->codec->extradata = av_mallocz(len + AV_INPUT_BUFFER_PADDING_SIZE);
- if (!st->codec->extradata)
- return AVERROR(ENOMEM);
- memcpy(st->codec->extradata, p, len);
-@@ -1802,7 +1804,7 @@ int ff_parse_mpeg2_descriptor(lives_clip_data_t *cdata
- //if (st->codec->extradata_size == 4 && memcmp(st->codec->extradata, *pp, 4))
- //av_log_ask_for_sample(fc, "DVB sub with multiple IDs\n");
- //} else {
-- st->codec->extradata = av_malloc(4 + FF_INPUT_BUFFER_PADDING_SIZE);
-+ st->codec->extradata = av_malloc(4 + AV_INPUT_BUFFER_PADDING_SIZE);
- if (st->codec->extradata) {
- st->codec->extradata_size = 4;
- memcpy(st->codec->extradata, *pp, 4);
-@@ -3141,8 +3143,8 @@ skip_det:
-
- priv->codec = codec;
-
-- if (codec->capabilities & CODEC_CAP_TRUNCATED)
-- ctx->flags |= CODEC_FLAG_TRUNCATED;
-+ if (codec->capabilities & AV_CODEC_CAP_TRUNCATED)
-+ ctx->flags |= AV_CODEC_FLAG_TRUNCATED;
-
- // re-scan with avcodec; priv->data_start holds video data start position
-
diff --git a/multimedia/lives/files/patch-lives-plugins_weed-plugins_Makefile.am b/multimedia/lives/files/patch-lives-plugins_weed-plugins_Makefile.am
new file mode 100644
index 000000000000..de60be50c6f2
--- /dev/null
+++ b/multimedia/lives/files/patch-lives-plugins_weed-plugins_Makefile.am
@@ -0,0 +1,12 @@
+--- lives-plugins/weed-plugins/Makefile.am.orig 2019-04-14 20:00:14 UTC
++++ lives-plugins/weed-plugins/Makefile.am
+@@ -85,7 +85,8 @@ endif
+
+ if HAVE_OPENCV
+ farneback_analyser_libs = farneback_analyser.la
+-farneback_analyser_la_LDFLAGS = $(AM_LDFLAGS) $(OPENCV_LIBS_ONLY_L) -lopencv_core -lopencv_video
++farneback_analyser_la_LDFLAGS = $(AM_LDFLAGS) $(OPENCV_LIBS_ONLY_L) $(OPENCV_LIBS_ONLY_OTHER) -lopencv_core -lopencv_video
++farneback_analyser_la_CXXFLAGS = $(OPENCV_CFLAGS)
+ farneback_analyser_la_CPPFLAGS = $(AM_CPPFLAGS)
+ farneback_analyser_la_SOURCES = farneback_analyser.cpp
+
diff --git a/multimedia/lives/files/patch-lives-plugins_weed-plugins_gdk_Makefile.am b/multimedia/lives/files/patch-lives-plugins_weed-plugins_gdk_Makefile.am
new file mode 100644
index 000000000000..36402bed045c
--- /dev/null
+++ b/multimedia/lives/files/patch-lives-plugins_weed-plugins_gdk_Makefile.am
@@ -0,0 +1,13 @@
+--- lives-plugins/weed-plugins/gdk/Makefile.am.orig 2019-04-15 10:55:37 UTC
++++ lives-plugins/weed-plugins/gdk/Makefile.am
+@@ -59,8 +59,8 @@ EXTRA_DIST=data icons
+
+ install-data-local:
+ mkdir -p "$(DESTDIR)$(fxpluginslibdir)"
+- cp -rf data/ "$(DESTDIR)$(fxpluginslibdir)" && chmod -R a+r "$(DESTDIR)$(fxpluginslibdir)/data/"
+- cp -rf icons/ "$(DESTDIR)$(fxpluginslibdir)" && chmod -R a+r "$(DESTDIR)$(fxpluginslibdir)/icons/"
++ cp -rf data "$(DESTDIR)$(fxpluginslibdir)" && chmod -R a+r "$(DESTDIR)$(fxpluginslibdir)/data"
++ cp -rf icons "$(DESTDIR)$(fxpluginslibdir)" && chmod -R a+r "$(DESTDIR)$(fxpluginslibdir)/icons"
+ $(MAKE) -i install-data-local-remove-vcs-files
+
+ install-data-local-remove-vcs-files:
diff --git a/multimedia/lives/pkg-plist b/multimedia/lives/pkg-plist
index 39bb88b783f1..0279b634115c 100644
--- a/multimedia/lives/pkg-plist
+++ b/multimedia/lives/pkg-plist
@@ -76,11 +76,6 @@ lib/lives/plugins/effects/realtime/weed/ccorrect.so
lib/lives/plugins/effects/realtime/weed/colorkey.so
lib/lives/plugins/effects/realtime/weed/comic.so
lib/lives/plugins/effects/realtime/weed/compositor.so
-lib/lives/plugins/effects/realtime/weed/data/fourKlives/songs/examples.txt
-lib/lives/plugins/effects/realtime/weed/data/fourKlives/songs/modulations.txt
-lib/lives/plugins/effects/realtime/weed/data/fourKlives/songs/newlives.txt
-lib/lives/plugins/effects/realtime/weed/data/fourKlives/songs/regrlives.txt
-lib/lives/plugins/effects/realtime/weed/data/fourKlives/songs/roselives.txt
lib/lives/plugins/effects/realtime/weed/data_processor.so
lib/lives/plugins/effects/realtime/weed/data_unpacker.so
lib/lives/plugins/effects/realtime/weed/deinterlace.so
@@ -88,8 +83,13 @@ lib/lives/plugins/effects/realtime/weed/edge.so
lib/lives/plugins/effects/realtime/weed/farneback_analyser.so
lib/lives/plugins/effects/realtime/weed/fg_bg_removal.so
lib/lives/plugins/effects/realtime/weed/fireTV.so
-lib/lives/plugins/effects/realtime/weed/fourKlives.so
%%FREI0R%%lib/lives/plugins/effects/realtime/weed/frei0r/frei0r.so
+lib/lives/plugins/effects/realtime/weed/fourKlives.so
+lib/lives/plugins/effects/realtime/weed/fourKlives/songs/examples.txt
+lib/lives/plugins/effects/realtime/weed/fourKlives/songs/modulations.txt
+lib/lives/plugins/effects/realtime/weed/fourKlives/songs/newlives.txt
+lib/lives/plugins/effects/realtime/weed/fourKlives/songs/regrlives.txt
+lib/lives/plugins/effects/realtime/weed/fourKlives/songs/roselives.txt
lib/lives/plugins/effects/realtime/weed/gdk_fast_resize.so
lib/lives/plugins/effects/realtime/weed/haar_analyser.so
lib/lives/plugins/effects/realtime/weed/haip.so
@@ -200,12 +200,12 @@ lib/lives/plugins/encoders/x264_encoder
lib/lives/plugins/playback/audiostream/audiostreamer.pl
lib/lives/plugins/playback/video/SDL.so
lib/lives/plugins/playback/video/icecast_output.so
-lib/lives/plugins/playback/video/lives2lives_stream.so
lib/lives/plugins/playback/video/libav_stream.so
+lib/lives/plugins/playback/video/lives2lives_stream.so
lib/lives/plugins/playback/video/oggstream.so
lib/lives/plugins/playback/video/openGL.so
lib/lives/plugins/playback/video/vloopback.so
-lib/lives/plugins/playback/video/vloopback2.so
+%%V4L%%lib/lives/plugins/playback/video/vloopback2.so
lib/lives/plugins/playback/video/yuv4mpeg_stream.so
libdata/pkgconfig/libweed-compat.pc
libdata/pkgconfig/libweed-plugin.pc
@@ -214,13 +214,6 @@ libdata/pkgconfig/libweed.pc
libdata/pkgconfig/libweed_slice.pc
share/app-install/icons/lives.png
share/applications/LiVES.desktop
-share/icons/hicolor/128x128/apps/lives.png
-share/icons/hicolor/16x16/apps/lives.png
-share/icons/hicolor/22x22/apps/lives.png
-share/icons/hicolor/256x256/apps/lives.png
-share/icons/hicolor/32x32/apps/lives.png
-share/icons/hicolor/64x64/apps/lives.png
-share/pixmaps/lives.png
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/BUGS
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
@@ -231,11 +224,18 @@ share/pixmaps/lives.png
%%PORTDOCS%%%%DOCSDIR%%/README.multi_encoder
%%PORTDOCS%%%%DOCSDIR%%/RFX.spec
%%PORTDOCS%%%%DOCSDIR%%/clip_format.txt
+%%PORTDOCS%%%%DOCSDIR%%/c++-bindings.odt
%%PORTDOCS%%%%DOCSDIR%%/lives-OMC.txt
%%PORTDOCS%%%%DOCSDIR%%/rfxbuilder.odt
%%PORTDOCS%%%%DOCSDIR%%/weedevents.txt
%%PORTDOCS%%%%DOCSDIR%%/weedspec.txt
+share/icons/hicolor/128x128/apps/lives.png
+share/icons/hicolor/16x16/apps/lives.png
+share/icons/hicolor/22x22/apps/lives.png
+share/icons/hicolor/256x256/apps/lives.png
+share/icons/hicolor/32x32/apps/lives.png
share/icons/hicolor/48x48/apps/lives.png
+share/icons/hicolor/64x64/apps/lives.png
%%DATADIR%%/default.keymap
%%DATADIR%%/icons/audio.png
%%DATADIR%%/icons/fullscreen.png
@@ -372,6 +372,8 @@ share/icons/hicolor/48x48/apps/lives.png
%%NLS%%share/locale/uk/LC_MESSAGES/lives.mo
%%NLS%%share/locale/uz/LC_MESSAGES/lives.mo
%%NLS%%share/locale/zh_CN/LC_MESSAGES/lives.mo
+share/pixmaps/lives.png
share/pixmaps/lives.xpm
-@dir %%DATADIR%%/devicemaps
+@dir lib/lives/plugins/effects/realtime/weed/data
@dir lib/lives/plugins/effects/realtime/weed/icons
+@dir %%DATADIR%%/devicemaps