git: 9738c1c2eadc - main - lang/python39: Use libmpdec from ports

Po-Chuan Hsieh sunpoet at FreeBSD.org
Tue May 11 21:54:09 UTC 2021


The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9738c1c2eadc9a8bd599397bcfbf84c37844a554

commit 9738c1c2eadc9a8bd599397bcfbf84c37844a554
Author:     Stefan Krah <skrah at bytereef.org>
AuthorDate: 2021-05-11 21:44:39 +0000
Commit:     Po-Chuan Hsieh <sunpoet at FreeBSD.org>
CommitDate: 2021-05-11 21:47:33 +0000

    lang/python39: Use libmpdec from ports
    
    - Bump PORTREVISION for dependency and package change
    
    PR:             253604
---
 lang/python39/Makefile                               |  9 +++++++--
 .../files/patch-Modules___decimal___decimal.c        | 20 ++++++++++++++++++++
 lang/python39/files/patch-setup.py                   | 11 +++++++++++
 3 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/lang/python39/Makefile b/lang/python39/Makefile
index 5836df0d3b61..cde83321a64e 100644
--- a/lang/python39/Makefile
+++ b/lang/python39/Makefile
@@ -2,6 +2,7 @@
 
 PORTNAME=	python
 PORTVERSION=	${PYTHON_PORTVERSION}
+PORTREVISION=	1
 CATEGORIES=	lang python
 MASTER_SITES=	PYTHON/ftp/python/${PORTVERSION}
 PKGNAMESUFFIX=	${PYTHON_SUFFIX}
@@ -49,13 +50,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
 
@@ -72,6 +74,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/python39/files/patch-Modules___decimal___decimal.c b/lang/python39/files/patch-Modules___decimal___decimal.c
new file mode 100644
index 000000000000..12715927ce50
--- /dev/null
+++ b/lang/python39/files/patch-Modules___decimal___decimal.c
@@ -0,0 +1,20 @@
+--- Modules/_decimal/_decimal.c.orig	2020-12-07 14:02:38 UTC
++++ Modules/_decimal/_decimal.c
+@@ -3280,7 +3280,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) {
+@@ -3289,7 +3289,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/python39/files/patch-setup.py b/lang/python39/files/patch-setup.py
new file mode 100644
index 000000000000..1c943df2af34
--- /dev/null
+++ b/lang/python39/files/patch-setup.py
@@ -0,0 +1,11 @@
+--- setup.py.orig	2021-02-17 17:43:29 UTC
++++ setup.py
+@@ -2196,7 +2196,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:


More information about the dev-commits-ports-all mailing list