diff --git a/databases/py-snowflake-connector-python/Makefile b/databases/py-snowflake-connector-python/Makefile index 5a0cee0ff8a9..c79e4370b369 100644 --- a/databases/py-snowflake-connector-python/Makefile +++ b/databases/py-snowflake-connector-python/Makefile @@ -1,42 +1,41 @@ PORTNAME= snowflake-connector-python -PORTVERSION= 3.2.1 +PORTVERSION= 3.5.0 CATEGORIES= databases python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= pat@patmaddox.com COMMENT= Snowflake Connector for Python WWW= https://github.com/snowflakedb/snowflake-connector-python LICENSE= APACHE20 BUILD_DEPENDS= ${PY_DEPENDS} \ ${PYTHON_PKGNAMEPREFIX}cython3>0:lang/cython3@${PY_FLAVOR} RUN_DEPENDS= ${PY_DEPENDS} USES= python USE_PYTHON= autoplist concurrent distutils PY_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asn1crypto>0.24.0,<2.0.0:devel/py-asn1crypto@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}cffi>=1.9,<2:devel/py-cffi@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}cryptography>=3.1.0:security/py-cryptography@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}oscrypto<2.0:security/py-oscrypto@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}openssl>=16.2.0:security/py-openssl@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pycryptodomex>=3.5.1<4.0:security/py-pycryptodomex@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pyjwt<3.0:www/py-pyjwt@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytz>0:devel/py-pytz@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests<3.0:www/py-requests@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}importlib-metadata>0:devel/py-importlib-metadata@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}charset-normalizer>=2,<4:textproc/py-charset-normalizer@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}idna>=2.5,<4.0:dns/py-idna@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}urllib3>=1.21.1:net/py-urllib3@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}certifi>=2017.4.17:security/py-certifi@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.3,<5.0:devel/py-typing-extensions@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}filelock>=3.5,<4.0:sysutils/py-filelock@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}sortedcontainers>=2.4.0:devel/py-sortedcontainers@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}platformdirs>=2.6.0,<4.0.0:devel/py-platformdirs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}tomlkit>0:textproc/py-tomlkit@${PY_FLAVOR} .include diff --git a/databases/py-snowflake-connector-python/distinfo b/databases/py-snowflake-connector-python/distinfo index ed242d01ca82..7ef6b3e3b074 100644 --- a/databases/py-snowflake-connector-python/distinfo +++ b/databases/py-snowflake-connector-python/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1697518750 -SHA256 (snowflake-connector-python-3.2.1.tar.gz) = 2f92112964e4d36c67dbcf900f0b6c4b56a4ab0b3cf44a0d166d290e867a9d8b -SIZE (snowflake-connector-python-3.2.1.tar.gz) = 419953 +TIMESTAMP = 1701367506 +SHA256 (snowflake-connector-python-3.5.0.tar.gz) = 654e4a1f68a491544bd8f7c5ab02eb8531df67c5f4309d5253bd204044f8a1b3 +SIZE (snowflake-connector-python-3.5.0.tar.gz) = 702274 diff --git a/databases/py-snowflake-connector-python/files/patch-src_snowflake_connector_nanoarrow__cpp_ArrowIterator_nanoarrow__ipc.c b/databases/py-snowflake-connector-python/files/patch-src_snowflake_connector_nanoarrow__cpp_ArrowIterator_nanoarrow__ipc.c new file mode 100644 index 000000000000..46bb0a440466 --- /dev/null +++ b/databases/py-snowflake-connector-python/files/patch-src_snowflake_connector_nanoarrow__cpp_ArrowIterator_nanoarrow__ipc.c @@ -0,0 +1,29 @@ +--- src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.c.orig 2023-11-30 19:17:00 UTC ++++ src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.c +@@ -21239,7 +21239,7 @@ static inline int ArrowIpcDecoderReadHeaderPrefix(stru + + if (header_body_size_bytes == 0) { + ArrowErrorSet(error, "End of Arrow stream"); +- return ENODATA; ++ return ENOATTR; + } + + return NANOARROW_OK; +@@ -22194,7 +22194,7 @@ static int ArrowIpcArrayStreamReaderNextHeader( + // is one of the valid outcomes) but we set the error anyway in case it gets + // propagated higher (e.g., if the stream is empty and there's no schema message) + ArrowErrorSet(&private_data->error, "No data available on stream"); +- return ENODATA; ++ return ENOATTR; + } else if (bytes_read != 8) { + ArrowErrorSet(&private_data->error, + "Expected at least 8 bytes in remainder of stream"); +@@ -22338,7 +22338,7 @@ static int ArrowIpcArrayStreamReaderGetNext(struct Arr + // Read + decode the next header + int result = ArrowIpcArrayStreamReaderNextHeader( + private_data, NANOARROW_IPC_MESSAGE_TYPE_RECORD_BATCH); +- if (result == ENODATA) { ++ if (result == ENOATTR) { + // Stream is finished either because there is no input or because + // end of stream bytes were read. + out->release = NULL; diff --git a/databases/py-snowflake-connector-python/files/patch-src_snowflake_connector_nanoarrow__cpp_ArrowIterator_nanoarrow__ipc.h b/databases/py-snowflake-connector-python/files/patch-src_snowflake_connector_nanoarrow__cpp_ArrowIterator_nanoarrow__ipc.h new file mode 100644 index 000000000000..cf93c5d9c978 --- /dev/null +++ b/databases/py-snowflake-connector-python/files/patch-src_snowflake_connector_nanoarrow__cpp_ArrowIterator_nanoarrow__ipc.h @@ -0,0 +1,11 @@ +--- src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.h.orig 2023-11-30 19:16:47 UTC ++++ src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.h +@@ -193,7 +193,7 @@ void ArrowIpcDecoderReset(struct ArrowIpcDecoder* deco + /// The first 8 bytes of an Arrow IPC message are 0xFFFFFF followed by the size + /// of the header as a little-endian 32-bit integer. ArrowIpcDecoderPeekHeader() reads + /// these bytes and returns ESPIPE if there are not enough remaining bytes in data to read +-/// the entire header message, EINVAL if the first 8 bytes are not valid, ENODATA if the ++/// the entire header message, EINVAL if the first 8 bytes are not valid, ENOATTR if the + /// Arrow end-of-stream indicator has been reached, or NANOARROW_OK otherwise. + ArrowErrorCode ArrowIpcDecoderPeekHeader(struct ArrowIpcDecoder* decoder, + struct ArrowBufferView data,