aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Krah <skrah@bytereef.org>2021-05-16 15:19:42 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2021-05-16 15:24:46 +0000
commit09397e741e930c1354b9feb73b80027268ab4a0f (patch)
treece3617bb68064e988518a3e76b8d93540934d808
parent797b898ac835a60e59a02b9733e59862bfac6886 (diff)
downloadports-09397e741e930c1354b9feb73b80027268ab4a0f.tar.gz
ports-09397e741e930c1354b9feb73b80027268ab4a0f.zip
lang/python38: Use libmpdec from ports
- Bump PORTREVISION for dependency and package change PR: 253603
-rw-r--r--lang/python38/Makefile8
-rw-r--r--lang/python38/files/patch-Modules___decimal___decimal.c20
-rw-r--r--lang/python38/files/patch-setup.py11
3 files changed, 37 insertions, 2 deletions
diff --git a/lang/python38/Makefile b/lang/python38/Makefile
index da6a5bfe9ad1..ecc3e9ca22c1 100644
--- a/lang/python38/Makefile
+++ b/lang/python38/Makefile
@@ -48,13 +48,14 @@ PLIST_SUB= ABI=${ABIFLAGS} \
XYZDOT=${PORTVERSION} \
OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. https://bugs.python.org/issue19554
-OPTIONS_DEFINE= DEBUG IPV6 LIBFFI NLS PYMALLOC
-OPTIONS_DEFAULT= LIBFFI PYMALLOC
+OPTIONS_DEFINE= DEBUG IPV6 LIBFFI LIBMPDEC NLS PYMALLOC
+OPTIONS_DEFAULT= LIBFFI LIBMPDEC PYMALLOC
OPTIONS_RADIO= HASH
OPTIONS_RADIO_HASH= FNV SIPHASH
OPTIONS_SUB= yes
LIBFFI_DESC= Use libffi from ports instead of bundled version
+LIBMPDEC_DESC= Use libmpdec from ports instead of bundled version
NLS_DESC= Enable gettext support for the locale module
PYMALLOC_DESC= Enable specialized mallocs
@@ -71,6 +72,9 @@ IPV6_CONFIGURE_ENABLE= ipv6
LIBFFI_CONFIGURE_ON= --with-system-ffi
LIBFFI_LIB_DEPENDS= libffi.so:devel/libffi
+LIBMPDEC_CONFIGURE_ON= --with-system-libmpdec
+LIBMPDEC_LIB_DEPENDS= libmpdec.so:math/mpdecimal
+
# Use CPPFLAGS over CFLAGS due to -I ordering, causing elementtree and pyexpat
# to break in Python 2.7, or preprocessor complaints in Python >= 3.3
# Upstream Issue: https://bugs.python.org/issue6299
diff --git a/lang/python38/files/patch-Modules___decimal___decimal.c b/lang/python38/files/patch-Modules___decimal___decimal.c
new file mode 100644
index 000000000000..4ea7b4f1b4ee
--- /dev/null
+++ b/lang/python38/files/patch-Modules___decimal___decimal.c
@@ -0,0 +1,20 @@
+--- Modules/_decimal/_decimal.c.orig 2021-02-17 20:39:05 UTC
++++ Modules/_decimal/_decimal.c
+@@ -3284,7 +3284,7 @@ dec_format(PyObject *dec, PyObject *args)
+ }
+ else {
+ size_t n = strlen(spec.dot);
+- if (n > 1 || (n == 1 && !isascii((uchar)spec.dot[0]))) {
++ if (n > 1 || (n == 1 && !isascii((unsigned char)spec.dot[0]))) {
+ /* fix locale dependent non-ascii characters */
+ dot = dotsep_as_utf8(spec.dot);
+ if (dot == NULL) {
+@@ -3293,7 +3293,7 @@ dec_format(PyObject *dec, PyObject *args)
+ spec.dot = PyBytes_AS_STRING(dot);
+ }
+ n = strlen(spec.sep);
+- if (n > 1 || (n == 1 && !isascii((uchar)spec.sep[0]))) {
++ if (n > 1 || (n == 1 && !isascii((unsigned char)spec.sep[0]))) {
+ /* fix locale dependent non-ascii characters */
+ sep = dotsep_as_utf8(spec.sep);
+ if (sep == NULL) {
diff --git a/lang/python38/files/patch-setup.py b/lang/python38/files/patch-setup.py
new file mode 100644
index 000000000000..7bd5deb4202a
--- /dev/null
+++ b/lang/python38/files/patch-setup.py
@@ -0,0 +1,11 @@
+--- setup.py.orig 2021-05-03 09:47:56 UTC
++++ setup.py
+@@ -2051,7 +2051,7 @@ class PyBuildExt(build_ext):
+ undef_macros = []
+ if '--with-system-libmpdec' in sysconfig.get_config_var("CONFIG_ARGS"):
+ include_dirs = []
+- libraries = [':libmpdec.so.2']
++ libraries = ['mpdec']
+ sources = ['_decimal/_decimal.c']
+ depends = ['_decimal/docstrings.h']
+ else: