summaryrefslogtreecommitdiff
path: root/dev-libs/marisa
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/marisa')
-rw-r--r--dev-libs/marisa/Manifest4
-rw-r--r--dev-libs/marisa/files/marisa-0.2.5-cpu_features_check.patch157
-rw-r--r--dev-libs/marisa/marisa-0.2.5.ebuild108
-rw-r--r--dev-libs/marisa/marisa-9999.ebuild104
4 files changed, 373 insertions, 0 deletions
diff --git a/dev-libs/marisa/Manifest b/dev-libs/marisa/Manifest
index be8b329d27be..56cc948bfa27 100644
--- a/dev-libs/marisa/Manifest
+++ b/dev-libs/marisa/Manifest
@@ -1,4 +1,8 @@
AUX marisa-0.2.4-python.patch 683 BLAKE2B 5d26607877b3f4614a558d085de11360783d2a448749e7a7fed2ac805e4b6dc5d4b89c29c37fe70a34cc4745789b9ff93b4f398860d8014303a4290bbd1196c5 SHA512 fa718a385cfef196833f5a9aa23c31839505a0101df3d25a73616942845668891f818213b89a36689ec93e678289128add1f6450e15fb995233621faaa76d700
+AUX marisa-0.2.5-cpu_features_check.patch 4645 BLAKE2B 3ccd0b23d881d56d2341e1ed87f39acb0324440fd019b94fb7b846cedad756a9bd5c76fcbafac08ea7be294fb58334dfeda02d26ba575beb18df410dc921ca5d SHA512 5098491cddcd53451264d127373b29bed7e2260887494b1f562b94f1ab5d71962ee9fdc5d811d9ea0062c11c14d5cd4a81428da9f04d92ef2efe3a3810e844b2
DIST marisa-0.2.4.tar.gz 502552 BLAKE2B aa8e6ce11c35db41f386d1c5d3ffdf56a940f298e10a7f6b1fa14cb80c27c9c4af1d4d61c58786f96e9598effe26379127c69b8fe72b1ca561a44ee2b9cddc61 SHA512 71aee3ae034d1ce725d986bef43472d61bd64f0af3ccda01bb019cce03f0872629b6a1b305e717056bef06e036372323b2a67e5dc69705d6a74e028b5e2553e4
+DIST marisa-0.2.5.tar.gz 167434 BLAKE2B 2b88e9f0060529c2180400290bb975a946666f58f77f7604cf3ea8ae0ad7e44e0d95e18c8911d9630561b9593eb2ec123b5c67d6d195dab480d86fe431ce2531 SHA512 62975a2dacd2a1072c990cd490f866cd5483c069c94a4706baf3ffc21ec43991583a8ef8721c3b841617b0654cbb894698c19759ff12b8887b6fd28939dfb547
EBUILD marisa-0.2.4.ebuild 2308 BLAKE2B 2ccaed107affdf89a08c081c28d2b8a97c5cedf77662a6149b68cabc0446fe9540d0552cc4e2acc54a9b10ae1e22d3cf3863c6350a0b13645b4155cfcb8a4ad6 SHA512 9040d446400807133f61b1884a52d203c64c7fb81e6533cacd1a096ebbf7b2c50f371abebb62cb239eabac6bcc476944f2f8e56907a66f5b96995ae9dfccfe9d
+EBUILD marisa-0.2.5.ebuild 2234 BLAKE2B 9772704fc76dd4d8fd1e195f75f7e6f1ce6e6df9663ac33cc1111ff2db5d9c1b034a6d86f2c13099061e14545addb0f2c34e898fcca3291fa823f4de8531bfba SHA512 dcbb7759c17ee4556f0975165caab6d213f4a8179a4301ba201180b0975db9bf79b14972db30535f5871fb896cabc706b4448825fbde9723755de1064172e35d
+EBUILD marisa-9999.ebuild 2139 BLAKE2B 08fe3511b7340f07991121f9d84e36bd69a0c6a479ecfdd5f4c044174b501fbe1ff6f44226c33aa7ac20fb2b554be3e038a3d2893476e81cb810cec7f61e2c7d SHA512 3306d92fb8d241f09ad57fd1a8f7004ea85be1481d3f808f07821ce295c42566fceb732e358bc49797617767bf06238fc349f48aa0fb0be3f6ce0570b85d3285
MISC metadata.xml 317 BLAKE2B 16fd28ba01ffdf67af29ea7f6b41be190ecff6ab88706b0cb04b6e9dee5a623087652e666af02cff1c3ed3bd4b42f252adf5fce1b08c2eb9a998e8c112dba922 SHA512 0e782fba322f87cfc0f180f812d0e33630c4295df1f434d497aba1a7f9d922e9674a3c23a821211cbe11d419eee70c25dbabb7508abc7bd56267e9648a1e721c
diff --git a/dev-libs/marisa/files/marisa-0.2.5-cpu_features_check.patch b/dev-libs/marisa/files/marisa-0.2.5-cpu_features_check.patch
new file mode 100644
index 000000000000..dba677221a19
--- /dev/null
+++ b/dev-libs/marisa/files/marisa-0.2.5-cpu_features_check.patch
@@ -0,0 +1,157 @@
+https://github.com/s-yata/marisa-trie/commit/d93f1b67f3aaa2d56bf20089c0ce9ef216da6cb7
+
+--- /configure.ac
++++ /configure.ac
+@@ -13,6 +13,56 @@
+
+ AC_CONFIG_MACRO_DIR([m4])
+
++# Macros for SSE availability check.
++AC_DEFUN([MARISA_ENABLE_SSE2],
++ [AC_EGREP_CPP([yes], [
++#ifdef __SSE2__
++yes
++#endif
++ ], [enable_sse2="yes"], [enable_sse2="no"])])
++AC_DEFUN([MARISA_ENABLE_SSE3],
++ [AC_EGREP_CPP([yes], [
++#ifdef __SSE3__
++yes
++#endif
++ ], [enable_sse3="yes"], [enable_sse3="no"])])
++AC_DEFUN([MARISA_ENABLE_SSSE3],
++ [AC_EGREP_CPP([yes], [
++#ifdef __SSSE3__
++yes
++#endif
++ ], [enable_ssse3="yes"], [enable_ssse3="no"])])
++AC_DEFUN([MARISA_ENABLE_SSE4_1],
++ [AC_EGREP_CPP([yes], [
++#ifdef __SSE4_1__
++yes
++#endif
++ ], [enable_sse4_1="yes"], [enable_sse4_1="no"])])
++AC_DEFUN([MARISA_ENABLE_SSE4_2],
++ [AC_EGREP_CPP([yes], [
++#ifdef __SSE4_2__
++yes
++#endif
++ ], [enable_sse4_2="yes"], [enable_sse4_2="no"])])
++AC_DEFUN([MARISA_ENABLE_SSE4],
++ [AC_EGREP_CPP([yes], [
++#if defined(__POPCNT__) && defined(__SSE4_2__)
++yes
++#endif
++ ], [enable_sse4="yes"], [enable_sse4="no"])])
++AC_DEFUN([MARISA_ENABLE_SSE4A],
++ [AC_EGREP_CPP([yes], [
++#ifdef __SSE4A__
++yes
++#endif
++ ], [enable_sse4a="yes"], [enable_sse4a="no"])])
++AC_DEFUN([MARISA_ENABLE_POPCNT],
++ [AC_EGREP_CPP([yes], [
++#ifdef __POPCNT__
++yes
++#endif
++ ], [enable_popcnt="yes"], [enable_popcnt="no"])])
++
+ # Checks for SSE availability.
+ AC_MSG_CHECKING([whether to use SSE2])
+ AC_ARG_ENABLE([sse2],
+@@ -20,9 +70,7 @@
+ [use SSE2 [default=no]])],
+ [],
+ [enable_sse2="no"])
+-AS_IF([test "x${enable_sse2}" != "xno"], [
+- enable_sse2="yes"
+-])
++AS_IF([test "x${enable_sse2}" != "xno"], [MARISA_ENABLE_SSE2])
+ AC_MSG_RESULT([${enable_sse2}])
+
+ AC_MSG_CHECKING([whether to use SSE3])
+@@ -31,9 +79,7 @@
+ [use SSE3 [default=no]])],
+ [],
+ [enable_sse3="no"])
+-AS_IF([test "x${enable_sse3}" != "xno"], [
+- enable_sse3="yes"
+-])
++AS_IF([test "x${enable_sse3}" != "xno"], [MARISA_ENABLE_SSE3])
+ AC_MSG_RESULT([${enable_sse3}])
+
+ AC_MSG_CHECKING([whether to use SSSE3])
+@@ -42,9 +88,7 @@
+ [use SSSE3 [default=no]])],
+ [],
+ [enable_ssse3="no"])
+-AS_IF([test "x${enable_ssse3}" != "xno"], [
+- enable_ssse3="yes"
+-])
++AS_IF([test "x${enable_ssse3}" != "xno"], [MARISA_ENABLE_SSSE3])
+ AC_MSG_RESULT([${enable_ssse3}])
+
+ AC_MSG_CHECKING([whether to use SSE4.1])
+@@ -53,9 +97,7 @@
+ [use SSE4.1 [default=no]])],
+ [],
+ [enable_sse4_1="no"])
+-AS_IF([test "x${enable_sse4_1}" != "xno"], [
+- enable_sse4_1="yes"
+-])
++AS_IF([test "x${enable_sse4_1}" != "xno"], [MARISA_ENABLE_SSE4_1])
+ AC_MSG_RESULT([${enable_sse4_1}])
+
+ AC_MSG_CHECKING([whether to use SSE4.2])
+@@ -64,9 +106,7 @@
+ [use SSE4.2 [default=no]])],
+ [],
+ [enable_sse4_2="no"])
+-AS_IF([test "x${enable_sse4_2}" != "xno"], [
+- enable_sse4_2="yes"
+-])
++AS_IF([test "x${enable_sse4_2}" != "xno"], [MARISA_ENABLE_SSE4_2])
+ AC_MSG_RESULT([${enable_sse4_2}])
+
+ AC_MSG_CHECKING([whether to use SSE4])
+@@ -75,9 +115,7 @@
+ [use SSE4 [default=no]])],
+ [],
+ [enable_sse4="no"])
+-AS_IF([test "x${enable_sse4}" != "xno"], [
+- enable_sse4="yes"
+-])
++AS_IF([test "x${enable_sse4}" != "xno"], [MARISA_ENABLE_SSE4])
+ AC_MSG_RESULT([${enable_sse4}])
+
+ AC_MSG_CHECKING([whether to use SSE4a])
+@@ -86,9 +124,7 @@
+ [use SSE4a [default=no]])],
+ [],
+ [enable_sse4a="no"])
+-AS_IF([test "x${enable_sse4a}" != "xno"], [
+- enable_sse4a="yes"
+-])
++AS_IF([test "x${enable_sse4a}" != "xno"], [MARISA_ENABLE_SSE4A])
+ AC_MSG_RESULT([${enable_sse4a}])
+
+ AC_MSG_CHECKING([whether to use popcnt])
+@@ -97,9 +133,7 @@
+ [use POPCNT [default=no]])],
+ [],
+ [enable_popcnt="no"])
+-AS_IF([test "x${enable_popcnt}" != "xno"], [
+- enable_popcnt="yes"
+-])
++AS_IF([test "x${enable_popcnt}" != "xno"], [MARISA_ENABLE_POPCNT])
+ AC_MSG_RESULT([${enable_popcnt}])
+
+ AS_IF([test "x${enable_popcnt}" != "xno"], [
+@@ -170,6 +204,7 @@
+ AS_ECHO([" LDFLAGS: ${LDFLAGS}"])
+ AS_ECHO([" PREFIX: ${prefix}"])
+ AS_ECHO([])
++AS_ECHO([" NATIVE: ${enable_native_code}"])
+ AS_ECHO([" SSE2: ${enable_sse2}"])
+ AS_ECHO([" SSE3: ${enable_sse3}"])
+ AS_ECHO([" SSSE3: ${enable_ssse3}"])
diff --git a/dev-libs/marisa/marisa-0.2.5.ebuild b/dev-libs/marisa/marisa-0.2.5.ebuild
new file mode 100644
index 000000000000..90b71175c866
--- /dev/null
+++ b/dev-libs/marisa/marisa-0.2.5.ebuild
@@ -0,0 +1,108 @@
+# Copyright 2014-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+PYTHON_COMPAT=(python{3_6,3_7})
+DISTUTILS_OPTIONAL="1"
+
+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
+
+PATCHES=(
+ "${FILESDIR}/${P}-cpu_features_check.patch"
+)
+
+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}"
+
+ local options=(
+ # Preprocessor macros dependent on CPPFLAGS are checked.
+ --enable-sse2
+ --enable-sse3
+ --enable-ssse3
+ --enable-sse4.1
+ --enable-sse4.2
+ --enable-sse4
+ --enable-sse4a
+ --enable-popcnt
+ $(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 "${D}" -name "*.la" -type f -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
+}
diff --git a/dev-libs/marisa/marisa-9999.ebuild b/dev-libs/marisa/marisa-9999.ebuild
new file mode 100644
index 000000000000..6942f85b198b
--- /dev/null
+++ b/dev-libs/marisa/marisa-9999.ebuild
@@ -0,0 +1,104 @@
+# Copyright 2014-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+PYTHON_COMPAT=(python{3_6,3_7})
+DISTUTILS_OPTIONAL="1"
+
+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=""
+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}"
+
+ local options=(
+ # Preprocessor macros dependent on CPPFLAGS are checked.
+ --enable-sse2
+ --enable-sse3
+ --enable-ssse3
+ --enable-sse4.1
+ --enable-sse4.2
+ --enable-sse4
+ --enable-sse4a
+ --enable-popcnt
+ $(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 "${D}" -name "*.la" -type f -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
+}