diff options
| author | kj-sh604 | 2025-08-30 00:01:55 -0400 |
|---|---|---|
| committer | kj-sh604 | 2025-08-30 00:01:55 -0400 |
| commit | 3c7a24a52e0b50bc8c95290f2f4d10dc29bc6796 (patch) | |
| tree | 515ac40b266464355f5dfd233385497ab36220d7 /python2-libxml2/PKGBUILD | |
| parent | 4dcb4b0b07d9195c84c7a2a2a2ab676ec8cc98d8 (diff) | |
kj-gitbot: python2-libxml2/
Diffstat (limited to 'python2-libxml2/PKGBUILD')
| -rw-r--r-- | python2-libxml2/PKGBUILD | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/python2-libxml2/PKGBUILD b/python2-libxml2/PKGBUILD new file mode 100644 index 0000000..b4aa32a --- /dev/null +++ b/python2-libxml2/PKGBUILD @@ -0,0 +1,117 @@ +_modulename="libxml2" +_pyruntime=python2 +pkgname="${_pyruntime}-${_modulename}" +pkgver=2.9.14 +pkgrel=1 +pkgdesc='Python 2 bindings for the XML parsing library v2' +_url="https://gitlab.gnome.org/GNOME/${_modulename}" +url="${_url}/-/wikis/home" +arch=(x86_64 aarch64 i686 armv7h) +license=(MIT) +depends=( + glibc + libxml2-legacy + "${_pyruntime}" +) +makedepends=( + git +) +provides=( + "${pkgname}" +) +conflicts=( + "${pkgname}" +) +_commit=7846b0a677f8d3ce72486125fa281e92ac9970e8 # tags/v2.9.14^0 +_w3_tests="https://www.w3.org/XML/Test/xmlts20130923.tar.gz" +source=( + "${pkgname}::git+${_url}.git#commit=$_commit" + no-fuzz.diff # Do not run fuzzing tests + "${_w3_tests}" +) +sha256sums=('1a3880e1aeb825134f2dd61c5393a5a4529a8ba861dd1ba8e43bbb42f0f9102f' + '3fc010d8c42b93e6d6f1fca6b598a561e9d2c8780ff3ca0c76a31efabaea404f' + '9b61db9f5dbffa545f4b8d78422167083a8568c59bd1129f94138f936cf6fc1f') + +pkgver() { + cd "${pkgname}" + git describe --tags \ + | sed 's/-rc/rc/;s/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare() { + local _msg="Use xmlconf from conformance test suite" + mkdir -p build + ln -s xmlconf build/xmlconf || echo "${_msg}" + + cd "${pkgname}" + + # Take patches from https://src.fedoraproject.org/rpms/libxml2/tree/master + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ "${src}" = *.diff ]] || continue + echo "Applying patch ${src}..." + git apply -3 "../${src}" + done + + autoreconf -fiv +} + +build() ( + local _configure="../${pkgname}/configure" + local _configure_opts=( + --prefix=/usr + --with-threads + --with-history + --with-python="/usr/bin/${_pyruntime}" + --with-icu + ) + local _cflags=( + "-I/usr/include/${_modulename}-2.9" + ) + local _ldflags=( + "-L/usr/lib/${_modulename}-2.9" + ) + + cd build + + CFLAGS="${_cflags[*]}" \ + LDFLAGS="${_ldflags[*]}" \ + "../${pkgname}/configure" "${_configure_opts[@]}" + + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' libtool + + CFLAGS="${_cflags[*]}" \ + LDFLAGS="${_ldflags[*]}" \ + make + + find doc -type f -exec chmod 0644 {} + +) + +package() { + make DESTDIR="${pkgdir}" -C build install + "${_pyruntime}" -m compileall \ + -d /usr/lib "${pkgdir}/usr/lib" + "${_pyruntime}" -O \ + -m compileall \ + -d /usr/lib "${pkgdir}/usr/lib" + + install -Dm 644 build/COPYING \ + -t "${pkgdir}/usr/share/licenses/${pkgname}" + + rm -rf "${pkgdir}/usr/bin/" + rm -rf "${pkgdir}/usr/bin/" + rm -rf "${pkgdir}/usr/include/${_modulename}/libxml" + rm -rf "${pkgdir}/usr/lib/cmake" + rm -rf "${pkgdir}/usr/lib/${_modulename}"* + rm -rf "${pkgdir}/usr/lib/pkgconfig" + rm -rf "${pkgdir}/usr/lib/xml2Conf.sh" + rm -rf "${pkgdir}/usr/share/aclocal" + rm -rf "${pkgdir}/usr/share/doc/${_modulename}" + rm -rf "${pkgdir}/usr/share/doc/${_modulename}-${_pyruntime}-${pkgver}" + rm -rf "${pkgdir}/usr/share/gtk-doc/html/${_modulename}" + rm -rf "${pkgdir}/usr/share/man/man1" + rm -rf "${pkgdir}/usr/share/man/man3" +} |
