mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-30 14:46:31 +00:00
python3: optional decimal module support
This commit makes the decimal module support optional: since Python 3.3 it relies on an external library. The source code of this library is available built-in as part of the Python sources, but in Buildroot we generally prefer to use the external library when possible. To achieve this, this commit adds a patch to Python that is similar to the one we use for expat support, but this time for the libmpdec/mpdecimal library. As a consequence, since mpdecimal now builds properly even when <fenv.h> is not available (on i386), this commit fixes: http://autobuild.buildroot.org/results/b64/b64d5c941a7cac00619da3a0696939f86a8eafc2/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
6bebd7f271
commit
458bdf3f5f
@ -54,6 +54,12 @@ config BR2_PACKAGE_PYTHON3_CURSES
|
|||||||
help
|
help
|
||||||
curses module for Python3.
|
curses module for Python3.
|
||||||
|
|
||||||
|
config BR2_PACKAGE_PYTHON3_DECIMAL
|
||||||
|
select BR2_PACKAGE_MPDECIMAL
|
||||||
|
bool "decimal module"
|
||||||
|
help
|
||||||
|
decimal module for Python3.
|
||||||
|
|
||||||
config BR2_PACKAGE_PYTHON3_PYEXPAT
|
config BR2_PACKAGE_PYTHON3_PYEXPAT
|
||||||
select BR2_PACKAGE_EXPAT
|
select BR2_PACKAGE_EXPAT
|
||||||
bool "pyexpat"
|
bool "pyexpat"
|
||||||
|
53
package/python3/python3-111-optional-decimal.patch
Normal file
53
package/python3/python3-111-optional-decimal.patch
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
Add an option to disable decimal
|
||||||
|
|
||||||
|
This patch replaces the existing --with-system-libmpdec option with a
|
||||||
|
--with-libmpdec={system,builtin,none} option, which allows to tell
|
||||||
|
Python whether we want to use the system libmpdec (already installed),
|
||||||
|
the libmpdec builtin the Python sources, or no libmpdec at all.
|
||||||
|
|
||||||
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||||
|
---
|
||||||
|
|
||||||
|
Index: b/configure.ac
|
||||||
|
===================================================================
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -2385,13 +2385,20 @@
|
||||||
|
AC_MSG_RESULT($with_system_ffi)
|
||||||
|
|
||||||
|
# Check for use of the system libmpdec library
|
||||||
|
-AC_MSG_CHECKING(for --with-system-libmpdec)
|
||||||
|
-AC_ARG_WITH(system_libmpdec,
|
||||||
|
- AS_HELP_STRING([--with-system-libmpdec], [build _decimal module using an installed libmpdec library]),
|
||||||
|
+AC_MSG_CHECKING(for --with-libmpdec)
|
||||||
|
+AC_ARG_WITH(libmpdec,
|
||||||
|
+ AS_HELP_STRING([--with-libmpdec], [select which libmpdec version to use: system, builtin, none]),
|
||||||
|
[],
|
||||||
|
- [with_system_libmpdec="no"])
|
||||||
|
+ [with_libmpdec="builtin"])
|
||||||
|
|
||||||
|
-AC_MSG_RESULT($with_system_libmpdec)
|
||||||
|
+AC_MSG_RESULT($with_libmpdec)
|
||||||
|
+if test "$with_libmpdec" != "none"; then
|
||||||
|
+ MPDEC=yes
|
||||||
|
+else
|
||||||
|
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _decimal"
|
||||||
|
+ MPDEC=no
|
||||||
|
+fi
|
||||||
|
+AC_SUBST(MPDEC)
|
||||||
|
|
||||||
|
# Check for support for loadable sqlite extensions
|
||||||
|
AC_MSG_CHECKING(for --enable-loadable-sqlite-extensions)
|
||||||
|
Index: b/setup.py
|
||||||
|
===================================================================
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -1972,7 +1972,7 @@
|
||||||
|
def _decimal_ext(self):
|
||||||
|
extra_compile_args = []
|
||||||
|
undef_macros = []
|
||||||
|
- if '--with-system-libmpdec' in sysconfig.get_config_var("CONFIG_ARGS"):
|
||||||
|
+ if '--with-libmpdec=system' in sysconfig.get_config_var("CONFIG_ARGS"):
|
||||||
|
include_dirs = []
|
||||||
|
libraries = [':libmpdec.so.2']
|
||||||
|
sources = ['_decimal/_decimal.c']
|
@ -51,6 +51,13 @@ else
|
|||||||
PYTHON3_CONF_OPT += --disable-curses
|
PYTHON3_CONF_OPT += --disable-curses
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BR2_PACKAGE_PYTHON3_DECIMAL),y)
|
||||||
|
PYTHON3_DEPENDENCIES += mpdecimal
|
||||||
|
PYTHON3_CONF_OPT += --with-libmpdec=system
|
||||||
|
else
|
||||||
|
PYTHON3_CONF_OPT += --with-libmpdec=none
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(BR2_PACKAGE_PYTHON3_PYEXPAT),y)
|
ifeq ($(BR2_PACKAGE_PYTHON3_PYEXPAT),y)
|
||||||
PYTHON3_DEPENDENCIES += expat
|
PYTHON3_DEPENDENCIES += expat
|
||||||
PYTHON3_CONF_OPT += --with-expat=system
|
PYTHON3_CONF_OPT += --with-expat=system
|
||||||
|
Loading…
x
Reference in New Issue
Block a user