summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>2020-11-12 03:00:00 +0000
committerMike Gilbert <floppym@gentoo.org>2020-11-12 16:54:34 -0500
commit16a4c00c233ba738b080d27cedd0fa2aaf5eba0f (patch)
treeb5ad2f4c8c791821de766ba9bd9bdde493d8f223 /dev-libs/marisa
parentdev-libs/marisa: Update code for selection of CPU instructions. (diff)
downloadgentoo-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/Manifest1
-rw-r--r--dev-libs/marisa/marisa-0.2.6.ebuild119
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
+}