--- /var/portage/gentoo/x11-libs/qwt/qwt-6.1.0.ebuild 2014-01-06 11:01:36.000000000 +0100 +++ qwt-6.1.0.ebuild 2014-04-14 00:31:37.683144175 +0200 @@ -15,13 +15,16 @@ LICENSE="qwt mathml? ( LGPL-2.1 Nokia-Qt-LGPL-Exception-1.1 )" KEYWORDS="~alpha amd64 hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-macos" SLOT="6" -IUSE="doc examples mathml static-libs svg" +IUSE="doc examples mathml +qt4 qt5 static-libs svg" DEPEND=" !> qwtconfig.pri @@ -49,37 +50,93 @@ QWT_CONFIG += qt warn_on thread release no_keywords EOF - sed \ - -e 's/target doc/target/' \ - -e "/^TARGET/s:(qwt):(qwt6):g" \ - -i src/src.pro || die - - sed \ - -e '/qwtAddLibrary/s:(qwt):(qwt6):g' \ - -i qwt.prf designer/designer.pro examples/examples.pri \ - textengines/mathml/qwtmathml.prf textengines/textengines.pri || die - MULTIBUILD_VARIANTS=( ) - use static-libs && MULTIBUILD_VARIANTS+=( static ) - MULTIBUILD_VARIANTS+=( shared ) - - qt4-r2_src_prepare + if use qt4; then + use static-libs && MULTIBUILD_VARIANTS+=( qt4-static ) + MULTIBUILD_VARIANTS+=( qt4-shared ) + fi + + if use qt5; then + use static-libs && MULTIBUILD_VARIANTS+=( qt5-static ) + MULTIBUILD_VARIANTS+=( qt5-shared ) + fi multibuild_copy_sources + preparation() { - [[ ${MULTIBUILD_VARIANT} == shared ]] && \ - echo "QWT_CONFIG += QwtDll" >> "${BUILD_DIR}"/qwtconfig.pri + if [[ ${MULTIBUILD_VARIANT} == *-shared ]]; then + echo "QWT_CONFIG += QwtDll" >> qwtconfig.pri + fi + + case "${MULTIBUILD_VARIANT}" in + qt4-*) + cat >> qwtconfig.pri <<-EOF + QWT_INSTALL_PLUGINS = "${EPREFIX}/usr/$(get_libdir)/qt4/plugins/designer" + QWT_INSTALL_FEATURES = "${EPREFIX}/usr/share/qt4/mkspecs/features" + EOF + sed \ + -e 's/target doc/target/' \ + -e "/^TARGET/s:(qwt):(qwt6-qt4):g" \ + -i src/src.pro || die + + sed \ + -e '/qwtAddLibrary/s:(qwt):(qwt6-qt4):g' \ + -i qwt.prf designer/designer.pro examples/examples.pri \ + textengines/mathml/qwtmathml.prf textengines/textengines.pri || die + + qt4-r2_src_prepare + ;; + qt5-*) + cat >> qwtconfig.pri <<-EOF + QWT_INSTALL_PLUGINS = "${EPREFIX}/usr/$(get_libdir)/qt5/plugins/designer" + QWT_INSTALL_FEATURES = "${EPREFIX}/usr/share/qt5/mkspecs/features" + EOF + sed \ + -e 's/target doc/target/' \ + -e "/^TARGET/s:(qwt):(qwt6-qt5):g" \ + -i src/src.pro || die + + sed \ + -e '/qwtAddLibrary/s:(qwt):(qwt6-qt5):g' \ + -i qwt.prf designer/designer.pro examples/examples.pri \ + textengines/mathml/qwtmathml.prf textengines/textengines.pri || die + ;; + esac } - multibuild_foreach_variant preparation + multibuild_foreach_variant run_in_build_dir preparation } + + src_configure() { - multibuild_parallel_foreach_variant run_in_build_dir qt4-r2_src_configure + configuration() { + case "${MULTIBUILD_VARIANT}" in + qt4-*) + qt4-r2_src_configure + ;; + qt5-*) + /usr/lib/qt5/bin/qmake + ;; + esac + + } + multibuild_parallel_foreach_variant run_in_build_dir configuration } src_compile() { - multibuild_foreach_variant run_in_build_dir qt4-r2_src_compile + compilation() { + case "${MULTIBUILD_VARIANT}" in + qt4-*) + qt4-r2_src_compile + ;; + qt5-*) + emake + ;; + esac + + } + multibuild_foreach_variant run_in_build_dir compilation } src_test() { @@ -88,12 +145,23 @@ eqmake4 examples.pro emake } - multibuild_foreach_variant run_in_build_dir testing +# multibuild_foreach_variant run_in_build_dir testing } src_install () { + installation() { + case "${MULTIBUILD_VARIANT}" in + qt4-*) + qt4-r2_src_install + ;; + qt5-*) + emake INSTALL_ROOT="${D}" install + ;; + esac + } + rm -f doc/man/*/{_,deprecated}* || die - multibuild_foreach_variant run_in_build_dir qt4-r2_src_install + multibuild_foreach_variant run_in_build_dir installation use doc && dohtml -r doc/html/*