@@ -376,9 +376,42 @@ def pandas(*args):
376
376
377
377
dinfo->abstime = (double)(hour * 3600 + minute * 60) + second;
378
378
379
+ diff --git a/pandas/io/msgpack/_packer.cpp b/pandas/io/msgpack/_packer.cpp
380
+ index 8b5b382..7544707 100644
381
+ --- a/pandas/io/msgpack/_packer.cpp
382
+ +++ b/pandas/io/msgpack/_packer.cpp
383
+ @@ -477,10 +477,7 @@ typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* enc
384
+ (sizeof(type) == sizeof(Py_ssize_t) &&\\
385
+ (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\\
386
+ v == (type)PY_SSIZE_T_MAX))) )
387
+ -#if defined (__cplusplus) && __cplusplus >= 201103L
388
+ - #include <cstdlib>
389
+ - #define __Pyx_sst_abs(value) std::abs(value)
390
+ -#elif SIZEOF_INT >= SIZEOF_SIZE_T
391
+ +#if SIZEOF_INT >= SIZEOF_SIZE_T
392
+ #define __Pyx_sst_abs(value) abs(value)
393
+ #elif SIZEOF_LONG >= SIZEOF_SIZE_T
394
+ #define __Pyx_sst_abs(value) labs(value)
395
+ diff --git a/pandas/io/msgpack/_unpacker.cpp b/pandas/io/msgpack/_unpacker.cpp
396
+ index fa08f53..49f3bf3 100644
397
+ --- a/pandas/io/msgpack/_unpacker.cpp
398
+ +++ b/pandas/io/msgpack/_unpacker.cpp
399
+ @@ -477,10 +477,7 @@ typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* enc
400
+ (sizeof(type) == sizeof(Py_ssize_t) &&\\
401
+ (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\\
402
+ v == (type)PY_SSIZE_T_MAX))) )
403
+ -#if defined (__cplusplus) && __cplusplus >= 201103L
404
+ - #include <cstdlib>
405
+ - #define __Pyx_sst_abs(value) std::abs(value)
406
+ -#elif SIZEOF_INT >= SIZEOF_SIZE_T
407
+ +#if SIZEOF_INT >= SIZEOF_SIZE_T
408
+ #define __Pyx_sst_abs(value) abs(value)
409
+ #elif SIZEOF_LONG >= SIZEOF_SIZE_T
410
+ #define __Pyx_sst_abs(value) labs(value)
411
+
379
412
"""
380
413
cflags = "-allowcpp" if sys .implementation .name == "graalpython" else ""
381
- install_from_url ("https://files.pythonhosted.org/packages/ee/aa/90c06f249cf4408fa75135ad0df7d64c09cf74c9870733862491ed5f3a50/pandas-0.20.3.tar.gz" , patch = patch , extra_opts = args , cflags = cflags )
414
+ install_from_url ("https://files.pythonhosted.org/packages/ee/aa/90c06f249cf4408fa75135ad0df7d64c09cf74c9870733862491ed5f3a50/pandas-0.20.3.tar.gz" , patch = patch , extra_opts = args , add_cflags = cflags )
382
415
383
416
return locals ()
384
417
@@ -391,7 +424,7 @@ def xit(msg, status=-1):
391
424
exit (- 1 )
392
425
393
426
394
- def install_from_url (url , patch = None , extra_opts = [], cflags = "" ):
427
+ def install_from_url (url , patch = None , extra_opts = [], add_cflags = "" ):
395
428
name = url [url .rfind ("/" )+ 1 :]
396
429
tempdir = tempfile .mkdtemp ()
397
430
@@ -403,6 +436,10 @@ def install_from_url(url, patch=None, extra_opts=[], cflags=""):
403
436
elif url .startswith ("https://" ) and "HTTPS_PROXY" in env :
404
437
curl_opts += ["--proxy" , env ["HTTPS_PROXY" ]]
405
438
439
+ # honor env var 'CFLAGS' and 'CPPFLAGS'
440
+ cppflags = os .environ .get ("CPPFLAGS" , "" )
441
+ cflags = "-v " + os .environ .get ("CFLAGS" , "" ) + ((" " + add_cflags ) if add_cflags else "" )
442
+
406
443
system ("curl %s -o %s/%s %s" % (" " .join (curl_opts ), tempdir , name , url ))
407
444
if name .endswith (".tar.gz" ):
408
445
system ("tar xzf %s/%s -C %s" % (tempdir , name , tempdir ))
@@ -420,7 +457,7 @@ def install_from_url(url, patch=None, extra_opts=[], cflags=""):
420
457
user_arg = "--user"
421
458
else :
422
459
user_arg = ""
423
- system ("cd %s/%s; %s %s setup.py install %s %s" % (tempdir , bare_name , " CFLAGS=%s" % cflags if cflags else "" , sys .executable , user_arg , " " .join (extra_opts )))
460
+ system ("cd %s/%s; %s %s %s setup.py install %s %s" % (tempdir , bare_name , ' CFLAGS=" %s"' % cflags if cflags else "" , 'CPPFLAGS="%s"' % cppflags if cppflags else "" , sys .executable , user_arg , " " .join (extra_opts )))
424
461
425
462
426
463
def install_from_pypi (package , extra_opts = []):
0 commit comments