dev-libs/expat: 2.2.7
authorSebastian Pipping <sping@gentoo.org>
Thu, 20 Jun 2019 20:01:38 +0000 (22:01 +0200)
committerSebastian Pipping <sping@gentoo.org>
Thu, 20 Jun 2019 20:02:29 +0000 (22:02 +0200)
Ping: https://github.com/libexpat/libexpat/issues/254
Signed-off-by: Sebastian Pipping <sping@gentoo.org>
Package-Manager: Portage-2.3.67, Repoman-2.3.12

dev-libs/expat/Manifest
dev-libs/expat/expat-2.2.7.ebuild [new file with mode: 0644]

index 438f8571d79f57f1bb4dde9e1b797323190170db..e69402c23daec40a9a2c6d7d608139db44c0cd4a 100644 (file)
@@ -1 +1,2 @@
 DIST expat-2.2.6.tar.bz2 513322 BLAKE2B 386736da1f2204fa8f15ee4d1b3d11f01ed691efe6951b9f24f2bd30ab5494e75da6a97ceb1ffe4a0a8ecdc80f96f51d21c54f35a2cbc352a9fe9425545bf15b SHA512 dbfb635a5fe7b190722664263a0dd437b512fdf519bc53bd4905567f4bfb4b1e89a021562da63df8cacd48b706d1dea60ccde47f279e57400ad3c846b6e9c4e6
+DIST expat-2.2.7.tar.xz 424264 BLAKE2B acf2fa5cf374a671603f4a12b81239ba3b1634bab66d736e87fb516ce52d599711b3014218bef822640781b8852c7238b6f071b5bd439a13838fcbc7767d06a7 SHA512 bf3af5b5a8e1a1b76658a41f67dbe7b10104e3b724e1882f529fecc509b07c75dde02d8f8b89b1522e05484e8dc417d47651c5f8d4aac1749676ba5c4752c107
diff --git a/dev-libs/expat/expat-2.2.7.ebuild b/dev-libs/expat/expat-2.2.7.ebuild
new file mode 100644 (file)
index 0000000..47730ae
--- /dev/null
@@ -0,0 +1,96 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools eutils libtool multilib toolchain-funcs 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 ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="elibc_FreeBSD examples static-libs unicode"
+DEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )"
+RDEPEND=""
+
+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
+
+       # Note: Use of HTML_DOCS would add unwanted "doc" subfolder
+       docinto html
+       dodoc doc/*.{css,html,png}
+
+       if use examples; then
+               insinto /usr/share/doc/${PF}/examples
+               doins examples/*.c
+       fi
+
+       find "${D}" -name '*.la' -type f -delete || die
+}