Date: Wed, 14 Jul 2021 16:16:26 GMT From: Po-Chuan Hsieh <sunpoet@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 3482259da6b9 - main - math/py-pyreadr: Add py-pyreadr 0.4.2 Message-ID: <202107141616.16EGGQwm008185@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=3482259da6b939bedcde374ce94d3833a333a748 commit 3482259da6b939bedcde374ce94d3833a333a748 Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> AuthorDate: 2021-07-14 15:48:06 +0000 Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> CommitDate: 2021-07-14 16:09:35 +0000 math/py-pyreadr: Add py-pyreadr 0.4.2 pyreadr is a python package to read and write R RData and Rds files into/from pandas dataframes. It does not need to have R or other external dependencies installed. WWW: https://github.com/ofajardo/pyreadr --- math/Makefile | 1 + math/py-pyreadr/Makefile | 28 ++++++++++++++++++ math/py-pyreadr/distinfo | 3 ++ math/py-pyreadr/files/patch-pyreadr-librdata.c | 36 ++++++++++++++++++++++++ math/py-pyreadr/files/patch-pyreadr-librdata.pxd | 20 +++++++++++++ math/py-pyreadr/files/patch-setup.py | 23 +++++++++++++++ math/py-pyreadr/pkg-descr | 5 ++++ 7 files changed, 116 insertions(+) diff --git a/math/Makefile b/math/Makefile index 480c044b041a..c02a3a998a8b 100644 --- a/math/Makefile +++ b/math/Makefile @@ -872,6 +872,7 @@ SUBDIR += py-pynndescent SUBDIR += py-pyodeint SUBDIR += py-pyodesys + SUBDIR += py-pyreadr SUBDIR += py-pysmt SUBDIR += py-pystan SUBDIR += py-pysym diff --git a/math/py-pyreadr/Makefile b/math/py-pyreadr/Makefile new file mode 100644 index 000000000000..958593b53240 --- /dev/null +++ b/math/py-pyreadr/Makefile @@ -0,0 +1,28 @@ +# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org> + +PORTNAME= pyreadr +PORTVERSION= 0.4.2 +CATEGORIES= math python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Read/write R RData and Rds files into/from pandas data frames + +LICENSE= AGPLv3+ + +LIB_DEPENDS= librdata.so:math/librdata +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pandas>=0.24.0:math/py-pandas@${PY_FLAVOR} + +USES= localbase python +USE_PYTHON= autoplist concurrent cython distutils + +post-patch: +# Clean up bundled libraries + @${RM} -fr ${WRKSRC}/pyreadr/libs/ + @${RM} -fr ${WRKSRC}/win_libs/ + +post-install: + ${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/pyreadr/librdata${PYTHON_EXT_SUFFIX}.so + +.include <bsd.port.mk> diff --git a/math/py-pyreadr/distinfo b/math/py-pyreadr/distinfo new file mode 100644 index 000000000000..387a4e68e566 --- /dev/null +++ b/math/py-pyreadr/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1625585424 +SHA256 (pyreadr-0.4.2.tar.gz) = a878d0ee60ae8eff7d58ddb24ae6bfbec23b824040dc9fb3529b7104f039210f +SIZE (pyreadr-0.4.2.tar.gz) = 1179813 diff --git a/math/py-pyreadr/files/patch-pyreadr-librdata.c b/math/py-pyreadr/files/patch-pyreadr-librdata.c new file mode 100644 index 000000000000..d708f7f8dadb --- /dev/null +++ b/math/py-pyreadr/files/patch-pyreadr-librdata.c @@ -0,0 +1,36 @@ +--- pyreadr/librdata.c.orig 2021-06-07 07:39:42 UTC ++++ pyreadr/librdata.c +@@ -4,8 +4,6 @@ + { + "distutils": { + "depends": [ +- "pyreadr/libs/librdata/src/rdata.h", +- "pyreadr/libs/librdata/src/rdata_io_unistd.h" + ], + "extra_compile_args": [ + "-DHAVE_ZLIB", +@@ -23,13 +21,6 @@ + "name": "pyreadr.librdata", + "sources": [ + "pyreadr/librdata.pyx", +- "pyreadr/libs/librdata/src/CKHashTable.c", +- "pyreadr/libs/librdata/src/rdata_bits.c", +- "pyreadr/libs/librdata/src/rdata_error.c", +- "pyreadr/libs/librdata/src/rdata_io_unistd.c", +- "pyreadr/libs/librdata/src/rdata_parser.c", +- "pyreadr/libs/librdata/src/rdata_read.c", +- "pyreadr/libs/librdata/src/rdata_write.c" + ] + }, + "module_name": "pyreadr.librdata" +@@ -645,8 +636,8 @@ static CYTHON_INLINE float __PYX_NAN() { + #include <time.h> + #include <stdint.h> + #include <sys/types.h> +-#include "libs/librdata/src/rdata.h" +-#include "libs/librdata/src/rdata_io_unistd.h" ++#include <rdata.h> ++#include <rdata_io_unistd.h> + #include <sys/stat.h> + #include <unistd.h> + #include <fcntl.h> diff --git a/math/py-pyreadr/files/patch-pyreadr-librdata.pxd b/math/py-pyreadr/files/patch-pyreadr-librdata.pxd new file mode 100644 index 000000000000..7b09086fc162 --- /dev/null +++ b/math/py-pyreadr/files/patch-pyreadr-librdata.pxd @@ -0,0 +1,20 @@ +--- pyreadr/librdata.pxd.orig 2020-12-09 08:50:11 UTC ++++ pyreadr/librdata.pxd +@@ -11,7 +11,7 @@ cdef extern from '<sys/types.h>': + cdef extern from 'Python.h': + object PyByteArray_FromStringAndSize(const char *string, Py_ssize_t len) + +-cdef extern from 'libs/librdata/src/rdata.h': ++cdef extern from '<rdata.h>': + + cdef enum rdata_type_t 'rdata_type_e': + RDATA_TYPE_STRING +@@ -128,7 +128,7 @@ cdef extern from 'libs/librdata/src/rdata.h': + rdata_error_t rdata_end_table(rdata_writer_t *writer, int32_t row_count, const char *datalabel); + rdata_error_t rdata_end_file(rdata_writer_t *writer); + +-cdef extern from 'libs/librdata/src/rdata_io_unistd.h': ++cdef extern from '<rdata_io_unistd.h>': + cdef struct rdata_unistd_io_ctx_t 'rdata_unistd_io_ctx_s': + int fd + diff --git a/math/py-pyreadr/files/patch-setup.py b/math/py-pyreadr/files/patch-setup.py new file mode 100644 index 000000000000..546a07909986 --- /dev/null +++ b/math/py-pyreadr/files/patch-setup.py @@ -0,0 +1,23 @@ +--- setup.py.orig 2021-06-07 06:47:51 UTC ++++ setup.py +@@ -13,7 +13,6 @@ from setuptools import setup, Extension + from Cython.Build import cythonize + + librdata_source_files = [] +-librdata_source_files += glob.glob('pyreadr/libs/librdata/src/*.c') + librdata_source_files += ['pyreadr/librdata.pyx'] + + library_dirs = [] +@@ -52,10 +51,11 @@ elif platform.system() == 'Windows': + libraries.append('bz2') + libraries.append('lzma') + +-elif platform.system() == 'Linux': ++elif platform.system() == 'FreeBSD' or platform.system() == 'Linux': + libraries.append('z') + libraries.append('bz2') + libraries.append('lzma') ++ libraries.append('rdata') + #extra_compile_args.append("--std=gnu99") + else: + raise RuntimeError('Unsupported OS') diff --git a/math/py-pyreadr/pkg-descr b/math/py-pyreadr/pkg-descr new file mode 100644 index 000000000000..f3758a909c25 --- /dev/null +++ b/math/py-pyreadr/pkg-descr @@ -0,0 +1,5 @@ +pyreadr is a python package to read and write R RData and Rds files into/from +pandas dataframes. It does not need to have R or other external dependencies +installed. + +WWW: https://github.com/ofajardo/pyreadr
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107141616.16EGGQwm008185>