media-libs/qt-gstreamer: Fix cmake w/ Qt 5.11_beta3
authorAndreas Sturmlechner <asturm@gentoo.org>
Sun, 15 Apr 2018 22:14:47 +0000 (00:14 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Sun, 15 Apr 2018 22:16:14 +0000 (00:16 +0200)
Package-Manager: Portage-2.3.28, Repoman-2.3.9

media-libs/qt-gstreamer/files/qt-gstreamer-1.2.0-qt-5.11b3.patch [new file with mode: 0644]
media-libs/qt-gstreamer/qt-gstreamer-1.2.0-r4.ebuild [new file with mode: 0644]

diff --git a/media-libs/qt-gstreamer/files/qt-gstreamer-1.2.0-qt-5.11b3.patch b/media-libs/qt-gstreamer/files/qt-gstreamer-1.2.0-qt-5.11b3.patch
new file mode 100644 (file)
index 0000000..537516d
--- /dev/null
@@ -0,0 +1,50 @@
+From 8ed5453b1b5e6e8b3c202fb03c2084e04e5f6b44 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Sun, 15 Apr 2018 23:46:50 +0200
+Subject: [PATCH] Fix cmake with Qt 5.11_beta3 (dropping qt5_use_modules)
+
+---
+ cmake/modules/FindQt4or5.cmake | 16 +++++++++++++---
+ 1 file changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/cmake/modules/FindQt4or5.cmake b/cmake/modules/FindQt4or5.cmake
+index 855a48e..d73b3a2 100644
+--- a/cmake/modules/FindQt4or5.cmake
++++ b/cmake/modules/FindQt4or5.cmake
+@@ -49,6 +49,16 @@ macro(_qt4or5_component_names_to_qt_components output_list)
+   list(REMOVE_DUPLICATES ${output_list})
+ endmacro()
++macro(_qt5_component_names_to_target_link_libaries output_list)
++  foreach(module ${ARGN})
++    _qt4or5_component_name_to_qt_component(qt_component ${module})
++    list(APPEND ${output_list} Qt5::${qt_component})
++    unset(qt_component)
++  endforeach()
++
++  list(REMOVE_DUPLICATES ${output_list})
++endmacro()
++
+ if (Qt4or5_FIND_QUIETLY)
+   set(_Qt4or5_FIND_PACKAGE_ARGS QUIET)
+ endif()
+@@ -195,13 +205,13 @@ function(qt4or5_use_modules _target _link_type)
+     set(modules ${_link_type} ${ARGN})
+   endif()
+-  _qt4or5_component_names_to_qt_components(real_modules ${modules})
+-
+   # Verify that Qt5 was found before using qt5_* macros,
+   # otherwise cmake will bail out if they are undefined.
+   if (${QT_VERSION} STREQUAL "5" AND Qt5Core_FOUND)
+-    qt5_use_modules(${_target} ${link_type} ${real_modules})
++    _qt5_component_names_to_target_link_libaries(real_modules ${modules})
++    target_link_libraries(${_target} ${link_type} ${real_modules})
+   elseif (${QT_VERSION} STREQUAL "4")
++    _qt4or5_component_names_to_qt_components(real_modules ${modules})
+     qt4_use_modules(${_target} ${link_type} ${real_modules})
+   endif()
+ endfunction()
+-- 
+2.17.0
+
diff --git a/media-libs/qt-gstreamer/qt-gstreamer-1.2.0-r4.ebuild b/media-libs/qt-gstreamer/qt-gstreamer-1.2.0-r4.ebuild
new file mode 100644 (file)
index 0000000..474afd4
--- /dev/null
@@ -0,0 +1,55 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} != *9999* ]]; then
+       SRC_URI="https://gstreamer.freedesktop.org/src/qt-gstreamer/${P}.tar.xz"
+       KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+else
+       EGIT_REPO_URI="https://anongit.freedesktop.org/git/gstreamer/qt-gstreamer.git"
+       inherit git-r3
+fi
+
+inherit cmake-utils
+
+DESCRIPTION="C++ bindings for GStreamer with a Qt-style API"
+HOMEPAGE="https://gstreamer.freedesktop.org/modules/qt-gstreamer.html"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="test"
+
+RDEPEND="
+       dev-libs/glib:2
+       dev-libs/boost:=
+       dev-qt/qtcore:5
+       dev-qt/qtdeclarative:5
+       dev-qt/qtgui:5
+       dev-qt/qtopengl:5
+       dev-qt/qtwidgets:5
+       media-libs/gstreamer:1.0
+       media-libs/gst-plugins-base:1.0
+"
+DEPEND="${RDEPEND}
+       test? ( dev-qt/qttest:5 )
+"
+
+PATCHES=(
+       "${FILESDIR}/${P}-gstreamer15.patch"
+       "${FILESDIR}/${P}-boost157.patch"
+       "${FILESDIR}/${P}-qt-5.11b3.patch"
+)
+
+# bug 497880
+RESTRICT="test"
+
+src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Declarative=ON
+               -DQTGSTREAMER_EXAMPLES=OFF
+               -DQTGSTREAMER_TESTS=$(usex test)
+               -DQT_VERSION=5
+       )
+       cmake-utils_src_configure
+}