diff options
author | Konstantin Gizdov | 2018-11-17 23:45:39 +0000 |
---|---|---|
committer | Konstantin Gizdov | 2018-11-17 23:45:39 +0000 |
commit | 7a150f3e5a133fa551a773ba03a497769aa294e5 (patch) | |
tree | dd0b6ea3ccb8e83cc9da0fc310140b367e786080 | |
parent | 38f0e0775528175b6b695d71ae161c1089f9f740 (diff) | |
download | aur-7a150f3e5a133fa551a773ba03a497769aa294e5.tar.gz |
provide python and python2 interface variants
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | PKGBUILD | 96 |
2 files changed, 92 insertions, 23 deletions
@@ -1,20 +1,23 @@ pkgbase = xrootd pkgdesc = Software framework for fast, low latency, scalable and fault tolerant data access. pkgver = 4.8.5 - pkgrel = 1 - url = http://xrootd.org/ - arch = i686 + pkgrel = 2 + url = http://xrootd.org arch = x86_64 license = LGPL3 + checkdepends = cppunit + makedepends = ceph makedepends = cmake + makedepends = python depends = ceph - depends = libxml2 depends = python - provides = xrootd - provides = xrootd-abi0 - options = !emptydirs + depends = cppunit + provides = python2-xrootd + provides = python2-pyxrootd + provides = python-xrootd + provides = python-pyxrootd source = http://xrootd.org/download/v4.8.5/xrootd-4.8.5.tar.gz - sha256sums = 42e4d2cc6f8b442135f09bcc12c7be38b1a0c623a005cb5e69ff3d27997bdf73 + sha256sums = d4d643fcccbadaac6220252ac313bcbcaa4a8aed7bf55affcba43d3408474faf pkgname = xrootd @@ -3,41 +3,107 @@ # Contributor: Alex Pearce < alex at alexpearce dot me > pkgname=xrootd pkgver=4.8.5 -pkgrel=1 +pkgrel=2 pkgdesc="Software framework for fast, low latency, scalable and fault tolerant data access." -provides=('xrootd' 'xrootd-abi0') -arch=('i686' 'x86_64') -url="http://xrootd.org/" +provides=('xrootd') +arch=('x86_64') +url="http://xrootd.org" license=('LGPL3') -depends=('ceph' 'libxml2' 'python') -makedepends=('cmake') -options=('!emptydirs') -source=("http://xrootd.org/download/v${pkgver}/xrootd-${pkgver}.tar.gz") -sha256sums=('42e4d2cc6f8b442135f09bcc12c7be38b1a0c623a005cb5e69ff3d27997bdf73') +depends=('ceph' 'python' 'cppunit') +makedepends=('ceph' 'cmake' 'python') +checkdepends=('cppunit') +provides=('python2-xrootd' 'python2-pyxrootd' + 'python-xrootd' 'python-pyxrootd') +source=("${url}/download/v${pkgver}/xrootd-${pkgver}.tar.gz") +sha256sums=('d4d643fcccbadaac6220252ac313bcbcaa4a8aed7bf55affcba43d3408474faf') prepare() { cd "${srcdir}/${pkgname}-${pkgver}" - rm -rf "${srcdir}/build" mkdir -p "${srcdir}/build" cd "${srcdir}/build" + # LDFLAGS="${LDFLAGS} -pthread -Wl,--no-undefined" \ # fails to compile tests + CFLAGS="${CFLAGS}" \ + CXXFLAGS="${CXXFLAGS} -pthread" \ + LDFLAGS="${LDFLAGS} -pthread" \ + cmake -DCMAKE_BUILD_TYPE:STRING=Release \ + -DCMAKE_INSTALL_LIBDIR:PATH=lib \ + -DCMAKE_INSTALL_PREFIX:PATH=/usr \ + -DBUILD_TESTS=1 \ + -DCPPUNIT_FOUND=1 \ + -DCPPUNIT_INCLUDE_DIRS=/usr/include \ + -DCPPUNIT_LIBRARIES=/usr/lib/libcppunit.so \ + -DXRD_PYTHON_REQ_VERSION=$( python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))' ) \ + "${srcdir}/${pkgname}-${pkgver}" + + cd "${srcdir}" + mv "${srcdir}/build" "${srcdir}/build-py3" + mkdir -p "${srcdir}/build" + cd "${srcdir}/build" + # LDFLAGS="${LDFLAGS} -pthread -Wl,--no-undefined" \ # fails to compile tests CFLAGS="${CFLAGS} -pthread" \ CXXFLAGS="${CXXFLAGS} -pthread" \ - LDFLAGS="${LDFLAGS} -pthread -Wl,--no-undefined" \ - cmake "${srcdir}/${pkgname}-${pkgver}" \ - -DCMAKE_BUILD_TYPE:STRING=Release \ + LDFLAGS="${LDFLAGS} -pthread" \ + cmake -DCMAKE_BUILD_TYPE:STRING=Release \ -DCMAKE_INSTALL_LIBDIR:PATH=lib \ -DCMAKE_INSTALL_PREFIX:PATH=/usr \ - -DXRD_PYTHON_REQ_VERSION=$( python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))' ) + -DBUILD_TESTS=1 \ + -DCPPUNIT_FOUND=1 \ + -DCPPUNIT_INCLUDE_DIRS=/usr/include \ + -DCPPUNIT_LIBRARIES=/usr/lib/libcppunit.so \ + -DXRD_PYTHON_REQ_VERSION=$( python2 -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))' ) \ + "${srcdir}/${pkgname}-${pkgver}" + mv "${srcdir}/build/bindings/python" "${srcdir}/build-py3/bindings/python2" + cd "${srcdir}" + rm -rf "${srcdir}/build" + mv "${srcdir}/build-py3" "${srcdir}/build" } build() { cd "${srcdir}/build" - make ${MAKEFLAGS} + # Python2 bindings first + mv "${srcdir}/build/bindings/python" "${srcdir}/build/bindings/python3" + mv "${srcdir}/build/bindings/python2" "${srcdir}/build/bindings/python" + make + + # Python bindings second + mv "${srcdir}/build/bindings/python" "${srcdir}/build/bindings/python2" + mv "${srcdir}/build/bindings/python3" "${srcdir}/build/bindings/python" + make -f "bindings/python/Makefile" +} + +check() { + cd "${srcdir}/build/tests" + + ./common/text-runner ./XrdCephTests/libXrdCephTests.so "All Tests" + + ## + # This requires a running XRootD server with multiIP DNS forwarder and local disk servers + # only run this if you have configured the env correctly, + # examples in https://github.com/xrootd/xrootd-test-suite + # sample environment can be configured like so: + # export XRDTEST_MAINSERVERURL=metaman.xrd.test + # or export XRDTEST_MAINSERVERURL=http://xrootd.cern.ch/ + # export XRDTEST_DISKSERVERURL=srv1.xrd.test + # or export XRDTEST_DISKSERVERURL=http://xrootd.cern.ch/ + # export XRDTEST_DATAPATH=/tests/test-files/ + # export XRDTEST_LOCALFILE=/data/a048e67f-4397-4bb8-85eb-8d7e40d90763.dat + # or export XRDTEST_LOCALFILE=/tmp/accwe.root + # export XRDTEST_REMOTEFILE=${XRDTEST_MAINSERVERURL}${XRDTEST_DATAPATH}/a048e67f-4397-4bb8-85eb-8d7e40d90763.dat + # or export XRDTEST_MULTIIPSERVERURL=multiip.xrd.test + # ./common/text-runner ./XrdClTests/libXrdClTests.so "All Tests" } package() { cd "${srcdir}/build" + # Python2 first + mv "${srcdir}/build/bindings/python" "${srcdir}/build/bindings/python3" + mv "${srcdir}/build/bindings/python2" "${srcdir}/build/bindings/python" make DESTDIR="${pkgdir}" install + + # Python3 second + mv "${srcdir}/build/bindings/python" "${srcdir}/build/bindings/python2" + mv "${srcdir}/build/bindings/python3" "${srcdir}/build/bindings/python" + make -f "bindings/python/Makefile" DESTDIR="${pkgdir}" install } |