Files
extra/libxml2/PKGBUILD
2025-06-22 20:39:04 -05:00

78 lines
2.7 KiB
Bash

# Maintainer: Jesus E. <heckyel@riseup.net>
pkgname=libxml2
pkgver=2.9.10
_debver=$pkgver
_debrel=6.7
pkgrel=6
pkgdesc="XML parsing library, version 2"
url='http://www.xmlsoft.org/'
arch=('i686' 'x86_64')
license=('Expat')
depends=('zlib' 'readline' 'ncurses' 'xz' 'icu')
makedepends=('tauthon' 'python' 'quilt')
source=("ftp://xmlsoft.org/libxml2/libxml2-$pkgver.tar.gz"
"https://security.debian.org/debian-security/pool/updates/main/libx/libxml2/libxml2_${_debver}+dfsg-${_debrel}+deb11u6.debian.tar.xz"
"libxml2-2.9.8-python3-unicode-errors.patch"
"https://www.w3.org/XML/Test/xmlts20130923.tar.gz"
"CVE-2025-32414.patch"
"CVE-2025-32415.patch")
sha512sums=('0adfd12bfde89cbd6296ba6e66b6bed4edb814a74b4265bda34d95c41d9d92c696ee7adb0c737aaf9cc6e10426a31a35079b2a23d26c074e299858da12c072ed'
'718386dd78d7136ff4aff605a92b2277b9ebd199b02345bb19ec48e3ecd97f634e1a213fdd9c2ac84695bb4052ff2515ffb46032a270163b4782d5af3b4187af'
'a205c97fa1488fb8907cfa08b5f82e2055c80b86213dc3cc5c4b526fe6aa786bcc4e4eeb226c44635a1d021307b39e3940f706c42fb60e9e3e9b490a84164df7'
'd5c4d26b324ed21f4e0641cd7f8b76dbf9de80df8b519982e44d41c960df29fd03618e02e9693b2d11ad06d19c4a965274c95a048ec3b9653eacb919a7f8b733'
'ce5b43520617b62353a4b3550d266a3fd230163cd0ee2ba105b083f633d52560c187fdf08cb75a5c4b4ed6f6a4d41790b45b7b4d9c186260d2adecdcbaeb0241'
'0e033851bab1cf27a2aa73a5f785fc9ebba73d17c887edbb30734784401cae14f7c412052dcf5289d1de1773b520df866288215b38db5c341fbd9aa7124ee6e5')
prepare() {
mkdir build-{tauthon,python}
cd $pkgname-$pkgver
if [[ ${pkgver%.*} = ${_debver%.*} ]]; then
# Debian patches
export QUILT_PATCHES=debian/patches
export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
export QUILT_DIFF_ARGS='--no-timestamps'
mv "$srcdir"/debian .
quilt push -av
else
# from https://src.fedoraproject.org/rpms/libxml2/tree/master
patch -Np1 -i $srcdir/libxml2-2.9.8-python3-unicode-errors.patch
fi
patch -Np1 -i "$srcdir"/CVE-2025-32414.patch
patch -Np1 -i "$srcdir"/CVE-2025-32415.patch
NOCONFIGURE=1 ./autogen.sh
}
_build() (
cd build-$1
../$pkgname-$pkgver/configure \
--prefix=/usr \
--with-threads \
--with-history \
--with-python=/usr/bin/$1 \
--with-icu
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' libtool
PYTHONHASHSEED=0 make
find doc -type f -exec chmod 0644 {} +
)
build() {
_build tauthon
_build python
}
package() {
make -C build-tauthon DESTDIR="$pkgdir" install
make -C build-python/python DESTDIR="$pkgdir" install
# we don't support gtk-doc
rm -rf $pkgdir/usr/share/gtk-doc
install -Dm 644 build-tauthon/COPYING -t "$pkgdir/usr/share/licenses/$pkgname"
}