diff --git a/packages/libarrow-cpp/build.sh b/packages/libarrow-cpp/build.sh index 05595364ac..4349b6d1e7 100644 --- a/packages/libarrow-cpp/build.sh +++ b/packages/libarrow-cpp/build.sh @@ -2,13 +2,12 @@ TERMUX_PKG_HOMEPAGE=https://github.com/apache/arrow TERMUX_PKG_DESCRIPTION="C++ libraries for Apache Arrow" TERMUX_PKG_LICENSE="Apache-2.0" TERMUX_PKG_MAINTAINER="@termux" -# Align the version with `python-pyarrow` package. -TERMUX_PKG_VERSION="19.0.0" -TERMUX_PKG_REVISION=1 +TERMUX_PKG_VERSION="19.0.1" TERMUX_PKG_SRCURL=https://github.com/apache/arrow/archive/refs/tags/apache-arrow-${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_SHA256=7bee51bb6c1176eb08070bd2c7fb7e9e4d17f277e59c9cf80a88082443b124de +TERMUX_PKG_SHA256=4c898504958841cc86b6f8710ecb2919f96b5e10fa8989ac10ac4fca8362d86a TERMUX_PKG_DEPENDS="abseil-cpp, apache-orc, libandroid-execinfo, libc++, liblz4, libprotobuf, libre2, libsnappy, thrift, utf8proc, zlib, zstd" TERMUX_PKG_BUILD_DEPENDS="boost, boost-headers, rapidjson" +TERMUX_PKG_PYTHON_COMMON_DEPS="build, Cython, numpy, setuptools, setuptools-scm, wheel" TERMUX_PKG_BREAKS="libarrow-python (<< ${TERMUX_PKG_VERSION})" TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" -DARROW_BUILD_STATIC=OFF @@ -38,3 +37,32 @@ termux_step_pre_configure() { # Fix linker script error for zlib 1.3 LDFLAGS+=" -Wl,--undefined-version" } + +termux_step_post_make_install() { + # termux_step_pre_configure + TERMUX_PKG_SRCDIR+="/../python" + TERMUX_PKG_BUILDDIR="$TERMUX_PKG_SRCDIR" + cd "$TERMUX_PKG_BUILDDIR" + + export PYARROW_CMAKE_OPTIONS=" + -DCMAKE_PREFIX_PATH=$TERMUX_PREFIX/lib/cmake + -DNUMPY_INCLUDE_DIRS=$TERMUX_PYTHON_HOME/site-packages/numpy/_core/include + " + export PYARROW_WITH_DATASET=1 + export PYARROW_WITH_HDFS=1 + export PYARROW_WITH_ORC=1 + export PYARROW_WITH_PARQUET=1 + + # termux_step_configure + # cmake is not intended to be invoked directly. + termux_setup_cmake + termux_setup_ninja + + # termux_step_make + PYTHONPATH='' python -m build -w -n -x "$TERMUX_PKG_SRCDIR" + + # termux_step_make_install + local _pyver="${TERMUX_PYTHON_VERSION//./}" + local _wheel="pyarrow-${TERMUX_PKG_VERSION}-cp${_pyver}-cp${_pyver}-linux_${TERMUX_ARCH}.whl" + pip install --no-deps --prefix="$TERMUX_PREFIX" "$TERMUX_PKG_SRCDIR/dist/${_wheel}" +} diff --git a/packages/python-pyarrow/cpp-cmake_modules-FindPython3Alt.cmake.patch b/packages/libarrow-cpp/cpp-cmake_modules-FindPython3Alt.cmake.patch similarity index 100% rename from packages/python-pyarrow/cpp-cmake_modules-FindPython3Alt.cmake.patch rename to packages/libarrow-cpp/cpp-cmake_modules-FindPython3Alt.cmake.patch diff --git a/packages/python-pyarrow/python-CMakeLists.txt.patch b/packages/libarrow-cpp/python-CMakeLists.txt.patch similarity index 100% rename from packages/python-pyarrow/python-CMakeLists.txt.patch rename to packages/libarrow-cpp/python-CMakeLists.txt.patch diff --git a/packages/libarrow-cpp/python-pyarrow.subpackage.sh b/packages/libarrow-cpp/python-pyarrow.subpackage.sh new file mode 100644 index 0000000000..68fbdf73f8 --- /dev/null +++ b/packages/libarrow-cpp/python-pyarrow.subpackage.sh @@ -0,0 +1,3 @@ +TERMUX_SUBPKG_INCLUDE="lib/python3.12/site-packages/pyarrow*" +TERMUX_SUBPKG_DESCRIPTION="Python bindings for Apache Arrow" +TERMUX_SUBPKG_DEPENDS="python, python-numpy" diff --git a/packages/python-pyarrow/build.sh b/packages/python-pyarrow/build.sh deleted file mode 100644 index c6fce80795..0000000000 --- a/packages/python-pyarrow/build.sh +++ /dev/null @@ -1,42 +0,0 @@ -TERMUX_PKG_HOMEPAGE=https://github.com/apache/arrow -TERMUX_PKG_DESCRIPTION="Python bindings for Apache Arrow" -TERMUX_PKG_LICENSE="Apache-2.0" -TERMUX_PKG_MAINTAINER="@termux" -# Align the version with `libarrow-cpp` package. -TERMUX_PKG_VERSION="19.0.0" -TERMUX_PKG_REVISION=1 -TERMUX_PKG_SRCURL=https://github.com/apache/arrow/archive/refs/tags/apache-arrow-${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_SHA256=7bee51bb6c1176eb08070bd2c7fb7e9e4d17f277e59c9cf80a88082443b124de -TERMUX_PKG_DEPENDS="abseil-cpp, libarrow-cpp (>= ${TERMUX_PKG_VERSION}), libc++, python, python-numpy" -TERMUX_PKG_PYTHON_COMMON_DEPS="build, Cython, numpy, setuptools, setuptools-scm, wheel" -TERMUX_PKG_PROVIDES="libarrow-python" - -termux_step_pre_configure() { - TERMUX_PKG_SRCDIR+="/python" - TERMUX_PKG_BUILDDIR="$TERMUX_PKG_SRCDIR" - - export PYARROW_CMAKE_OPTIONS=" - -DCMAKE_PREFIX_PATH=$TERMUX_PREFIX/lib/cmake - -DNUMPY_INCLUDE_DIRS=$TERMUX_PYTHON_HOME/site-packages/numpy/_core/include - " - export PYARROW_WITH_DATASET=1 - export PYARROW_WITH_HDFS=1 - export PYARROW_WITH_ORC=1 - export PYARROW_WITH_PARQUET=1 -} - -termux_step_configure() { - # cmake is not intended to be invoked directly. - termux_setup_cmake - termux_setup_ninja -} - -termux_step_make() { - PYTHONPATH='' python -m build -w -n -x "$TERMUX_PKG_SRCDIR" -} - -termux_step_make_install() { - local _pyver="${TERMUX_PYTHON_VERSION//./}" - local _wheel="pyarrow-${TERMUX_PKG_VERSION}-cp${_pyver}-cp${_pyver}-linux_${TERMUX_ARCH}.whl" - pip install --no-deps --prefix="$TERMUX_PREFIX" "$TERMUX_PKG_SRCDIR/dist/${_wheel}" -}