aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Krah <skrah@bytereef.org>2021-05-11 21:40:44 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2021-05-11 21:47:33 +0000
commit00d92d8c3d0640d1c1850e508c38f907bd1a3b92 (patch)
tree06686b7f7534b6c671a998715a2307864ed160e5
parentac770530c4fd75bdff85e961d2bf0be5d112a843 (diff)
downloadports-00d92d8c3d0640d1c1850e508c38f907bd1a3b92.tar.gz
ports-00d92d8c3d0640d1c1850e508c38f907bd1a3b92.zip
lang/python37: Use libmpdec from ports
- Bump PORTREVISION for dependency and package change PR: 253601
-rw-r--r--lang/python37/Makefile7
-rw-r--r--lang/python37/files/patch-Modules___decimal___decimal.c32
-rw-r--r--lang/python37/files/patch-setup.py11
3 files changed, 47 insertions, 3 deletions
diff --git a/lang/python37/Makefile b/lang/python37/Makefile
index ffec753c7ff0..6f4225651176 100644
--- a/lang/python37/Makefile
+++ b/lang/python37/Makefile
@@ -2,6 +2,7 @@
PORTNAME= python
PORTVERSION= ${PYTHON_PORTVERSION}
+PORTREVISION= 1
CATEGORIES= lang python
MASTER_SITES= PYTHON/ftp/python/${PORTVERSION}
PKGNAMESUFFIX= ${PYTHON_SUFFIX}
@@ -13,7 +14,8 @@ COMMENT= Interpreted object-oriented programming language
LICENSE= PSFL
-LIB_DEPENDS= libffi.so:devel/libffi
+LIB_DEPENDS= libffi.so:devel/libffi \
+ libmpdec.so:math/mpdecimal
USES= cpe ncurses pathfix pkgconfig readline:port shebangfix ssl tar:xz
PATHFIX_MAKEFILEIN= Makefile.pre.in
@@ -28,8 +30,7 @@ PYTHON_VERSION= python${PYTHON_VER}
PYTHON_SUFFIX= ${PYTHON_VER:S/.//g}
DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm
-CONFIGURE_ARGS+= --enable-shared --without-ensurepip \
- --with-system-ffi
+CONFIGURE_ARGS+= --enable-shared --with-system-ffi --with-system-libmpdec --without-ensurepip
CONFIGURE_ENV+= OPT="" DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS}" # Null out OPT to respect user CFLAGS and remove optimizations
INSTALL_TARGET= altinstall # Don't want cloberring of unprefixed files
diff --git a/lang/python37/files/patch-Modules___decimal___decimal.c b/lang/python37/files/patch-Modules___decimal___decimal.c
new file mode 100644
index 000000000000..b93340cc3f40
--- /dev/null
+++ b/lang/python37/files/patch-Modules___decimal___decimal.c
@@ -0,0 +1,32 @@
+--- Modules/_decimal/_decimal.c.orig 2021-02-17 21:21:24 UTC
++++ Modules/_decimal/_decimal.c
+@@ -58,6 +58,11 @@
+
+ #define BOUNDS_CHECK(x, MIN, MAX) x = (x < MIN || MAX < x) ? MAX : x
+
++#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
++ #define UNUSED __attribute__((unused))
++#else
++ #define UNUSED
++#endif
+
+ /* _Py_DEC_MINALLOC >= MPD_MINALLOC */
+ #define _Py_DEC_MINALLOC 4
+@@ -3277,7 +3282,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) {
+@@ -3286,7 +3291,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/python37/files/patch-setup.py b/lang/python37/files/patch-setup.py
new file mode 100644
index 000000000000..1121e27d82e3
--- /dev/null
+++ b/lang/python37/files/patch-setup.py
@@ -0,0 +1,11 @@
+--- setup.py.orig 2021-02-17 21:21:03 UTC
++++ setup.py
+@@ -2057,7 +2057,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: