git: 3906507e1a3a - main - databases/py-snowflake-connector-python: Update version 3.2.1=>3.5.0

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Thu, 07 Dec 2023 13:52:49 UTC
The branch main has been updated by bofh:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3906507e1a3a0ecdba9cf829728f5e85f827e117

commit 3906507e1a3a0ecdba9cf829728f5e85f827e117
Author:     Pat Maddox <pat@patmaddox.com>
AuthorDate: 2023-12-07 07:18:08 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2023-12-07 13:52:34 +0000

    databases/py-snowflake-connector-python: Update version 3.2.1=>3.5.0
    
    Changelog:
    https://github.com/snowflakedb/snowflake-connector-python/releases/tag/v3.5.0
    
    PR:             275587
    Approved by:    submitter is maintainer
---
 databases/py-snowflake-connector-python/Makefile   |  3 +--
 databases/py-snowflake-connector-python/distinfo   |  6 ++---
 ...r_nanoarrow__cpp_ArrowIterator_nanoarrow__ipc.c | 29 ++++++++++++++++++++++
 ...r_nanoarrow__cpp_ArrowIterator_nanoarrow__ipc.h | 11 ++++++++
 4 files changed, 44 insertions(+), 5 deletions(-)

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,5 +1,5 @@
 PORTNAME=	snowflake-connector-python
-PORTVERSION=	3.2.1
+PORTVERSION=	3.5.0
 CATEGORIES=	databases python
 MASTER_SITES=	PYPI
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -23,7 +23,6 @@ PY_DEPENDS=	${PYTHON_PKGNAMEPREFIX}asn1crypto>0.24.0,<2.0.0:devel/py-asn1crypto@
 		${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} \
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,