commit:     da6c3ff9651e40ded9cb5e6ea16ae8e247232b68
Author:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
AuthorDate: Sun May 23 17:25:07 2021 +0000
Commit:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Sun May 23 17:29:26 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da6c3ff9

dev-libs/expat: 2.4.1

Ping https://github.com/libexpat/libexpat/issues/491
Signed-off-by: Sebastian Pipping <sping <AT> gentoo.org>
Package-Manager: Portage-3.0.18, Repoman-3.0.3

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

diff --git a/dev-libs/expat/Manifest b/dev-libs/expat/Manifest
index 8aa278d5e46..b17ad0f744c 100644
--- a/dev-libs/expat/Manifest
+++ b/dev-libs/expat/Manifest
@@ -1,2 +1,3 @@
 DIST expat-2.2.10.tar.xz 425432 BLAKE2B 
5d84d7dec5aae6ca7906bd2a2b8a249457111e064295b83b6c9927b5ef0dc97e7220bac1da17781e24541259ae81b60a2314cd372bfbdfc2e08fab082377df4a
 SHA512 
a8e0c8a9cf7e6fbacdc6e709f3c99c533ab550fba52557d24259bb8b360f9697624c7500c0e9886fa57ee2b529aadd0d1835d66fe8112e15c20df75cd3eb090f
 DIST expat-2.3.0.tar.xz 433508 BLAKE2B 
b547cbca23f2ca11bef326225b8e2958a3539dbb14789c33fb0f2aede35bfbe12981d151624b0497ab2ad488ec06529ae2a996e514b19b39622ae7fc29f47832
 SHA512 
dde8a9a094b18d795a0e86ca4aa68488b352dc67019e0d669e8b910ed149628de4c2a49bc3a5b832f624319336a01f9e4debe03433a43e1c420f36356d886820
+DIST expat-2.4.1.tar.xz 445024 BLAKE2B 
2ae66d284a03176ef7290093f59bb7ad98011dfbf3c7c3515ba4e4b99f849474def6ce6d9844c944fed22d86ac4ea1a38863646be914d9432eda7b69d890be65
 SHA512 
9dc760dbf701f75e55c4479d81417622f8c750d8473498458a382a4c2932a2976a059cb3589f88855188e5173ec7868d285c4601428e0ca625df7a59cf975191

diff --git a/dev-libs/expat/expat-2.4.1.ebuild 
b/dev-libs/expat/expat-2.4.1.ebuild
new file mode 100644
index 00000000000..b92f1963173
--- /dev/null
+++ b/dev-libs/expat/expat-2.4.1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+AUTOTOOLS_AUTO_DEPEND=no
+AT_NOEAUTOHEADER=yes  # because expat_config.h.in would need post-processing
+inherit autotools multilib-minimal usr-ldscript
+
+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 ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="elibc_FreeBSD examples static-libs unicode"
+BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )"
+
+DOCS=( README.md )
+
+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_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
+
+       if multilib_is_native_abi ; then
+               # libgeom in /lib and ifconfig in /sbin require libexpat on 
FreeBSD since
+               # we stripped the libbsdxml copy starting from 
freebsd-lib-8.2-r1
+               use elibc_FreeBSD && gen_usr_ldscript -a expat
+       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