summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Strogin <steils@gentoo.org>2020-05-16 05:32:55 +0300
committerStefan Strogin <steils@gentoo.org>2020-05-16 05:42:49 +0300
commit04651aa3213e2e49f37657c1a5643e7c83a7f4e3 (patch)
treed5f68000ef3727d8bd2a30fc47b6ff12ad9838f9 /media-libs
parentmedia-libs/libopenshot-audio: version bump to 0.2.0 (diff)
downloadgentoo-04651aa3213e2e49f37657c1a5643e7c83a7f4e3.tar.gz
gentoo-04651aa3213e2e49f37657c1a5643e7c83a7f4e3.tar.bz2
gentoo-04651aa3213e2e49f37657c1a5643e7c83a7f4e3.zip
media-libs/libopenshot: version bump to 0.2.5
- Fix sub-slot operator for dev-libs/jsoncpp dependency. - SLOT="0/19". - Add python3_8 to PYTHON_COMPAT. - Add patch for gcc-10. Closes: https://bugs.gentoo.org/721142 Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Stefan Strogin <steils@gentoo.org>
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/libopenshot/Manifest1
-rw-r--r--media-libs/libopenshot/files/libopenshot-0.2.5-gcc10.patch58
-rw-r--r--media-libs/libopenshot/libopenshot-0.2.5.ebuild98
3 files changed, 157 insertions, 0 deletions
diff --git a/media-libs/libopenshot/Manifest b/media-libs/libopenshot/Manifest
index 4c8719808dab..12ce0990164f 100644
--- a/media-libs/libopenshot/Manifest
+++ b/media-libs/libopenshot/Manifest
@@ -1,3 +1,4 @@
DIST libopenshot-0.2.2.tar.gz 11037768 BLAKE2B c307e41bf17d40ae421a541bbdf4cd53c6ef4d97041a476c6910bd156c10815aa5a5811813b24fdc472401516f29cf8cb68fbda17a0b434767c3f3aa63d6f222 SHA512 b89189e57e82da68a063417bba9c94704c04b0546c0aed227daa23a794eee56341a05988d8e28dbd339edfcdeeaed48103b347060eccf94f32fe1a4bf23d6553
DIST libopenshot-0.2.4.tar.gz 10295888 BLAKE2B 2967f1faa56090355255e24c0367a4171af7433c53eab303c9d88432174d03879ae9fd2e6904e614ea6ba210e0c72c401cab95a1d2aa93ddd2cea2b861e985ce SHA512 6824ad22e81814b6427a4cb6489e5b893be264b5afa6e54287cd649f244f86b938c1b1d56280c1f49af65fa118d056d204bd39bc5b2ccdc10376d2df2f33a352
DIST libopenshot-0.2.4_pre20190609.tar.gz 10268173 BLAKE2B 01e07c0a7c051b5804f24fab1bfb920862a165ef14d3fdd020430b9e3a47858842c8cab3408ba0d161cb15cc6e90531a3b5df9ad327a01f414ff2e7e392fc243 SHA512 bf8c06aba6a899cb1ca6fbe9ac89fc859083b03175338c04af8dce68698f4ac78eac0b5b594e2b02390cd5e64576445b1c95324b254a267506353bed97ca16d1
+DIST libopenshot-0.2.5.tar.gz 10295768 BLAKE2B 19205c4f02d8b863b48e920164302853c7a505893783161e6a146e7a9728cefa19d4e48bc82b862e920967f110988ac28f5f495912efabbbacc98f55ebb51856 SHA512 b7cdf72897e6edaa8cc00e17dbe30f5b22a6b5d69aab64ddafb184458b41ef0332db1f3e2c6f039492bf7adb521d9758834d0bf6c24e6421a55970d8cf8caba7
diff --git a/media-libs/libopenshot/files/libopenshot-0.2.5-gcc10.patch b/media-libs/libopenshot/files/libopenshot-0.2.5-gcc10.patch
new file mode 100644
index 000000000000..4a116b120086
--- /dev/null
+++ b/media-libs/libopenshot/files/libopenshot-0.2.5-gcc10.patch
@@ -0,0 +1,58 @@
+From 13290364e7bea54164ab83d973951f2898ad9e23 Mon Sep 17 00:00:00 2001
+From: Stefan Strogin <steils@gentoo.org>
+Date: Sat, 16 May 2020 02:33:37 +0300
+Subject: [PATCH] FFmpegUtilities: replace variable definition with statement
+ expression
+
+It is needed to avoid multiple definitions of AV_GET_CODEC_CONTEXT,
+which is considered as an error with '-fno-common' which is default
+since gcc-10.
+
+Fixes: #511
+
+Upstream-Status: Submitted
+[https://github.com/OpenShot/libopenshot/pull/512]
+Signed-off-by: Stefan Strogin <steils@gentoo.org>
+---
+ include/FFmpegUtilities.h | 18 ++++++++----------
+ 1 file changed, 8 insertions(+), 10 deletions(-)
+
+diff --git a/include/FFmpegUtilities.h b/include/FFmpegUtilities.h
+index 62d64df..b4ec951 100644
+--- a/include/FFmpegUtilities.h
++++ b/include/FFmpegUtilities.h
+@@ -163,11 +163,10 @@
+ #define AV_FREE_CONTEXT(av_context) avcodec_free_context(&av_context)
+ #define AV_GET_CODEC_TYPE(av_stream) av_stream->codecpar->codec_type
+ #define AV_FIND_DECODER_CODEC_ID(av_stream) av_stream->codecpar->codec_id
+- auto AV_GET_CODEC_CONTEXT = [](AVStream* av_stream, AVCodec* av_codec) { \
+- AVCodecContext *context = avcodec_alloc_context3(av_codec); \
+- avcodec_parameters_to_context(context, av_stream->codecpar); \
+- return context; \
+- };
++ #define AV_GET_CODEC_CONTEXT(av_stream, av_codec) \
++ ({ AVCodecContext *context = avcodec_alloc_context3(av_codec); \
++ avcodec_parameters_to_context(context, av_stream->codecpar); \
++ context; })
+ #define AV_GET_CODEC_PAR_CONTEXT(av_stream, av_codec) av_codec;
+ #define AV_GET_CODEC_FROM_STREAM(av_stream,codec_in)
+ #define AV_GET_CODEC_ATTRIBUTES(av_stream, av_context) av_stream->codecpar
+@@ -199,11 +198,10 @@
+ #define AV_FREE_CONTEXT(av_context) avcodec_free_context(&av_context)
+ #define AV_GET_CODEC_TYPE(av_stream) av_stream->codecpar->codec_type
+ #define AV_FIND_DECODER_CODEC_ID(av_stream) av_stream->codecpar->codec_id
+- auto AV_GET_CODEC_CONTEXT = [](AVStream* av_stream, AVCodec* av_codec) { \
+- AVCodecContext *context = avcodec_alloc_context3(av_codec); \
+- avcodec_parameters_to_context(context, av_stream->codecpar); \
+- return context; \
+- };
++ #define AV_GET_CODEC_CONTEXT(av_stream, av_codec) \
++ ({ AVCodecContext *context = avcodec_alloc_context3(av_codec); \
++ avcodec_parameters_to_context(context, av_stream->codecpar); \
++ context; })
+ #define AV_GET_CODEC_PAR_CONTEXT(av_stream, av_codec) av_codec;
+ #define AV_GET_CODEC_FROM_STREAM(av_stream,codec_in)
+ #define AV_GET_CODEC_ATTRIBUTES(av_stream, av_context) av_stream->codecpar
+--
+2.26.2
+
diff --git a/media-libs/libopenshot/libopenshot-0.2.5.ebuild b/media-libs/libopenshot/libopenshot-0.2.5.ebuild
new file mode 100644
index 000000000000..840b5fb4de84
--- /dev/null
+++ b/media-libs/libopenshot/libopenshot-0.2.5.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+
+inherit cmake python-single-r1 toolchain-funcs
+
+DESCRIPTION="Video editing library used by OpenShot"
+HOMEPAGE="https://www.openshot.org/"
+SRC_URI="https://github.com/OpenShot/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0/19"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples +imagemagick +python test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ dev-libs/jsoncpp:0=
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtmultimedia:5[widgets]
+ >=media-libs/libopenshot-audio-0.2.0:0=
+ net-libs/cppzmq
+ net-libs/zeromq
+ imagemagick? ( >=media-gfx/imagemagick-7:0=[cxx] )
+ media-video/ffmpeg:0=[encode,x264,xvid,vpx,mp3,theora]
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( app-doc/doxygen )
+ python? ( dev-lang/swig )
+ test? ( dev-libs/unittest++ )
+"
+
+PATCHES=( ${FILESDIR}/${PN}-0.2.5-gcc10.patch )
+
+check_compiler() {
+ if [[ ${MERGE_TYPE} != binary ]] && ! tc-has-openmp; then
+ eerror "${P} requires a compiler with OpenMP support. Your current"
+ eerror "compiler does not support it. If you use gcc, you can"
+ eerror "re-emerge it with the 'openmp' use flag enabled."
+ die "The current compiler does not support OpenMP"
+ fi
+}
+
+pkg_pretend() {
+ check_compiler
+}
+
+pkg_setup() {
+ check_compiler
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+ # https://github.com/OpenShot/libopenshot/issues/17
+ use test || cmake_comment_add_subdirectory tests
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_RUBY=OFF # TODO: add ruby support
+ -DENABLE_PYTHON=$(usex python)
+ -DUSE_SYSTEM_JSONCPP=ON
+ $(cmake_use_find_package imagemagick ImageMagick)
+ )
+ use python && mycmakeargs+=(
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DPYTHON_LIBRARY="$(python_get_library_path)"
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ use doc && cmake_build doc
+}
+
+src_test() {
+ cmake_build os_test
+}
+
+src_install() {
+ local DOCS=( AUTHORS README.md doc/HW-ACCEL.md )
+ use examples && DOCS+=( src/examples/ )
+ use doc && local HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+
+ cmake_src_install
+ use python && python_optimize
+}