diff options
author | Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> | 2020-11-12 03:00:00 +0000 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2020-11-12 16:54:34 -0500 |
commit | 16a4c00c233ba738b080d27cedd0fa2aaf5eba0f (patch) | |
tree | b5ad2f4c8c791821de766ba9bd9bdde493d8f223 /dev-libs/marisa | |
parent | dev-libs/marisa: Update code for selection of CPU instructions. (diff) | |
download | gentoo-16a4c00c233ba738b080d27cedd0fa2aaf5eba0f.tar.gz gentoo-16a4c00c233ba738b080d27cedd0fa2aaf5eba0f.tar.bz2 gentoo-16a4c00c233ba738b080d27cedd0fa2aaf5eba0f.zip |
dev-libs/marisa: Version bump (0.2.6).
Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'dev-libs/marisa')
-rw-r--r-- | dev-libs/marisa/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/marisa/marisa-0.2.6.ebuild | 119 |
2 files changed, 120 insertions, 0 deletions
diff --git a/dev-libs/marisa/Manifest b/dev-libs/marisa/Manifest index 1a55c59ef89b..7b524798645e 100644 --- a/dev-libs/marisa/Manifest +++ b/dev-libs/marisa/Manifest @@ -1 +1,2 @@ DIST marisa-0.2.5.tar.gz 167434 BLAKE2B 2b88e9f0060529c2180400290bb975a946666f58f77f7604cf3ea8ae0ad7e44e0d95e18c8911d9630561b9593eb2ec123b5c67d6d195dab480d86fe431ce2531 SHA512 62975a2dacd2a1072c990cd490f866cd5483c069c94a4706baf3ffc21ec43991583a8ef8721c3b841617b0654cbb894698c19759ff12b8887b6fd28939dfb547 +DIST marisa-0.2.6.tar.gz 168332 BLAKE2B 3b8a89a9a0b344d9de96edb5bf17c50db07da373e75eba098f48c9064321d579ac104db622608119377084c79165bf558c804eaff591903b67330b13bc8acf55 SHA512 c094e4b22e1457efdd20f2b978ee421b53e36ed94e4fdbd8944136c0ba23da4f6ba9fe3a2c64729c1426aee4dbe8098bfa5eebb943ae7fdaa4eec760485c564d diff --git a/dev-libs/marisa/marisa-0.2.6.ebuild b/dev-libs/marisa/marisa-0.2.6.ebuild new file mode 100644 index 000000000000..00044d3bada3 --- /dev/null +++ b/dev-libs/marisa/marisa-0.2.6.ebuild @@ -0,0 +1,119 @@ +# Copyright 2014-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +PYTHON_COMPAT=(python{3_6,3_7,3_8,3_9}) +DISTUTILS_OPTIONAL="1" +DISTUTILS_USE_SETUPTOOLS="no" + +inherit autotools distutils-r1 + +if [[ "${PV}" == "9999" ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/s-yata/marisa-trie" +fi + +DESCRIPTION="Matching Algorithm with Recursively Implemented StorAge" +HOMEPAGE="https://github.com/s-yata/marisa-trie https://code.google.com/archive/p/marisa-trie/" +if [[ "${PV}" == "9999" ]]; then + SRC_URI="" +else + SRC_URI="https://github.com/s-yata/marisa-trie/archive/v${PV}.tar.gz -> ${P}.tar.gz" +fi + +LICENSE="|| ( BSD-2 LGPL-2.1+ )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="python static-libs" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +BDEPEND="python? ( + ${PYTHON_DEPS} + dev-lang/swig + )" +DEPEND="python? ( ${PYTHON_DEPS} )" +RDEPEND="${DEPEND}" + +if [[ "${PV}" != "9999" ]]; then + S="${WORKDIR}/marisa-trie-${PV}" +fi + +src_prepare() { + default + eautoreconf + + sed -e "s:^\([[:space:]]*\)libraries=:\1include_dirs=[\"../../include\"],\n\1library_dirs=[\"../../lib/marisa/.libs\"],\n&:" -i bindings/python/setup.py || die + + if use python; then + pushd bindings/python > /dev/null || die + distutils-r1_src_prepare + popd > /dev/null || die + fi +} + +src_configure() { + local -x CPPFLAGS="${CPPFLAGS} ${CXXFLAGS}" + + cpu_instructions_option() { + local option="${1}" + local macros="${2}" + local result="--enable-${option}" + local macro + for macro in ${macros}; do + if ! $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -Eq "^#define ${macro}([[:space:]]|$)"; then + result="--disable-${option}" + fi + done + echo "${result}" + } + + local options=( + $(cpu_instructions_option sse2 __SSE2__) + $(cpu_instructions_option sse3 __SSE3__) + $(cpu_instructions_option ssse3 __SSSE3__) + $(cpu_instructions_option sse4.1 __SSE4_1__) + $(cpu_instructions_option sse4.2 __SSE4_2__) + $(cpu_instructions_option sse4 __POPCNT__ __SSE4_2__) + $(cpu_instructions_option sse4a __SSE4A__) + $(cpu_instructions_option popcnt __POPCNT__) + $(cpu_instructions_option bmi __BMI__) + $(cpu_instructions_option bmi2 __BMI2__) + $(use_enable static-libs static) + ) + + econf "${options[@]}" + + if use python; then + pushd bindings/python > /dev/null || die + distutils-r1_src_configure + popd > /dev/null || die + fi +} + +src_compile() { + default + + if use python; then + emake -C bindings swig-python + pushd bindings/python > /dev/null || die + distutils-r1_src_compile + popd > /dev/null || die + fi +} + +src_install() { + default + find "${ED}" -name "*.la" -delete || die + + ( + docinto html + dodoc docs/* + ) + + if use python; then + pushd bindings/python > /dev/null || die + distutils-r1_src_install + popd > /dev/null || die + fi +} |