summaryrefslogtreecommitdiffstats
path: root/python2-libxml2/PKGBUILD
diff options
context:
space:
mode:
authorkj-sh6042025-08-30 00:01:55 -0400
committerkj-sh6042025-08-30 00:01:55 -0400
commit3c7a24a52e0b50bc8c95290f2f4d10dc29bc6796 (patch)
tree515ac40b266464355f5dfd233385497ab36220d7 /python2-libxml2/PKGBUILD
parent4dcb4b0b07d9195c84c7a2a2a2ab676ec8cc98d8 (diff)
kj-gitbot: python2-libxml2/
Diffstat (limited to 'python2-libxml2/PKGBUILD')
-rw-r--r--python2-libxml2/PKGBUILD117
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"
+}