summaryrefslogtreecommitdiff
path: root/dev-libs/oniguruma
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-11-22 03:03:01 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-11-22 03:03:01 +0000
commitc7a7ec40cf928d8fc6a8241aa208272c008c7b4d (patch)
tree72e31c496e32182b70cfe385fbf03517b43bdddb /dev-libs/oniguruma
parent9db1279f804d62da2c61cfb39fc2e62b9faf56dd (diff)
gentoo auto-resync : 22:11:2024 - 03:03:01
Diffstat (limited to 'dev-libs/oniguruma')
-rw-r--r--dev-libs/oniguruma/Manifest2
-rw-r--r--dev-libs/oniguruma/files/oniguruma-6.9.9-c23.patch170
-rw-r--r--dev-libs/oniguruma/oniguruma-6.9.9-r1.ebuild59
3 files changed, 231 insertions, 0 deletions
diff --git a/dev-libs/oniguruma/Manifest b/dev-libs/oniguruma/Manifest
index c8d221d1c614..017f4c3c59f9 100644
--- a/dev-libs/oniguruma/Manifest
+++ b/dev-libs/oniguruma/Manifest
@@ -1,4 +1,6 @@
+AUX oniguruma-6.9.9-c23.patch 5087 BLAKE2B 0325ccbce315100848b6119e6b572cfa36012b9dce59e7695a5b1821c3cf16268d1f243c7d8f6d02f5aa63ed52c9e0bda6b5d61ccfa98d2e6b766de9cbd08a42 SHA512 e86bb94cdbb4884b30ae68787efb5e04ba99ea5fd25d645c0586bb84296d45656f1695d7f93fe37113dfb9567da8fa921ab06af4b508a59dea354e7a785599c4
DIST onig-6.9.9.tar.gz 957444 BLAKE2B d31f4caf5e14477ec1fd40ab764137b49046ac759f487432a129ebdf6da89b128218bb14b08f9359ac0b87286bcd309faa3878b26528926aab6f7d2e25e722b0 SHA512 14d2afd0d2cf86012c9959f221e9a77e7787e709c9dd7295d159e0a9ba89df52fa3edc59f95a6d859c34181e2e2e53e21b932b3eceb4d6ddeb2a3445ef951e95
+EBUILD oniguruma-6.9.9-r1.ebuild 1348 BLAKE2B bde9bdaa32117f58eae2ec27ff9d0a066ab2b54157117d369de1045a2a1d87f82c87ab5d9ab935a9c37cc0e50678bd701844217f4c595dfb6a57874f63b8b5b9 SHA512 dc172ed09719f0a53244a083a7d1380c16e7e64d77c38d36eee80a67a89330b16be7993b27ae832be737b5331178ca1bdd1f785df3a951ad843a05ecfff85747
EBUILD oniguruma-6.9.9.ebuild 1297 BLAKE2B 42b1f76a60d451cb8e25510cf0ea812b594245ae097671901640c8436ee3647fd9130173443070b42e39b839047a8559d8860837c85c4599ab2f15f3275023cd SHA512 175cfc9c56b342d9e7886b8d9a57d9f5035bfec7921c46b97fed3cad82faeff9b70bbd0879ff8edaff5bbd9edb26d4e1fc081e80877f66f5ceea49cf24865fb1
EBUILD oniguruma-9999.ebuild 1152 BLAKE2B c2910ecee5175e00896f5e91c712c9d1c284a37e44673f3609e45cf1fb935c46189daaba27792f468f1aa60c80c7a9cadef881abbad026cebc56cb8733317046 SHA512 0c49cf1fc620e9e8b1ef78193abc4cf6f9d92c5aea38f2a6914241c6f7bc074c7acec0e79183c996973eec80f2bccb70be7492af05bd999558813e60621e2166
MISC metadata.xml 837 BLAKE2B 6c937ae2202a036021c8f0e2c1c131d2a6d042a3e587f5067ee6f91eb34256991119c3df36de5a162875ec7dec7f6f6e715bf0b910d41c29c5559d3fcce81df3 SHA512 49912ed7752c75b91393fb2b2ade39aba6464ecf82b2410fa80d29784fa0e0e87c49b02161a3366c98b6a17f298f6c75ee55c935546601994e048ca5e516bde6
diff --git a/dev-libs/oniguruma/files/oniguruma-6.9.9-c23.patch b/dev-libs/oniguruma/files/oniguruma-6.9.9-c23.patch
new file mode 100644
index 000000000000..e5ced7df2136
--- /dev/null
+++ b/dev-libs/oniguruma/files/oniguruma-6.9.9-c23.patch
@@ -0,0 +1,170 @@
+https://github.com/kkos/oniguruma/issues/312
+https://github.com/kkos/oniguruma/commit/5f1408dee4a01dee60c4cd67f2e2e46484ef50a5
+https://github.com/kkos/oniguruma/commit/b803288174dcef9b56836aee1ee78a4f3256d8f6
+
+From 5f1408dee4a01dee60c4cd67f2e2e46484ef50a5 Mon Sep 17 00:00:00 2001
+From: "K.Kosako" <kkosako0@gmail.com>
+Date: Mon, 18 Nov 2024 00:18:12 +0900
+Subject: [PATCH] fix #312: Build failure with GCC 15 (C23)
+
+---
+ src/regparse.c | 44 ++++++++++++++++++++++++++++++++++++--------
+ src/st.h | 9 +--------
+ 2 files changed, 37 insertions(+), 16 deletions(-)
+
+diff --git a/src/regparse.c b/src/regparse.c
+index 24bcbaac..9acdd6e2 100644
+--- a/src/regparse.c
++++ b/src/regparse.c
+@@ -793,8 +793,13 @@ onig_print_names(FILE* fp, regex_t* reg)
+ #endif /* ONIG_DEBUG */
+
+ static int
+-i_free_name_entry(UChar* key, NameEntry* e, void* arg ARG_UNUSED)
++i_free_name_entry(st_data_t akey, st_data_t ae, st_data_t arg ARG_UNUSED)
+ {
++ UChar* key;
++ NameEntry* e;
++
++ key = (UChar* )akey;
++ e = (NameEntry* )ae;
+ xfree(e->name);
+ if (IS_NOT_NULL(e->back_refs)) xfree(e->back_refs);
+ xfree(key);
+@@ -850,8 +855,14 @@ typedef struct {
+ } INamesArg;
+
+ static int
+-i_names(UChar* key ARG_UNUSED, NameEntry* e, INamesArg* arg)
++i_names(st_data_t key ARG_UNUSED, st_data_t ae, st_data_t aarg)
+ {
++ NameEntry* e;
++ INamesArg* arg;
++
++ e = (NameEntry* )ae;
++ arg = (INamesArg* )aarg;
++
+ int r = (*(arg->func))(e->name,
+ e->name + e->name_len,
+ e->back_num,
+@@ -883,9 +894,14 @@ onig_foreach_name(regex_t* reg,
+ }
+
+ static int
+-i_renumber_name(UChar* key ARG_UNUSED, NameEntry* e, GroupNumMap* map)
++i_renumber_name(st_data_t key ARG_UNUSED, st_data_t ae, st_data_t amap)
+ {
+ int i;
++ NameEntry* e;
++ GroupNumMap* map;
++
++ e = (NameEntry* )ae;
++ map = (GroupNumMap* )amap;
+
+ if (e->back_num > 1) {
+ for (i = 0; i < e->back_num; i++) {
+@@ -1374,9 +1390,14 @@ static int CalloutNameIDCounter;
+ #ifdef USE_ST_LIBRARY
+
+ static int
+-i_free_callout_name_entry(st_callout_name_key* key, CalloutNameEntry* e,
+- void* arg ARG_UNUSED)
++i_free_callout_name_entry(st_data_t akey, st_data_t ae, st_data_t arg ARG_UNUSED)
+ {
++ st_callout_name_key* key;
++ CalloutNameEntry* e;
++
++ key = (st_callout_name_key* )akey;
++ e = (CalloutNameEntry* )ae;
++
+ if (IS_NOT_NULL(e)) {
+ xfree(e->name);
+ }
+@@ -1870,10 +1891,14 @@ typedef intptr_t CalloutTagVal;
+ #define CALLOUT_TAG_LIST_FLAG_TAG_EXIST (1<<0)
+
+ static int
+-i_callout_callout_list_set(UChar* key, CalloutTagVal e, void* arg)
++i_callout_callout_list_set(st_data_t key ARG_UNUSED, st_data_t ae, st_data_t arg)
+ {
+ int num;
+- RegexExt* ext = (RegexExt* )arg;
++ CalloutTagVal e;
++ RegexExt* ext;
++
++ e = (CalloutTagVal )ae;
++ ext = (RegexExt* )arg;
+
+ num = (int )e - 1;
+ ext->callout_list[num].flag |= CALLOUT_TAG_LIST_FLAG_TAG_EXIST;
+@@ -1926,8 +1951,11 @@ onig_callout_tag_is_exist_at_callout_num(regex_t* reg, int callout_num)
+ }
+
+ static int
+-i_free_callout_tag_entry(UChar* key, CalloutTagVal e, void* arg ARG_UNUSED)
++i_free_callout_tag_entry(st_data_t akey, st_data_t e ARG_UNUSED, st_data_t arg ARG_UNUSED)
+ {
++ UChar* key;
++
++ key = (UChar* )akey;
+ xfree(key);
+ return ST_DELETE;
+ }
+diff --git a/src/st.h b/src/st.h
+index 5efee8bb..70798dc5 100644
+--- a/src/st.h
++++ b/src/st.h
+@@ -34,13 +34,6 @@ enum st_retval {ST_CONTINUE, ST_STOP, ST_DELETE, ST_CHECK};
+ #ifndef _
+ # define _(args) args
+ #endif
+-#ifndef ANYARGS
+-# ifdef __cplusplus
+-# define ANYARGS ...
+-# else
+-# define ANYARGS
+-# endif
+-#endif
+
+ st_table *st_init_table _((struct st_hash_type *));
+ st_table *st_init_table_with_size _((struct st_hash_type *, int));
+@@ -52,7 +45,7 @@ int st_delete _((st_table *, st_data_t *, st_data_t *));
+ int st_delete_safe _((st_table *, st_data_t *, st_data_t *, st_data_t));
+ int st_insert _((st_table *, st_data_t, st_data_t));
+ int st_lookup _((st_table *, st_data_t, st_data_t *));
+-int st_foreach _((st_table *, int (*)(ANYARGS), st_data_t));
++int st_foreach _((st_table *, int (*)(st_data_t, st_data_t, st_data_t), st_data_t));
+ void st_add_direct _((st_table *, st_data_t, st_data_t));
+ void st_free_table _((st_table *));
+ void st_cleanup_safe _((st_table *, st_data_t));
+
+From b803288174dcef9b56836aee1ee78a4f3256d8f6 Mon Sep 17 00:00:00 2001
+From: "K.Kosako" <kkosako0@gmail.com>
+Date: Tue, 19 Nov 2024 00:01:17 +0900
+Subject: [PATCH] follow up previous fix
+
+---
+ src/regparse.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/regparse.c b/src/regparse.c
+index 9acdd6e2..1d00b82a 100644
+--- a/src/regparse.c
++++ b/src/regparse.c
+@@ -758,10 +758,14 @@ typedef st_data_t HashDataType; /* 1.6 st.h doesn't define st_data_t type */
+
+ #ifdef ONIG_DEBUG
+ static int
+-i_print_name_entry(UChar* key, NameEntry* e, void* arg)
++i_print_name_entry(st_data_t akey, st_data_t ae, st_data_t arg)
+ {
+ int i;
+- FILE* fp = (FILE* )arg;
++ FILE* fp;
++ NameEntry* e;
++
++ e = (NameEntry* )ae;
++ fp = (FILE* )arg;
+
+ fprintf(fp, "%s: ", e->name);
+ if (e->back_num == 0)
diff --git a/dev-libs/oniguruma/oniguruma-6.9.9-r1.ebuild b/dev-libs/oniguruma/oniguruma-6.9.9-r1.ebuild
new file mode 100644
index 000000000000..97b563b60daf
--- /dev/null
+++ b/dev-libs/oniguruma/oniguruma-6.9.9-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2003-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit multilib-minimal
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit autotools git-r3
+
+ EGIT_REPO_URI="https://github.com/kkos/oniguruma"
+fi
+
+DESCRIPTION="Regular expression library for different character encodings"
+HOMEPAGE="https://github.com/kkos/oniguruma"
+if [[ "${PV}" == "9999" ]]; then
+ SRC_URI=""
+else
+ SRC_URI="https://github.com/kkos/${PN}/releases/download/v${PV}/onig-${PV}.tar.gz"
+fi
+
+LICENSE="BSD-2"
+SLOT="0/5"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="crnl-as-line-terminator static-libs"
+
+BDEPEND=""
+DEPEND=""
+RDEPEND=""
+
+if [[ "${PV}" != "9999" ]]; then
+ S="${WORKDIR}/onig-${PV}"
+fi
+
+DOCS=(AUTHORS HISTORY README{,_japanese} doc/{API,CALLOUTS.API,CALLOUTS.BUILTIN,FAQ,RE}{,.ja} doc/{SYNTAX.md,UNICODE_PROPERTIES})
+
+PATCHES=(
+ "${FILESDIR}"/${P}-c23.patch
+)
+
+src_prepare() {
+ default
+
+ if [[ "${PV}" == "9999" ]]; then
+ eautoreconf
+ fi
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --enable-posix-api \
+ $(use_enable crnl-as-line-terminator) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -name "*.la" -delete || die
+}