media-libs/libmygpo-qt: add Qt5 support
authorAlexander Golubev <fatzer2@gmail.com>
Tue, 20 Sep 2016 16:11:32 +0000 (19:11 +0300)
committerLars Wendler <polynomial-c@gentoo.org>
Mon, 26 Dec 2016 16:09:03 +0000 (17:09 +0100)
Gentoo Bug: 562588
Closes: https://github.com/gentoo/gentoo/pull/2350

media-libs/libmygpo-qt/libmygpo-qt-1.0.9.ebuild
media-libs/libmygpo-qt/libmygpo-qt-9999.ebuild

index cf7ac6c6fe1ea681ee34bee95ecc8cb3a63b6dc7..5b6b821da7fa071ba26dd109d117a4acf890e185 100644 (file)
@@ -2,38 +2,83 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
-inherit cmake-utils
+EAPI=6
+inherit cmake-utils multibuild
 
 DESCRIPTION="Qt/C++ library wrapping the gpodder.net webservice"
 HOMEPAGE="http://wiki.gpodder.org/wiki/Libmygpo-qt"
 
 if [[ ${PV} == *9999* ]]; then
        EGIT_REPO_URI="https://github.com/gpodder/libmygpo-qt.git"
-       KEYWORDS=""
-       SRC_URI=""
-       inherit git-2
+       inherit git-r3
 else
-       KEYWORDS="~amd64 ~x86"
        SRC_URI="https://github.com/gpodder/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
 fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="test"
+IUSE="+qt4 qt5 test"
+
+REQUIRED_USE="|| ( qt4 qt5 )"
 
-RDEPEND="dev-qt/qtcore:4
-       >=dev-libs/qjson-0.5"
+RDEPEND="
+       qt4? (
+               >=dev-libs/qjson-0.5[qt4(+)]
+               dev-qt/qtcore:4
+       )
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtnetwork:5
+       )
+"
 DEPEND="${RDEPEND}
        virtual/pkgconfig
-       test? ( dev-qt/qttest:4 )"
+       test? (
+               qt4? ( dev-qt/qttest:4 )
+               qt5? ( dev-qt/qttest:5 )
+       )
+"
 
 DOCS=( AUTHORS README )
 PATCHES=( ${FILESDIR}/${PN}-1.0.8-fix-JsonCreatorTest-failure.patch )
 
+pkg_setup() {
+       MULTIBUILD_VARIANTS=( $(usev qt4) $(usev qt5) )
+       if use qt5; then
+               ewarn "Please note that Qt5 support is still experimental."
+               ewarn "If you find anything to not work with Qt5, please report a bug."
+       fi
+}
+
 src_configure() {
-       local mycmakeargs=(
-               $(cmake-utils_use test MYGPO_BUILD_TESTS)
-       )
-       cmake-utils_src_configure
+       myconfigure() {
+               local mycmakeargs=(
+                       -DMYGPO_BUILD_TESTS=$(usex test)
+               )
+
+               if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
+                       mycmakeargs+=(-DBUILD_WITH_QT4=ON)
+               fi
+
+               if [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
+                       mycmakeargs+=(-DBUILD_WITH_QT4=OFF)
+               fi
+
+               cmake-utils_src_configure
+       }
+
+       multibuild_foreach_variant myconfigure
+}
+
+src_compile() {
+       multibuild_foreach_variant cmake-utils_src_compile
+}
+
+src_test() {
+       multibuild_foreach_variant cmake-utils_src_test
+}
+
+src_install() {
+       multibuild_foreach_variant cmake-utils_src_install
 }
index af69ab2873719a6881820a926612c98f36b79a0f..60f6697cebc13de7f515ac598ec4f76390e96584 100644 (file)
@@ -2,37 +2,82 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
-inherit cmake-utils
+EAPI=6
+inherit cmake-utils multibuild
 
 DESCRIPTION="Qt/C++ library wrapping the gpodder.net webservice"
 HOMEPAGE="http://wiki.gpodder.org/wiki/Libmygpo-qt"
 
 if [[ ${PV} == *9999* ]]; then
        EGIT_REPO_URI="https://github.com/gpodder/libmygpo-qt.git"
-       KEYWORDS=""
-       SRC_URI=""
-       inherit git-2
+       inherit git-r3
 else
-       KEYWORDS="~amd64 ~x86"
        SRC_URI="https://github.com/gpodder/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
 fi
 
 LICENSE="LGPL-2.1"
 SLOT="0"
-IUSE="test"
+IUSE="+qt4 qt5 test"
+
+REQUIRED_USE="|| ( qt4 qt5 )"
 
-RDEPEND="dev-qt/qtcore:4
-       >=dev-libs/qjson-0.5"
+RDEPEND="
+       qt4? (
+               >=dev-libs/qjson-0.5[qt4(+)]
+               dev-qt/qtcore:4
+       )
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtnetwork:5
+       )
+"
 DEPEND="${RDEPEND}
        virtual/pkgconfig
-       test? ( dev-qt/qttest:4 )"
+       test? (
+               qt4? ( dev-qt/qttest:4 )
+               qt5? ( dev-qt/qttest:5 )
+       )
+"
 
 DOCS=( AUTHORS README )
 
+pkg_setup() {
+       MULTIBUILD_VARIANTS=( $(usev qt4) $(usev qt5) )
+       if use qt5; then
+               ewarn "Please note that Qt5 support is still experimental."
+               ewarn "If you find anything to not work with Qt5, please report a bug."
+       fi
+}
+
 src_configure() {
-       local mycmakeargs=(
-               $(cmake-utils_use test MYGPO_BUILD_TESTS)
-       )
-       cmake-utils_src_configure
+       myconfigure() {
+               local mycmakeargs=(
+                       -DMYGPO_BUILD_TESTS=$(usex test)
+               )
+
+               if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
+                       mycmakeargs+=(-DBUILD_WITH_QT4=ON)
+               fi
+
+               if [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
+                       mycmakeargs+=(-DBUILD_WITH_QT4=OFF)
+               fi
+
+               cmake-utils_src_configure
+       }
+
+       multibuild_foreach_variant myconfigure
+}
+
+src_compile() {
+       multibuild_foreach_variant cmake-utils_src_compile
+}
+
+src_test() {
+       multibuild_foreach_variant cmake-utils_src_test
+}
+
+src_install() {
+       multibuild_foreach_variant cmake-utils_src_install
 }