diff --git a/mingw-w64-python-lxml/PKGBUILD b/mingw-w64-python-lxml/PKGBUILD new file mode 100644 index 0000000000..1d10e91047 --- /dev/null +++ b/mingw-w64-python-lxml/PKGBUILD @@ -0,0 +1,114 @@ +# Maintainer: Alexey Pavlov + +_realname=lxml +_mingw_suff=mingw-w64-${CARCH} +pkgname="${_mingw_suff}-${_realname}" +pkgname=("${_mingw_suff}-python2-${_realname}" "${_mingw_suff}-python3-${_realname}" "${_mingw_suff}-python-${_realname}-docs") +pkgver=3.3.1 +pkgrel=1 +arch=('any') +license=('BSD' 'custom') +url="http://lxml.de/" +depends=("${_mingw_suff}-python2" "${_mingw_suff}-python3") +makedepends=("${_mingw_suff}-python2" + "${_mingw_suff}-python3" + "${_mingw_suff}-libxslt" + "${_mingw_suff}-python2-cssselect" + "${_mingw_suff}-python3-cssselect") +source=(http://pypi.python.org/packages/source/l/lxml/${_realname}-${pkgver}.tar.gz{,.asc} + mingw-python-fix.patch) +md5sums=('09401c787d9b2660b0d76c4c6baec0f3' + 'SKIP' + 'e07163fc1e02cab5fa6009af35d5f823') + +prepare() { + cd "${srcdir}/${_realname}-${pkgver}" + patch -p1 -i ${srcdir}/mingw-python-fix.patch + + cd "${srcdir}" + + cp -r ${_realname}-${pkgver} build-python2 + cp -r ${_realname}-${pkgver} build-python3 +} + +build() { + # Build python 2 module + cd "${srcdir}"/build-python2 + ${MINGW_PREFIX}/bin/python2 setup.py build --with-xslt-config=${MINGW_PREFIX}/bin/xslt-config + + # Build python 3 module + cd "${srcdir}"/build-python3 + ${MINGW_PREFIX}/bin/python3 setup.py build --with-xslt-config=${MINGW_PREFIX}/bin/xslt-config +} + +package_python2-lxml() { + pkgdesc="Python2 binding for the libxml2 and libxslt libraries" + depends=("${_mingw_suff}-python2" "${_mingw_suff}-libxslt") + optdepends=("${_mingw_suff}-python2-beautifulsoup3: support for parsing not well formed HTML" + "${_mingw_suff}-python-lxml-docs: offline docs") + + cd "${srcdir}/build-python2" + MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ + ${MINGW_PREFIX}/bin/python2 setup.py install --prefix=${MINGW_PREFIX#\/} --root="${pkgdir}" --optimize=1 --skip-build + + install -Dm644 LICENSES.txt \ + "${pkgdir}${MINGW_PREFIX}"/share/licenses/python2-${_realname}/LICENSE + install -Dm644 doc/licenses/BSD.txt \ + "${pkgdir}${MINGW_PREFIX}"/share/licenses/python2-${_realname}/BSD.txt + install -Dm644 doc/licenses/elementtree.txt \ + "${pkgdir}${MINGW_PREFIX}"/share/licenses/python2-${_realname}/elementtree.txt +} + +package_python3-lxml() { + pkgdesc="Python3 binding for the libxml2 and libxslt libraries" + depends=("${_mingw_suff}-python3" "${_mingw_suff}-libxslt") + optdepends=("${_mingw_suff}-python-lxml-docs: offline docs") + + cd "${srcdir}/build-python3" + MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ + ${MINGW_PREFIX}/bin/python3 setup.py install --prefix=${MINGW_PREFIX#\/} --root="${pkgdir}" --optimize=1 --skip-build + + install -Dm644 LICENSES.txt \ + "${pkgdir}${MINGW_PREFIX}"/share/licenses/python3-${_realname}/LICENSE + install -Dm644 doc/licenses/BSD.txt \ + "${pkgdir}${MINGW_PREFIX}"/share/licenses/python3-${_realname}/BSD.txt + install -Dm644 doc/licenses/elementtree.txt \ + "${pkgdir}${MINGW_PREFIX}"/share/licenses/python3-${_realname}/elementtree.txt +} + +package_python-lxml-docs() { + pkgdesc="Python binding for the libxml2 and libxslt libraries (docs)" + options=('docs') + + cd ${_realname}-$pkgver + install -d "${pkgdir}${MINGW_PREFIX}"/share/doc/${_realname} + cp -r doc/html "${pkgdir}${MINGW_PREFIX}"/share/doc/${_realname} +} + +package_mingw-w64-i686-python2-lxml() { + #install=${_realname}2-${CARCH}.install + package_python2-lxml +} + +package_mingw-w64-i686-python3-lxml() { + #install=${_realname}3-${CARCH}.install + package_python3-lxml +} + +package_mingw-w64-x86_64-python2-lxml() { + #install=${_realname}2-${CARCH}.install + package_python2-lxml +} + +package_mingw-w64-x86_64-python3-lxml() { + #install=${_realname}3-${CARCH}.install + package_python3-lxml +} + +package_mingw-w64-x86_64-python-lxml-docs() { + package_python-lxml-docs +} + +package_mingw-w64-x86_64-python-lxml-docs() { + package_python-lxml-docs +} diff --git a/mingw-w64-python-lxml/mingw-python-fix.patch b/mingw-w64-python-lxml/mingw-python-fix.patch new file mode 100644 index 0000000000..f0bd7a710e --- /dev/null +++ b/mingw-w64-python-lxml/mingw-python-fix.patch @@ -0,0 +1,11 @@ +--- lxml-3.3.1/setupinfo.py.orig 2014-02-11 21:11:57.898800000 +0400 ++++ lxml-3.3.1/setupinfo.py 2014-02-11 21:41:20.905000000 +0400 +@@ -263,7 +263,7 @@ + if not cmd: + return '' + if args: +- cmd = ' '.join((cmd,) + args) ++ cmd = 'sh -c "'+' '.join((cmd,) + args)+'"' + try: + import subprocess + except ImportError: