commit: 9146141c89bf4249e78e602b1c18e858adca2143 Author: Michael Palimaka <kensington <AT> gentoo <DOT> org> AuthorDate: Fri Nov 28 18:51:43 2014 +0000 Commit: Michael Palimaka <kensington <AT> gentoo <DOT> org> CommitDate: Fri Nov 28 18:53:02 2014 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/qt.git;a=commit;h=9146141c
[app-crypt/qca] Add experimental multibuild support. This is subject to change as upstream is still in flux. Package-Manager: portage-2.2.14 --- app-crypt/qca/qca-9999.ebuild | 76 +++++++++++++++++++++++++++++++------------ 1 file changed, 55 insertions(+), 21 deletions(-) diff --git a/app-crypt/qca/qca-9999.ebuild b/app-crypt/qca/qca-9999.ebuild index 8e313ba..f1c1452 100644 --- a/app-crypt/qca/qca-9999.ebuild +++ b/app-crypt/qca/qca-9999.ebuild @@ -4,7 +4,7 @@ EAPI=5 -inherit multilib cmake-utils git-r3 +inherit cmake-utils multilib multibuild git-r3 DESCRIPTION="Qt Cryptographic Architecture (QCA)" HOMEPAGE="http://delta.affinix.com/qca/" @@ -15,7 +15,6 @@ SLOT="2" KEYWORDS="" IUSE="botan debug doc examples gcrypt gpg logger nss openssl pkcs11 +qt4 qt5 sasl softstore test" -REQUIRED_USE="^^ ( qt4 qt5 )" RDEPEND=" !app-crypt/qca-cyrus-sasl @@ -54,31 +53,66 @@ qca_plugin_use() { echo "-DWITH_${2:-$1}_PLUGIN=$(use $1 && echo yes || echo no)" } +pkg_setup() { + MULTIBUILD_VARIANTS=() + if use qt4; then + MULTIBUILD_VARIANTS+=( qt4 ) + fi + if use qt5; then + MULTIBUILD_VARIANTS+=( qt5 ) + fi +} + src_configure() { - local mycmakeargs=( - -DQCA_PLUGINS_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)/$(usex qt4 qt4 qt5)/plugins" - -DQCA_FEATURE_INSTALL_DIR="${EPREFIX}/usr/$(usex qt4 share $(get_libdir))/$(usex qt4 qt4 qt5)/mkspecs/features" - $(cmake-utils_use qt4 QT4_BUILD) - $(qca_plugin_use botan) - $(qca_plugin_use gcrypt) - $(qca_plugin_use gpg gnupg) - $(qca_plugin_use logger) - $(qca_plugin_use nss) - $(qca_plugin_use openssl ossl) - $(qca_plugin_use pkcs11) - $(qca_plugin_use sasl cyrus-sasl) - $(qca_plugin_use softstore) - $(cmake-utils_use_build test TESTS) - ) - cmake-utils_src_configure + myconfigure() { + local mycmakeargs=( + -DQCA_PLUGINS_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)/$(usex qt4 qt4 qt5)/plugins" + -DQCA_FEATURE_INSTALL_DIR="${EPREFIX}/usr/$(usex qt4 share $(get_libdir))/$(usex qt4 qt4 qt5)/mkspecs/features" + $(qca_plugin_use botan) + $(qca_plugin_use gcrypt) + $(qca_plugin_use gpg gnupg) + $(qca_plugin_use logger) + $(qca_plugin_use nss) + $(qca_plugin_use openssl ossl) + $(qca_plugin_use pkcs11) + $(qca_plugin_use sasl cyrus-sasl) + $(qca_plugin_use softstore) + $(cmake-utils_use_build test TESTS) + ) + + if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then + mycmakeargs+=( -DQT4_BUILD=true ) + fi + + if [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then + mycmakeargs+=( -DQCA_SUFFIX=QT5 ) + fi + + cmake-utils_src_configure + } + + multibuild_foreach_variant myconfigure } -src_install() { - cmake-utils_src_install +src_compile() { + multibuild_foreach_variant cmake-utils_src_compile if use doc; then - pushd "${BUILD_DIR}" >/dev/null + pushd "${BUILD_DIR}" > /dev/null doxygen Doxyfile || die + popd > /dev/null + fi +} + +src_test() { + multibuild_foreach_variant cmake-utils_src_test +} + +src_install() { + multibuild_foreach_variant cmake-utils_src_install + + if use doc; then + pushd "${BUILD_DIR}" > /dev/null dohtml apidocs/html/* popd >/dev/null fi
