diff options
author | Sebastian Pipping <sping@gentoo.org> | 2024-11-07 03:05:05 +0100 |
---|---|---|
committer | Sebastian Pipping <sping@gentoo.org> | 2024-11-07 03:05:05 +0100 |
commit | 7095ab195b38b062d3662884f64d7cb3d8c3bca3 (patch) | |
tree | 7401baf7ef2ec908d46542d7b582ff759bf3d470 /dev-libs/expat | |
parent | sys-fabric/mstflint: add 4.30.0_p1 (diff) | |
download | gentoo-7095ab195b38b062d3662884f64d7cb3d8c3bca3.tar.gz gentoo-7095ab195b38b062d3662884f64d7cb3d8c3bca3.tar.bz2 gentoo-7095ab195b38b062d3662884f64d7cb3d8c3bca3.zip |
dev-libs/expat: 2.6.4 with fix for CVE-2024-50602
Bug: https://bugs.gentoo.org/942969
Signed-off-by: Sebastian Pipping <sping@gentoo.org>
Diffstat (limited to 'dev-libs/expat')
-rw-r--r-- | dev-libs/expat/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/expat/expat-2.6.4.ebuild | 100 |
2 files changed, 101 insertions, 0 deletions
diff --git a/dev-libs/expat/Manifest b/dev-libs/expat/Manifest index 3b4fe5ee888d..89616753658b 100644 --- a/dev-libs/expat/Manifest +++ b/dev-libs/expat/Manifest @@ -1 +1,2 @@ DIST expat-2.6.3.tar.xz 485600 BLAKE2B b8e0a0e779f0f136eaca91115cbbcf5a5cca457cab1cca6f8d6141151d19f8ef2dccb41b0e9134459c1e7d99cb2e0b4ce3922d2bd9221002ec43fe9d53a0084a SHA512 e02c4ad88f9d539258aa1c1db71ded7770a8f12c77b5535e5b34f040ae5b1361ef23132f16d96bdb7c096a83acd637a7c907916bdfcc6d5cfb9e35d04020ca0b +DIST expat-2.6.4.tar.xz 486732 BLAKE2B 70d716722358db8d0acb2c74dbbc9d2362d04a0b856eab6b6d723614b656cf6aad9f6646339e0a32b4151db2e9541439bcb81ec87791e5e6ec0bd36a3ca067cc SHA512 620da34d98524478b445038bf1dd439790fe11169496516425fca922226797835c27549fc5fb825792b516563b24eb922d9ad8f27d20a0229e7ee8cd640dfb25 diff --git a/dev-libs/expat/expat-2.6.4.ebuild b/dev-libs/expat/expat-2.6.4.ebuild new file mode 100644 index 000000000000..5f80573e713b --- /dev/null +++ b/dev-libs/expat/expat-2.6.4.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2024 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 +} |