commit:     bbe241ea7747494b118969bf2cf4e03118a0267a
Author:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 13 21:37:23 2025 +0000
Commit:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Thu Mar 13 21:43:16 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbe241ea

dev-libs/expat: 2.7.0 (CVE-2024-8176)

Bug: https://bugs.gentoo.org/951316
Signed-off-by: Sebastian Pipping <sping <AT> gentoo.org>

 dev-libs/expat/Manifest           |   1 +
 dev-libs/expat/expat-2.7.0.ebuild | 100 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 101 insertions(+)

diff --git a/dev-libs/expat/Manifest b/dev-libs/expat/Manifest
index 89616753658b..d99d8c031910 100644
--- a/dev-libs/expat/Manifest
+++ b/dev-libs/expat/Manifest
@@ -1,2 +1,3 @@
 DIST expat-2.6.3.tar.xz 485600 BLAKE2B 
b8e0a0e779f0f136eaca91115cbbcf5a5cca457cab1cca6f8d6141151d19f8ef2dccb41b0e9134459c1e7d99cb2e0b4ce3922d2bd9221002ec43fe9d53a0084a
 SHA512 
e02c4ad88f9d539258aa1c1db71ded7770a8f12c77b5535e5b34f040ae5b1361ef23132f16d96bdb7c096a83acd637a7c907916bdfcc6d5cfb9e35d04020ca0b
 DIST expat-2.6.4.tar.xz 486732 BLAKE2B 
70d716722358db8d0acb2c74dbbc9d2362d04a0b856eab6b6d723614b656cf6aad9f6646339e0a32b4151db2e9541439bcb81ec87791e5e6ec0bd36a3ca067cc
 SHA512 
620da34d98524478b445038bf1dd439790fe11169496516425fca922226797835c27549fc5fb825792b516563b24eb922d9ad8f27d20a0229e7ee8cd640dfb25
+DIST expat-2.7.0.tar.xz 493060 BLAKE2B 
44567e955b8cf2053665140b3557897c6e0e66c7e2ba5919970d91d55a05bb8db604afa37a441ff0a7abf4472b24b0e1e6c3964c56b4bb55358c000ccdc1459d
 SHA512 
69fb19c2634821b657f550f609d0bcc6e45e9d903072bbc63e9a0bfc92ef7d04c6e1408dd39eb43eaa2951f28ae93dce4f796c9769253f440905db2d5606a4c7

diff --git a/dev-libs/expat/expat-2.7.0.ebuild 
b/dev-libs/expat/expat-2.7.0.ebuild
new file mode 100644
index 000000000000..b1f4eada1914
--- /dev/null
+++ b/dev-libs/expat/expat-2.7.0.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+AUTOTOOLS_AUTO_DEPEND=no
+inherit autotools multilib-minimal
+
+DESCRIPTION="Stream-oriented XML parser library"
+HOMEPAGE="https://libexpat.github.io/";
+SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/expat-${PV}.tar.xz";
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos 
~x64-macos ~x64-solaris"
+IUSE="examples static-libs test unicode"
+RESTRICT="!test? ( test )"
+BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )"
+
+DOCS=( README.md )
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+       # https://bugs.gentoo.org/906384
+       arc4random
+       arc4random_buf
+)
+
+src_prepare() {
+       default
+
+       # fix interpreter to be a recent/good shell
+       sed -i -e "1s:/bin/sh:${BASH}:" conftools/get-version.sh || die
+       if use unicode; then
+               cp -R "${S}" "${S}"w || die
+               pushd "${S}"w >/dev/null
+               find -name Makefile.am \
+                       -exec sed \
+                       -e 's,libexpat\.la,libexpatw.la,' \
+                       -e 's,libexpat_la,libexpatw_la,' \
+                       -i {} + || die
+               eautoreconf
+               popd >/dev/null
+       fi
+}
+
+multilib_src_configure() {
+       local myconf="$(use_with test tests) $(use_enable static-libs static) 
--without-docbook"
+
+       mkdir -p "${BUILD_DIR}"w || die
+
+       if use unicode; then
+               pushd "${BUILD_DIR}"w >/dev/null
+               CPPFLAGS="${CPPFLAGS} -DXML_UNICODE" ECONF_SOURCE="${S}"w econf 
${myconf}
+               popd >/dev/null
+       fi
+
+       ECONF_SOURCE="${S}" econf ${myconf}
+}
+
+multilib_src_compile() {
+       emake
+
+       if use unicode; then
+               pushd "${BUILD_DIR}"w >/dev/null
+               emake -C lib
+               popd >/dev/null
+       fi
+}
+
+multilib_src_install() {
+       emake install DESTDIR="${D}"
+
+       if use unicode; then
+               pushd "${BUILD_DIR}"w >/dev/null
+               emake -C lib install DESTDIR="${D}"
+               popd >/dev/null
+
+               pushd "${ED}"/usr/$(get_libdir)/pkgconfig >/dev/null
+               cp expat.pc expatw.pc
+               sed -i -e '/^Libs/s:-lexpat:&w:' expatw.pc || die
+               popd >/dev/null
+       fi
+}
+
+multilib_src_install_all() {
+       einstalldocs
+
+       doman doc/xmlwf.1
+
+       # Note: Use of HTML_DOCS would add unwanted "doc" subfolder
+       docinto html
+       dodoc doc/*.{css,html}
+
+       if use examples; then
+               docinto examples
+               dodoc examples/*.c
+               docompress -x usr/share/doc/${PF}/examples
+       fi
+
+       find "${D}" -name '*.la' -type f -delete || die
+}

Reply via email to