pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/math/py-pandas



Module Name:    pkgsrc
Committed By:   ryoon
Date:           Fri Oct 31 00:22:22 UTC 2025

Modified Files:
        pkgsrc/math/py-pandas: Makefile distinfo
Added Files:
        pkgsrc/math/py-pandas/patches:
            patch-pandas___libs_src_parser_tokenizer.c

Log Message:
math/py-pandas: Fix segfaults under NetBSD caused by ctype(3) abuse

* Bump PKGREVISION.


To generate a diff of this commit:
cvs rdiff -u -r1.66 -r1.67 pkgsrc/math/py-pandas/Makefile
cvs rdiff -u -r1.45 -r1.46 pkgsrc/math/py-pandas/distinfo
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/math/py-pandas/patches/patch-pandas___libs_src_parser_tokenizer.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/math/py-pandas/Makefile
diff -u pkgsrc/math/py-pandas/Makefile:1.66 pkgsrc/math/py-pandas/Makefile:1.67
--- pkgsrc/math/py-pandas/Makefile:1.66 Thu Oct  9 07:57:47 2025
+++ pkgsrc/math/py-pandas/Makefile      Fri Oct 31 00:22:22 2025
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.66 2025/10/09 07:57:47 wiz Exp $
+# $NetBSD: Makefile,v 1.67 2025/10/31 00:22:22 ryoon Exp $
 
 DISTNAME=      pandas-2.3.3
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
+PKGREVISION=   1
 CATEGORIES=    math graphics python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=p/pandas/}
 

Index: pkgsrc/math/py-pandas/distinfo
diff -u pkgsrc/math/py-pandas/distinfo:1.45 pkgsrc/math/py-pandas/distinfo:1.46
--- pkgsrc/math/py-pandas/distinfo:1.45 Fri Oct  3 05:54:28 2025
+++ pkgsrc/math/py-pandas/distinfo      Fri Oct 31 00:22:22 2025
@@ -1,7 +1,8 @@
-$NetBSD: distinfo,v 1.45 2025/10/03 05:54:28 adam Exp $
+$NetBSD: distinfo,v 1.46 2025/10/31 00:22:22 ryoon Exp $
 
 BLAKE2s (pandas-2.3.3.tar.gz) = 654c217f56b4063e50bc074443d809e775b1ad2b89f0c41bfdce37d19082baf6
 SHA512 (pandas-2.3.3.tar.gz) = 4179acb9fd9d1c5d543bb19b22483b4c2b17a36d5b10270a02ff4d8370b43c16a93673bf5509a5b1d1c960c0fde9238bbbf5b309c6745d2abf3d934535f3fd85
 Size (pandas-2.3.3.tar.gz) = 4495223 bytes
 SHA1 (patch-meson.build) = f802806a1ec2de5f466eb29c3037c54cbf9971b1
+SHA1 (patch-pandas___libs_src_parser_tokenizer.c) = b87f3e77aae3069ce1878d0bb5a06579c3e7ea55
 SHA1 (patch-pandas___libs_window_aggregations.pyx) = 65e3ec2b165de00b23550a989c5eb77c81c759f3

Added files:

Index: pkgsrc/math/py-pandas/patches/patch-pandas___libs_src_parser_tokenizer.c
diff -u /dev/null pkgsrc/math/py-pandas/patches/patch-pandas___libs_src_parser_tokenizer.c:1.1
--- /dev/null   Fri Oct 31 00:22:22 2025
+++ pkgsrc/math/py-pandas/patches/patch-pandas___libs_src_parser_tokenizer.c    Fri Oct 31 00:22:22 2025
@@ -0,0 +1,42 @@
+$NetBSD: patch-pandas___libs_src_parser_tokenizer.c,v 1.1 2025/10/31 00:22:22 ryoon Exp $
+
+* Fix segfault in some read_csv() cases under NetBSD.
+
+--- pandas/_libs/src/parser/tokenizer.c.orig   2025-10-31 00:17:11.113268604 +0000
++++ pandas/_libs/src/parser/tokenizer.c
+@@ -630,7 +630,7 @@ static int parser_buffer_bytes(parser_t 
+ 
+ // applied when in a field
+ #define IS_DELIMITER(c)                                                        \
+-  ((!delim_whitespace && c == delimiter) || (delim_whitespace && isblank(c)))
++  ((!delim_whitespace && c == delimiter) || (delim_whitespace && isblank((unsigned char)c)))
+ 
+ #define _TOKEN_CLEANUP()                                                       \
+   self->stream_len = slen;                                                     \
+@@ -772,7 +772,7 @@ static int tokenize_bytes(parser_t *self
+         self->state = EAT_CRNL_NOP;
+         break;
+       } else if (!self->delim_whitespace) {
+-        if (isblank(c) && c != self->delimiter) {
++        if (isblank((unsigned char)c) && c != self->delimiter) {
+         } else { // backtrack
+           // use i + 1 because buf has been incremented but not i
+           do {
+@@ -802,7 +802,7 @@ static int tokenize_bytes(parser_t *self
+       } else if (IS_COMMENT_CHAR(c)) {
+         self->state = EAT_COMMENT;
+         break;
+-      } else if (!isblank(c)) {
++      } else if (!isblank((unsigned char)c)) {
+         self->state = START_FIELD;
+         PD_FALLTHROUGH; // fall through to subsequent state
+       } else {
+@@ -846,7 +846,7 @@ static int tokenize_bytes(parser_t *self
+       } else if (IS_COMMENT_CHAR(c)) {
+         self->state = EAT_LINE_COMMENT;
+         break;
+-      } else if (isblank(c)) {
++      } else if (isblank((unsigned char)c)) {
+         if (self->delim_whitespace) {
+           if (self->skip_empty_lines) {
+             self->state = WHITESPACE_LINE;



Home | Main Index | Thread Index | Old Index