summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/oniguruma')
-rw-r--r--dev-libs/oniguruma/Manifest1
-rw-r--r--dev-libs/oniguruma/files/oniguruma-combination-explosion-check.patch13
-rw-r--r--dev-libs/oniguruma/files/oniguruma-gentoo.patch49
-rw-r--r--dev-libs/oniguruma/oniguruma-6.4.0.ebuild42
4 files changed, 105 insertions, 0 deletions
diff --git a/dev-libs/oniguruma/Manifest b/dev-libs/oniguruma/Manifest
index 5c16708829eb..39cbc5282fa0 100644
--- a/dev-libs/oniguruma/Manifest
+++ b/dev-libs/oniguruma/Manifest
@@ -1,2 +1,3 @@
DIST onig-5.9.5.tar.gz 587874 SHA256 9f49ae7819a5f47e25449d0e4b010d479f7868a24a7b9884b47041b49a76438a SHA512 3ba3c94c5e52c80c680ebf1d19be53fa5a94a11d622e0282184c7a9c8cc6676f1926b97d12aafc66514071e65cd7de2bd4632afb053c69b01ddb8b581e878252 WHIRLPOOL 4f8a52fc682c15a96660049159e98ddd9f68170e2cba3948f73f3105a266bce8b4c42329b4dc0d6f94472fd9139bbd9a8ebbf3f7351a95c868e78999ce276ece
DIST onig-5.9.6_p1.tar.gz 605920 SHA256 ac34ae0624296b59ff9ad9a2e93f2b1cdd775ca87057a42d27e551b7a76ff7b4 SHA512 5c874a92acab19e7b228e855cee2d8c55648d3c0c25213127e67bba7f510ec68cb5d64999cf629ffa509745e1b0bd13dd80afbdcef3ba1d4bb8f3d0ee3616f48 WHIRLPOOL be0f030469cbaef0f196190a18725eb4f516b3b78c1a3484fe602462df1ada48fa848fc59f619f0089a352293825f809034c18e5964802fc964032d94e10f03b
+DIST onig-6.4.0.tar.gz 900425 SHA256 cf43ddc5167aea260c4297c76b0dd5e1e6d67aa39319db667347d4d0706ff695 SHA512 476f2110f09eae9b27e0da4b995fa9db46fe6f98f5ef8700b9f1966f9b4bf6db680c6e9e67e1d8d81e759fd8d1787af39c4b38d6681ee4b6405a970c18d583fa WHIRLPOOL bc89b0217a89c70234d2b167fbe68e7588104c812d4df18e64964511cf764786d53a50e87561438d317f435ab30f179990202fc8892b8ab4e85d1cbf8b21c6b9
diff --git a/dev-libs/oniguruma/files/oniguruma-combination-explosion-check.patch b/dev-libs/oniguruma/files/oniguruma-combination-explosion-check.patch
new file mode 100644
index 000000000000..cfc758d2a083
--- /dev/null
+++ b/dev-libs/oniguruma/files/oniguruma-combination-explosion-check.patch
@@ -0,0 +1,13 @@
+--- a/src/regcomp.c
++++ b/src/regcomp.c
+@@ -3619,8 +3619,8 @@
+ switch (en->type) {
+ case ENCLOSURE_MEMORY:
+ {
+- if (env->curr_max_regnum < en->regnum)
+- env->curr_max_regnum = en->regnum;
++ if (env->curr_max_regnum < en->m.regnum)
++ env->curr_max_regnum = en->m.regnum;
+
+ r = setup_comb_exp_check(NODE_ENCLOSURE_BODY(en), state, env);
+ }
diff --git a/dev-libs/oniguruma/files/oniguruma-gentoo.patch b/dev-libs/oniguruma/files/oniguruma-gentoo.patch
new file mode 100644
index 000000000000..5661cea03b54
--- /dev/null
+++ b/dev-libs/oniguruma/files/oniguruma-gentoo.patch
@@ -0,0 +1,49 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -18,7 +18,7 @@
+ AC_ARG_ENABLE(combination-explosion-check,
+ [ --enable-combination-explosion-check enable combination explosion check],
+ [comb_expl_check=$enableval])
+-if test "${comb_expl_check}" = yes; then
++if test "x${comb_expl_check}" = xyes; then
+ AC_DEFINE(USE_COMBINATION_EXPLOSION_CHECK,1,[Define if combination explosion check])
+ fi
+
+@@ -26,7 +26,7 @@
+ AC_ARG_ENABLE(crnl-as-line-terminator,
+ [ --enable-crnl-as-line-terminator enable CR+NL as line terminator],
+ [crnl_as_line_terminator=$enableval])
+-if test "${crnl_as_line_terminator}" = yes; then
++if test "x${crnl_as_line_terminator}" = xyes; then
+ AC_DEFINE(USE_CRNL_AS_LINE_TERMINATOR,1,[Define if enable CR+NL as line terminator])
+ fi
+
+--- a/sample/Makefile.am
++++ b/sample/Makefile.am
+@@ -1,10 +1,10 @@
+ #noinst_PROGRAMS = encode listcap names posix simple sql syntax crnl
+
+-lib_onig = ../src/libonig.la
++lib_onig = $(top_builddir)/src/libonig.la
+ LDADD = $(lib_onig)
+
+ AM_LDFLAGS = -L$(prefix)/lib
+-AM_CPPFLAGS = -I../src -I$(includedir)
++AM_CPPFLAGS = -I$(top_srcdir)/src
+
+ TESTS = encode listcap names posix simple sql syntax user_property bug_fix
+
+--- a/test/Makefile.am
++++ b/test/Makefile.am
+@@ -1,9 +1,9 @@
+ ## Makefile.am for Oniguruma
+-lib_onig = ../src/libonig.la
++lib_onig = $(top_builddir)/src/libonig.la
+
+ AM_LDFLAGS = -L$(prefix)/lib
+ AM_CFLAGS =
+-AM_CPPFLAGS = -I../src -I$(includedir)
++AM_CPPFLAGS = -I$(top_srcdir)/src
+
+ TESTS = testc testp testcu
+
diff --git a/dev-libs/oniguruma/oniguruma-6.4.0.ebuild b/dev-libs/oniguruma/oniguruma-6.4.0.ebuild
new file mode 100644
index 000000000000..9453f68b71c8
--- /dev/null
+++ b/dev-libs/oniguruma/oniguruma-6.4.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit autotools ltprune multilib-minimal
+
+MY_P="onig-${PV}"
+
+DESCRIPTION="a regular expression library for different character encodings"
+HOMEPAGE="https://github.com/kkos/oniguruma"
+SRC_URI="https://github.com/kkos/${PN}/releases/download/v${PV}/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="combination-explosion-check crnl-as-line-terminator static-libs"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-gentoo.patch
+ "${FILESDIR}"/${PN}-combination-explosion-check.patch
+)
+DOCS=( AUTHORS HISTORY README{,.ja} doc/. )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable combination-explosion-check) \
+ $(use_enable crnl-as-line-terminator) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}