summaryrefslogtreecommitdiff
path: root/dev-libs
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/Manifest.gzbin97667 -> 97662 bytes
-rw-r--r--dev-libs/json-c/Manifest4
-rw-r--r--dev-libs/json-c/json-c-0.17.ebuild43
-rw-r--r--dev-libs/json-c/json-c-9999.ebuild23
-rw-r--r--dev-libs/libbpf/Manifest4
-rw-r--r--dev-libs/libbpf/libbpf-1.1.0.ebuild54
-rw-r--r--dev-libs/libbpf/libbpf-1.2.0.ebuild2
-rw-r--r--dev-libs/tinyxml/Manifest2
-rw-r--r--dev-libs/tinyxml/files/tinyxml-2.6.2-CVE-2021-42260.patch23
-rw-r--r--dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild68
10 files changed, 156 insertions, 67 deletions
diff --git a/dev-libs/Manifest.gz b/dev-libs/Manifest.gz
index df1ca1b3692f..d6ef2ed5d839 100644
--- a/dev-libs/Manifest.gz
+++ b/dev-libs/Manifest.gz
Binary files differ
diff --git a/dev-libs/json-c/Manifest b/dev-libs/json-c/Manifest
index 73723079131f..ecf2e2f011df 100644
--- a/dev-libs/json-c/Manifest
+++ b/dev-libs/json-c/Manifest
@@ -1,4 +1,6 @@
DIST json-c-0.16.tar.gz 351916 BLAKE2B 11457fa39330338c85bfdfb0dd38fc703ad6942e730ba090c9fe017dfb81ef905d7b1bb1c768b9b51f6445a8cf3cf4007d7740be3a9878f8062edc62ba554c66 SHA512 255cff99033340b2c2678255d41dae7808f83ed0c102e693d2d9e186bd1f21dd1385fcaa360c0fc087a00965a9567fbda733370e6b518a9be2f1bb0a80439151
+DIST json-c-0.17.tar.gz 390045 BLAKE2B 26be25141447f2b652fa09d7096141a8bf7992469bcc53b275c1bc0108fc36a8898a8185c381218d3146d00fa03bdd0b837be073410fc93af943b5f083dbaa69 SHA512 4cbedd559502bf9014cfcd1d0bb8bb80d2abac4e969d95d4170123cd9cbafb0756b913fdbb83f666d14f674d6539a60ed1c5d0eb03c36b8037a2e00dc1636e19
EBUILD json-c-0.16-r1.ebuild 1015 BLAKE2B eedc8461e221573689072f789e5585f58389befcda995650cc14ea1f37eaf1205702052b2faeebdf4d6083d99173c8072d3b82d5d0452de25860695f8183da4d SHA512 66cb5b5aa00a6f44334e0bdb7081d746e87fda879b1b3bbc5fd0d9ba37523ec2e461eb010b195bc4bcfffbedf0fe0c27363de0a99252690a621b167f1c9626a2
-EBUILD json-c-9999.ebuild 982 BLAKE2B be8f7be7c17ad3adcab6623ab5440d402fcd2aa7f7d71aac45aaf4934c8812788381f84e7d978f68463a7a54b51793a0fa2c18927cd41f441dabaa6182780e75 SHA512 7b0314afa5373240e2f064959f03abb0514f7ac96385ce893133028087398934c8b1f1c01cc8a71717f7df88f7ddf60116816817f3df4badc7fcb389394d37c2
+EBUILD json-c-0.17.ebuild 1133 BLAKE2B dcb8b9b308adc022c71d8b81d794c90a6743b078eac1df544b8b444e9d79bbe9f07efda22e8cca89a4791605ba9282563434b098842220e8c49c3034331c2d89 SHA512 84f5f2f72453b7ad8a68fbab962c35c5d7086b926e5f8d5b68d32d74071bb5ef90f12e5a4ac26a6d71cdb8f3df3734fe4c68a20c949bf4e4e7986c4bfa16b4b6
+EBUILD json-c-9999.ebuild 1214 BLAKE2B af6f1dbfba3d9c60706d96b3247e0cb6b050f1ba9ff607e93ab1b5d4b3d637603beffd289148b70c6234134dcf65d11340d44435892b6d165c5c8c41103c623d SHA512 aa8f87c111619248d56279908039e168783e7adaca98d3e7533cd5eb05c8eacbc6309e523043f3175afbbd1388a62b5227d2f4e26ab4c43728375150e1bfbb95
MISC metadata.xml 1011 BLAKE2B d9f64f6e06a3b1a5bb315e35590426e9e87d777bf2fe73a7f8c57e6730ce99236d071d7d9ddf190e654e39e91d4134fdd07689afa958d6aec69dc5a787e95bf8 SHA512 731afa46afd8fdd519425c1a58f791f4d999333e726426770a0f37e552d640d4a198f6b2eb859dca3c4aca21f3e1fc8ad147de0e07efcede14b5d791b66e4e72
diff --git a/dev-libs/json-c/json-c-0.17.ebuild b/dev-libs/json-c/json-c-0.17.ebuild
new file mode 100644
index 000000000000..9d4e9b6e31a6
--- /dev/null
+++ b/dev-libs/json-c/json-c-0.17.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+DESCRIPTION="A JSON implementation in C"
+HOMEPAGE="https://github.com/json-c/json-c/wiki"
+SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/5"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="cpu_flags_x86_rdrand static-libs threads"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/json-c/config.h
+)
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ # apps are not installed, so disable unconditionally.
+ # https://github.com/json-c/json-c/blob/json-c-0.17-20230812/apps/CMakeLists.txt#L119...L121
+ -DBUILD_APPS=OFF
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DDISABLE_EXTRA_LIBS=ON
+ -DDISABLE_WERROR=ON
+ -DENABLE_RDRAND=$(usex cpu_flags_x86_rdrand)
+ -DENABLE_THREADING=$(usex threads)
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && cmake_src_test
+}
+
+multilib_src_install_all() {
+ HTML_DOCS=( "${S}"/doc/html/. )
+ einstalldocs
+}
diff --git a/dev-libs/json-c/json-c-9999.ebuild b/dev-libs/json-c/json-c-9999.ebuild
index d1cd5a7aa95a..57cba100cf9c 100644
--- a/dev-libs/json-c/json-c-9999.ebuild
+++ b/dev-libs/json-c/json-c-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit cmake-multilib git-r3
+inherit cmake-multilib git-r3 multibuild
DESCRIPTION="A JSON implementation in C"
HOMEPAGE="https://github.com/json-c/json-c/wiki"
@@ -21,11 +21,14 @@ MULTILIB_WRAPPED_HEADERS=(
multilib_src_configure() {
local mycmakeargs=(
- -DDISABLE_WERROR=ON
+ # apps are not installed, so disable unconditionally.
+ # https://github.com/json-c/json-c/blob/json-c-0.17-20230812/apps/CMakeLists.txt#L119...L121
+ -DBUILD_APPS=OFF
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
-DDISABLE_EXTRA_LIBS=ON
- -DENABLE_THREADING=$(usex threads)
+ -DDISABLE_WERROR=ON
-DENABLE_RDRAND=$(usex cpu_flags_x86_rdrand)
- -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DENABLE_THREADING=$(usex threads)
)
cmake_src_configure
@@ -33,14 +36,18 @@ multilib_src_configure() {
multilib_src_compile() {
cmake_src_compile
- use doc && doxygen doc/Doxyfile
+ if use doc && multilib_is_native_abi; then
+ cmake_build doc
+ fi
}
multilib_src_test() {
multilib_is_native_abi && cmake_src_test
}
-multilib_src_install_all() {
- use doc && HTML_DOCS=( "${BUILD_DIR}-abi_x86_64.amd64"/doc/html/. )
- einstalldocs
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ use doc && HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+ einstalldocs
+ fi
}
diff --git a/dev-libs/libbpf/Manifest b/dev-libs/libbpf/Manifest
index ee1056d121bc..4cd926106a9f 100644
--- a/dev-libs/libbpf/Manifest
+++ b/dev-libs/libbpf/Manifest
@@ -1,11 +1,9 @@
AUX libbpf-9999-paths.patch 883 BLAKE2B 663e03ae01afd7be73c281e8b83cf5534717c28f5960b4b7ca5530096840568dedf4e5f58f2139ab56c5f57382a80540294cb492f6ad619f174184172b3441af SHA512 de78131baa08874000cc52b0b21db4055246a653503301bd82c2e8f5818c955d63727d957d7834f1aed63abad42607480911fa0c2ea8d07d833ebd1f8b338039
DIST libbpf-0.8.1.tar.gz 942702 BLAKE2B 084be7d4258500fa894560ed2e52821addcc5d150dcd77fd646271b614d788b7931271be9c3e46fdbc4ed93d053ea3e09023158a8e4a31f9452d10dcb0677b58 SHA512 e3bb602f55215a4f030e564af7321ba6338937c426fcaee478b607f88b0c773c40a0c3f59a2b345bda951a19e79061733f8a3fdc10a6292e92782e65754b584a
-DIST libbpf-1.1.0.tar.gz 2337951 BLAKE2B 70bee4e94c3b372501e1697cec6573fb3292e61236ed210bde4c3a838494cc951571d7c47720c28a47b8e038331775d66d3f4ad24423f5102e1ee708d1981f88 SHA512 751126893883c68e5472724988327e03f7f52becd472f7d6239fa838762f857e54a0347f8f824b8c32ca93b8f419310a86e1d75e3646dae72c2d2992d093b828
DIST libbpf-1.2.0.tar.gz 999623 BLAKE2B cd10fd9133f01d3f8dbd5ed4585e5605c3b9fb0d9f6ee76a49dcb61a0555edfeb85e333f7b8eb069f47a65d0ab24dcdc33502bd660378cd662a366f10de627a4 SHA512 b5291e807a3c83cb80a47e3518a3ab5ad0b0e6157842117c0684c32e525dce0cca199c3c9028390b94a73ff968391aa023312d3b8bd7472aff1c9ee5206c424e
DIST libbpf-1.2.2.tar.gz 1000104 BLAKE2B 45a2ceabd38b3ea55f466de68d0806df6ae802b509063ca12d670ba972bac3dc5c7e518e8c9904915dbc9877c27ea892a7b857aa03d4e86016969b2d278b0b4a SHA512 bc7620207e6f521b9b5baab00bd81346084b8eabf81bff3ec24e5367d389f2a331a0b082798f8bb5d4fea836c3c0cc961fc881abc3a4e05d91152150bdfe47be
EBUILD libbpf-0.8.1.ebuild 1153 BLAKE2B 98da8cd35ab316a4bbf9d4e6a9c40b278ecd1385d8077a16e4582fb9a4209c40ebcf4ec9e24d3312334ace6c2f99da9732e7a9379a0dd478baa66bdd790a4793 SHA512 16a7e9a08fe9d782da9f57727b50592d42c7cfcd5cbf407197c5764e2a7175f0277a116e25379092e0f67adac353513f614d9bfe2edac2990d0fc91d5adc9a26
-EBUILD libbpf-1.1.0.ebuild 1185 BLAKE2B 57c4bfa90f1601343e66e0233c30af684c47688eda103bd2672472cf6a199f8849f0821d2e889e583dc09a4a8e36b9a9f92fb3d1abb6e2db844b5f57c3566489 SHA512 ab6998bfa3a4674c6df8ccfa0b46216779d6ea48d22f33a45836f233f3c755b714aeada2f8950814a083a1a490ca10672df60351b9c8ece555fe98a3a1bb5c27
-EBUILD libbpf-1.2.0.ebuild 1186 BLAKE2B c0d2e703bab0dafcbbe56600e44ed02dd273dba447a2f811cb2a34cb5ee050a06617fc9752d7380a5c9734bdf51e4c422e6e79e76950fd0cb44d313dfba4fedc SHA512 98021877b1452e167d2b0577b888795c45950673ebc09efabcd9722cb937f2e345ad765a5a0bb2f06a2618db47bceb1a8d5c535ffd39aeac780b4c0af429398a
+EBUILD libbpf-1.2.0.ebuild 1185 BLAKE2B 57c4bfa90f1601343e66e0233c30af684c47688eda103bd2672472cf6a199f8849f0821d2e889e583dc09a4a8e36b9a9f92fb3d1abb6e2db844b5f57c3566489 SHA512 ab6998bfa3a4674c6df8ccfa0b46216779d6ea48d22f33a45836f233f3c755b714aeada2f8950814a083a1a490ca10672df60351b9c8ece555fe98a3a1bb5c27
EBUILD libbpf-1.2.2.ebuild 1192 BLAKE2B bd3087d68ed1e96220a836e005d3d5e82c7322159e79d3e43c2ed2d14b02d8103c024f0a43dee77383e2abfc5fb7b12bff2a7925cde32393e9a7bafc87c4c5a3 SHA512 a4623adfec492b597089d4d8a3a30e56d6ecee6065a109d3488ca2e0e719ee72b21a2acc37e75bb9acca0d28e91686b9b904af090aaad6cdb82c992cda877442
EBUILD libbpf-9999.ebuild 1192 BLAKE2B e26a265cb13392e4e90e48ab96cabad38188e9b28ccf40e8e7b11a08117193dbe025f5ab71c09da29a7e3ab2561c154389e87be9b1a1fba8e7d57eb3105a07bb SHA512 955be1dde34476c2b66014f9b3da584ea38459105f49980e29fd943198feb3ee228a6ffb121c9bbce7c109712c37bbc8996f8cc4715eba626bd08aadaa23d7e8
MISC metadata.xml 420 BLAKE2B c61b50bd86dd9d110c35d57a9352ca3862790460f0a6f8e4be9e4ac2eb603fe6c1d6bbe8d77e9fdf32d08e7aaf19349516f25a0fdcb29e2671d71d2c230fc1f5 SHA512 131f77e33aa5b3cbc037a297fe0ed9affbcb956b4c7ddc64889eba5f8315f5090ae4fd7a6054f8961461072ca77d13f8bc6674f3ed27372b7b96c4322c487676
diff --git a/dev-libs/libbpf/libbpf-1.1.0.ebuild b/dev-libs/libbpf/libbpf-1.1.0.ebuild
deleted file mode 100644
index a82b4169cdc1..000000000000
--- a/dev-libs/libbpf/libbpf-1.1.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic toolchain-funcs
-
-if [[ ${PV} =~ [9]{4,} ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
-else
- SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-S="${WORKDIR}/${P}/src"
-
-DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
-HOMEPAGE="https://github.com/libbpf/libbpf"
-
-LICENSE="GPL-2 LGPL-2.1 BSD-2"
-SLOT="0/$(ver_cut 1-2)"
-IUSE="static-libs"
-
-DEPEND="
- sys-kernel/linux-headers
- virtual/libelf"
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/libbpf-9999-paths.patch
-)
-
-src_configure() {
- append-cflags -fPIC
- tc-export CC AR PKG_CONFIG
- export LIBSUBDIR="$(get_libdir)"
- export PREFIX="${EPREFIX}/usr"
- export V=1
-}
-
-src_install() {
- emake \
- DESTDIR="${D}" \
- LIBSUBDIR="${LIBSUBDIR}" \
- install install_uapi_headers
-
- if ! use static-libs; then
- find "${ED}" -name '*.a' -delete || die
- fi
-
- insinto /usr/$(get_libdir)/pkgconfig
- doins ${PN}.pc
-}
diff --git a/dev-libs/libbpf/libbpf-1.2.0.ebuild b/dev-libs/libbpf/libbpf-1.2.0.ebuild
index 4494d21e0199..a82b4169cdc1 100644
--- a/dev-libs/libbpf/libbpf-1.2.0.ebuild
+++ b/dev-libs/libbpf/libbpf-1.2.0.ebuild
@@ -10,7 +10,7 @@ if [[ ${PV} =~ [9]{4,} ]]; then
EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
S="${WORKDIR}/${P}/src"
diff --git a/dev-libs/tinyxml/Manifest b/dev-libs/tinyxml/Manifest
index 21a8dfca9b24..25ec2428ca3b 100644
--- a/dev-libs/tinyxml/Manifest
+++ b/dev-libs/tinyxml/Manifest
@@ -1,7 +1,9 @@
AUX Makefile-3 1054 BLAKE2B 30f94d5ec66a4ab11703c53caccec0ac34a034686dddab9595d9ca2892fbf68b603035f6b80c1d47219c7ca6aeff43830a4096ec1d36fc8d00c19468cf59c1a6 SHA512 81b05e25341095444d0112fe58840d334a14f754cdc0e907b468484655008de026a4b96947de98d009a4a54d84af121ee0a663075fe0ad727894d3aa432426e2
AUX tinyxml-2.6.1-entity.patch 1776 BLAKE2B e8430b2fea965f351c12a0413c3bba43ce19da7e8a0973fae3c7db4b4a8978cbc8b74beb495dd9141e79e90f9ad012b6b5e738207f8075ad7001cb85b424f5be SHA512 e03f4bdfb80354c6d262abb40e6c105cb2d37530e2f1f1d865ff4fd8434320a26957fbc2379db8af1bd18cd3c8662e064e79525831a5fb9fcb4aff46f3eb0809
+AUX tinyxml-2.6.2-CVE-2021-42260.patch 795 BLAKE2B fd73783db5955da369991920b20685457eabff753bf34c342b7de8be1551cf800d36373ac68aa88f566340553b7bac0073b61d5cea70d98c9fe3a4cfe930b310 SHA512 d538d6a811dd9c576122ce2fd304404c4dec95212b423487b9734108e7538e584bea26335d25acc8e4a096602a06af3aae48e317fcf2f2f9975bc96fac85084f
AUX tinyxml-2.6.2-defineSTL.patch 353 BLAKE2B e9a3d63283f7946e04dafa58a7eeda782b02d6d6093bae18fdec727b9e6c6722a4c610230cc43ea8142695f3a0aaa1e9bf11a8f0072ad580acb5428655a3d6e8 SHA512 52cd82ef9e8f1783b3d6042551342a8c592c447e1da352d5d017db4211144bc0a908ddbfe2a4641b3108fb8e02dc47f385a851f920532d94178314255904a6ef
AUX tinyxml.pc.patch 383 BLAKE2B 7f13d388d80605a9576ca6c6dca263d9d1afe87026801f4a5d1db9b341b8bc763c66dfdfef924ce388b30fc453b143f01019ba676f66805fb11270c54d19ecfb SHA512 e423baf55f488fe4788234b8b19819520db3f9a43e677c34dd0bb9250c187c349b796a5c2749b5bee35d468b8676ccc8db7eab8a1094c36f65f63e128572b860
DIST tinyxml_2_6_2.tar.gz 210124 BLAKE2B 84d4ad0174eb38583a4488523410105928b9797f09a2ef84b41156580a40cc11d1d09e28e67512494bd02d7a7e0b208aa6c1ce3383bec12de606491214c16a77 SHA512 133b5db06131a90ad0c2b39b0063f1c8e65e67288a7e5d67e1f7d9ba32af10dc5dfa0462f9723985ee27debe8f09a10a25d4b5a5aaff2ede979b1cebe8e59d56
EBUILD tinyxml-2.6.2-r4.ebuild 1562 BLAKE2B da540b4a34aceadf5d7d6cfd465d1b4902863cfc1337793b3fbb0eb0b35d78f51a64bef8d724b14661416d21017fe0702e2821f3f086fc608b7e4e5a74189e7d SHA512 7f3bf0d6033a5950ba5085ec2c292b70eda2050e632c4d0fd2fac51a1f1271fe787a99a5b304a3f657afa2890a34152cba0cf6dce773546e64b2097ac97adcc3
+EBUILD tinyxml-2.6.2-r5.ebuild 1614 BLAKE2B 9816e8eb0bb8950d5e04e2d174c69b4a3d126735e4f17b9aaccd7adf6937f379331b560b0bd603c967faa092e5be94ee781b69682486e561d9bf5cef3ebc7c1b SHA512 ec761f07f045440595fc2c8561cbe275a8ed1d3520a1c4215327bf9b5b127678b1c728924272d9e714954fb0a388b696b3bfe37bd73981fa41cc06a190cb854c
MISC metadata.xml 406 BLAKE2B a9c50ef75e9049b1cc89df08b71e7640581c5f34fadcb0cd9fd9f29679bc3a1122db2e8fe8ad1ed738a9f4fe39771a8b4980fa4f2cb387e3e464c92a492b833c SHA512 b589dec8ab67f4e0aa9e073f55ed147ef22b08aa9adabb3270bb83d50a17da967e364ab131815c3a9ee32c8c61b0f3ec6ec6e3d7f4d8dd0fe5daaaa5420a89c0
diff --git a/dev-libs/tinyxml/files/tinyxml-2.6.2-CVE-2021-42260.patch b/dev-libs/tinyxml/files/tinyxml-2.6.2-CVE-2021-42260.patch
new file mode 100644
index 000000000000..d9eeb45c73b5
--- /dev/null
+++ b/dev-libs/tinyxml/files/tinyxml-2.6.2-CVE-2021-42260.patch
@@ -0,0 +1,23 @@
+Description: In stamp always advance the pointer if *p= 0xef
+ .
+ The current implementation only advanced if 0xef is followed
+ by two non-zero bytes. In case of malformed input (0xef should be
+ the start byte of a three byte character) this leads to an infinite
+ loop. (CVE-2021-42260)
+Origin: https://sourceforge.net/p/tinyxml/git/merge-requests/1/
+
+--- a/tinyxmlparser.cpp
++++ b/tinyxmlparser.cpp
+@@ -274,6 +274,12 @@ void TiXmlParsingData::Stamp( const char* now, TiXmlEncoding encoding )
+ else
+ { p +=3; ++col; } // A normal character.
+ }
++ else
++ {
++ // TIXML_UTF_LEAD_0 (239) is the start character of a 3 byte sequence, so
++ // there is something wrong here. Just advance the pointer to evade infinite loops
++ ++p;
++ }
+ }
+ else
+ {
diff --git a/dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild b/dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild
new file mode 100644
index 000000000000..53f7786a222c
--- /dev/null
+++ b/dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs multilib
+
+DESCRIPTION="Simple and small C++ XML parser"
+HOMEPAGE="http://www.grinninglizard.com/tinyxml/index.html"
+SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV//./_}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="debug doc static-libs +stl"
+
+BDEPEND="doc? ( app-doc/doxygen )"
+
+S="${WORKDIR}/${PN}"
+
+DOCS=( "changes.txt" "readme.txt" )
+
+src_prepare() {
+ local major_v=$(ver_cut 1)
+ local minor_v=$(ver_cut 2-3)
+
+ sed -e "s:@MAJOR_V@:$major_v:" \
+ -e "s:@MINOR_V@:$minor_v:" \
+ "${FILESDIR}"/Makefile-3 > Makefile || die
+
+ eapply -p0 "${FILESDIR}"/${PN}-2.6.1-entity.patch
+ eapply -p0 "${FILESDIR}"/${PN}.pc.patch
+ eapply "${FILESDIR}"/${P}-CVE-2021-42260.patch
+
+ use debug && append-cppflags -DDEBUG
+ use stl && eapply "${FILESDIR}"/${P}-defineSTL.patch
+
+ sed -e "s:/lib:/$(get_libdir):g" -i tinyxml.pc || die # bug 738948
+ if use stl; then
+ sed -e "s/Cflags: -I\${includedir}/Cflags: -I\${includedir} -DTIXML_USE_STL=YES/g" -i tinyxml.pc || die
+ fi
+
+ if ! use static-libs; then
+ sed -e "/^all:/s/\$(name).a //" -i Makefile || die
+ fi
+
+ tc-export AR CXX RANLIB
+
+ [[ ${CHOST} == *-darwin* ]] && export LIBDIR="${EPREFIX}"/usr/$(get_libdir)
+ eapply_user
+}
+
+src_install() {
+ dolib.so *$(get_libname)*
+
+ insinto /usr/include
+ doins *.h
+
+ insinto /usr/share/pkgconfig
+ doins tinyxml.pc
+
+ einstalldocs
+
+ if use doc ; then
+ docinto html
+ dodoc -r docs/*
+ fi
+}