# Contributor: Carlo Landmeter # Maintainer: Carlo Landmeter pkgname=libxml2 pkgver=2.9.7 pkgrel=0 pkgdesc="XML parsing library, version 2" url="http://www.xmlsoft.org/" arch="all" license="MIT" depends= depends_dev="zlib-dev" checkdepends="perl tar" makedepends="$depends_dev python2-dev python3-dev" subpackages="$pkgname-dbg $pkgname-doc $pkgname-dev $pkgname-utils py-$pkgname:_py py2-$pkgname:_py py3-$pkgname:_py" options="!strip" source="ftp://ftp.xmlsoft.org/${pkgname}/${pkgname}-${pkgver}.tar.gz libxml2-2.9.4-remove-pyverify_fd.patch " builddir="$srcdir/$pkgname-$pkgver" # secfixes: # 2.9.4-r1: # - CVE-2016-5131 # 2.9.4-r2: # - CVE-2016-9318 # 2.9.4-r4: # - CVE-2017-5969 prepare() { default_prepare # setup.py is generated rm python/setup.py cp -ra "$builddir" "$builddir"-python2 } libxml2_configure() { ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --disable-static \ "$@" } build() { cd "$builddir" libxml2_configure \ --with-python=/usr/bin/python3 make msg "build python2" cd "$builddir"-python2 libxml2_configure \ --with-python=/usr/bin/python2 make } check() { rm "$builddir"-python2/test/ebcdic_566012.xml make -C "$builddir"-python2 runtests } package() { cd "$builddir" make -j1 DESTDIR="$pkgdir" install make -j1 -C "$builddir"-python2/python DESTDIR="$pkgdir" install } dev() { default_dev mv "$pkgdir"/usr/lib/*.sh "$subpkgdir"/usr/lib/ } _py() { local python cd "$builddir" case $subpkgname in py2-*) python=python2;; py3-*) python=python3;; py-*) mkdir -p "$subpkgdir"; return 0;; # dummy py- package esac pkgdesc="$pkgname $python bindings" install_if="py-libxml2=$pkgver-r$pkgrel $python" install -d "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/$python* "$subpkgdir"/usr/lib/ } utils() { pkgdesc="XML utilities" replaces="libxml2" mkdir -p "$subpkgdir"/usr mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ } sha512sums="da06cb7c5032ef4b7c8e902fabb9d2c74634c42c161be07a7c66a00d53a68029f89b0d4de32a6b9d4ff338c2d1d9c4e53aefb9cf50cb1c2d6c6b06b442ef42d5 libxml2-2.9.7.tar.gz 271e701daf08f10a8b591c5128f596105901a29ecc9ee72f088afab266eaec7932a4a7d2194baa07c69e1aa93f3e9dc01a4a890456f53416c45d490598be41d9 libxml2-2.9.4-remove-pyverify_fd.patch"