sci-biology/seqan: Add blocker for older SLOTs
authorDavid Seifert <soap@gentoo.org>
Wed, 14 Dec 2016 20:28:14 +0000 (21:28 +0100)
committerDavid Seifert <soap@gentoo.org>
Wed, 14 Dec 2016 20:32:45 +0000 (21:32 +0100)
Gentoo-bug: 602508

Package-Manager: portage-2.3.3

sci-biology/seqan/seqan-2.2.0-r1.ebuild [moved from sci-biology/seqan/seqan-2.2.0.ebuild with 59% similarity]

similarity index 59%
rename from sci-biology/seqan/seqan-2.2.0.ebuild
rename to sci-biology/seqan/seqan-2.2.0-r1.ebuild
index cac98d60febca177762597230d5f77b98fc18bce..313186fefcdc1db5206fd7b77025544de68d62a4 100644 (file)
@@ -12,33 +12,42 @@ DESCRIPTION="C++ Sequence Analysis Library"
 HOMEPAGE="http://www.seqan.de/"
 SRC_URI="http://packages.${PN}.de/${PN}-src/${PN}-src-${PV}.tar.gz"
 
-SLOT="$(get_version_component_range 1-2)"
+SLOT="0"
 LICENSE="BSD GPL-3"
 KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
 IUSE="cpu_flags_x86_sse4_1 doc test"
-DEPEND="sys-libs/zlib
+RDEPEND="
        app-arch/bzip2
+       sys-libs/zlib
+       !!sci-biology/seqan:2.0
+       !!sci-biology/seqan:2.1
+       !!sci-biology/seqan:2.2"
+DEPEND="${RDEPEND}
+       ${PYTHON_DEPS}
        doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
        test? ( dev-python/nose[${PYTHON_USEDEP}] )"
 
-REQUIRED_USE="${PYTHON_REQUIRED_USE} cpu_flags_x86_sse4_1"
+REQUIRED_USE="doc? ( ${PYTHON_REQUIRED_USE} ) test? ( ${PYTHON_REQUIRED_USE} ) cpu_flags_x86_sse4_1"
 
 S="${WORKDIR}"/${PN}-${PN}-v${PV}
 
 src_prepare() {
+       seqan_major_ver=$(get_version_component_range 1)
+       seqan_majorminor_ver=$(get_version_component_range 1-2)
+
        # install docs in proper Gentoo structure
        sed -e "s#share/doc/seqan#share/doc/${PF}#" \
                -e "s#\"share/doc/\${APP_NAME}\"#\"share/doc/${PF}/\${APP_NAME}\"#" \
                -i util/cmake/SeqAnBuildSystem.cmake dox/CMakeLists.txt || die
 
        # cmake module
-       sed -e "s#find_path(_SEQAN_BASEDIR \"seqan\"#find_path(_SEQAN_BASEDIR \"seqan-${SLOT}\"#" \
+       sed -e "s#find_path(_SEQAN_BASEDIR \"seqan\"#find_path(_SEQAN_BASEDIR \"seqan-${seqan_majorminor_ver}\"#" \
                -e 's#NO_DEFAULT_PATH)#PATHS /usr)#' \
-               -e "s#set(SEQAN_INCLUDE_DIRS_MAIN \${SEQAN_INCLUDE_DIRS_MAIN} \${_SEQAN_BASEDIR})#set(SEQAN_INCLUDE_DIRS_MAIN \${SEQAN_INCLUDE_DIRS_MAIN} \${_SEQAN_BASEDIR}/seqan-${SLOT})#" \
+               -e "s#set(SEQAN_INCLUDE_DIRS_MAIN \${SEQAN_INCLUDE_DIRS_MAIN} \${_SEQAN_BASEDIR})#set(SEQAN_INCLUDE_DIRS_MAIN \${SEQAN_INCLUDE_DIRS_MAIN} \${_SEQAN_BASEDIR}/seqan-${seqan_majorminor_ver})#" \
                -i util/cmake/FindSeqAn.cmake || die
 
        # pkg-config file
-       sed -e "s#includedir=\${prefix}/include#includedir=\${prefix}/include/${PN}-${SLOT}#" \
+       sed -e "s#includedir=\${prefix}/include#includedir=\${prefix}/include/${PN}-${seqan_majorminor_ver}#" \
                -i util/pkgconfig/${PN}.pc.in || die
 
        rm -f util/cmake/FindZLIB.cmake || die
@@ -47,30 +56,27 @@ src_prepare() {
 
 src_configure() {
        local mycmakeargs=(
-               -DBoost_NO_BOOST_CMAKE=ON
                -DSEQAN_BUILD_SYSTEM=SEQAN_RELEASE_LIBRARY
-               -DSEQAN_NO_DOX="$(usex !doc)"
+               -DSEQAN_NO_DOX=$(usex !doc)
        )
        cmake-utils_src_configure
 }
 
 src_compile() {
        cmake-utils_src_compile
-       cd "${BUILD_DIR}" || die
-       use doc && emake dox
+       use doc && cmake-utils_src_compile -C "${BUILD_DIR}" dox
 }
 
 src_install() {
        cmake-utils_src_install
 
-       # SLOT header such that different seqan versions can be installed in parallel
-       mkdir "${ED}"/usr/include/${PN}-${SLOT} || die
-       mv "${ED}"/usr/include/{${PN},${PN}-${SLOT}/} || die
+       # multi-version header such that different seqan versions can be installed in parallel
+       mkdir "${ED%/}"/usr/include/${PN}-${seqan_majorminor_ver} || die
+       mv "${ED%/}"/usr/include/${PN}{,-${seqan_majorminor_ver}/} || die
 
        # pkg-config file
-       mv "${ED}"/usr/share/pkgconfig/${PN}-{$(get_version_component_range 1),${SLOT}}.pc || die
+       mv "${ED%/}"/usr/share/pkgconfig/${PN}-{${seqan_major_ver},${seqan_majorminor_ver}}.pc || die
 
-       pushd "${ED}"/usr/share/pkgconfig/ >/dev/null
-               ln -s ${PN}-{${SLOT},$(get_version_component_range 1)}.pc || die
-       popd >/dev/null
+       # create pkg-config symlink to restore default behaviour
+       dosym ${PN}-${seqan_majorminor_ver}.pc /usr/share/pkgconfig/${PN}-${seqan_major_ver}.pc
 }