blob: e1e0cdbb7686ab5fc125f34ca060b951a9a4b0a2 [file] [log] [blame]
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python{2_7,3_3,3_4} )
DISTUTILS_OPTIONAL=1
inherit distutils-r1 eutils
DESCRIPTION="Matching Algorithm with Recursively Implemented StorAge"
HOMEPAGE="https://code.google.com/p/marisa-trie/"
SRC_URI="https://marisa-trie.googlecode.com/files/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ~arm64 ~ppc ppc64 ~x86"
IUSE="python doc static-libs cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_sse4a cpu_flags_x86_popcnt"
DEPEND="python? ( dev-lang/swig ${PYTHON_DEPS} )"
RDEPEND="python? ( ${PYTHON_DEPS} )"
# implied by --enable switches
REQUIRED_USE="
cpu_flags_x86_popcnt? ( cpu_flags_x86_sse3 )
cpu_flags_x86_sse4a? ( cpu_flags_x86_popcnt cpu_flags_x86_sse3 )
cpu_flags_x86_sse4_2? ( cpu_flags_x86_popcnt cpu_flags_x86_sse4_1 )
cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
"
src_prepare() {
epatch "${FILESDIR}/${P}-python.patch"
if use python; then
pushd bindings/python || die
ln -sf ../marisa-swig.i marisa-swig.i || die
ln -sf ../marisa-swig.h marisa-swig.h || die
ln -sf ../marisa-swig.cxx marisa-swig.cxx || die
distutils-r1_src_prepare
popd || die
fi
}
src_configure() {
local myeconfargs=(
$(use_enable static-libs static)
$(use_enable cpu_flags_x86_sse2 sse2)
$(use_enable cpu_flags_x86_sse3 sse3)
$(use_enable cpu_flags_x86_ssse3 ssse3)
$(use_enable cpu_flags_x86_sse4_1 sse4.1)
$(use_enable cpu_flags_x86_sse4_2 sse4.2)
# sse4 is just an alias to sse4.2
$(use_enable cpu_flags_x86_sse4a sse4a)
$(use_enable cpu_flags_x86_popcnt popcnt)
)
econf "${myeconfargs[@]}"
if use python; then
pushd bindings/python || die
distutils-r1_src_prepare
popd || die
fi
}
src_compile() {
default
if use python; then
pushd bindings/python || die
distutils-r1_src_compile
popd || die
fi
}
src_install() {
default
if use python; then
pushd bindings/python || die
distutils-r1_src_install
popd || die
fi
use doc && dohtml docs/readme.en.html
prune_libtool_files
}