buildroot/package/python3/0023-Add-an-option-to-disable-IDLE.patch
Adam Duskett 6e7e733f3b python3: bump to 3.7.0
Other changes include:

 - Refreshing all necessary patches for 3.7.0

 - Add a hash for the license file.

 - Python no longer has it's own internal libffi, as such, host-libffi
   is now required to build host-python3, and is added as a
   dependency.

 - Drop PYTHON3_LIBTOOL_PATCH = NO, since there is no longer any
   internal libffi copy that was causing the libtool patching process
   to fail.

 - A new core module "uuid" is now is added in the Config.in file, and
   relies on util-linux's uuid library.

 - Also, a new patch: 0030-Fix-cross-compiling-the-uuid-module.patch
   is required to fix compiling the uuid module, because the include
   directory search path for uuid.h is hardcoded to /usr/include/uuid,
   which causes an "unsafe for cross-compilation" error during
   compiling if the host pc has uuid headers installed.

 - 0031-Add-an-option-to-disable-uuid-module.patch is added to allow
   disabling the Python3 UUID module, so that when
   BR2_PACKAGE_PYTHON3_UUID is disabled by the UUID library is
   present, the uuid Python module is not built, as expected.

 - 0032-fix-building-on-older-distributions.patch is added to change
   os.replace by os.rename in the update_file.py script to fix
   building on older Linux distributions that have older versions of
   python that don't include os.replace.

   os.rename acts in the same way as os.replace, but is cross-platform
   compatible. Because Buildroot is guaranteed to be built in a POSIX
   environment, it is safe to change replace to rename.

Tested on CentOS6 and Fedora28, All test results passed:
             br-arm-full [1/6]: OK
  br-arm-cortex-a9-glibc [2/6]: OK
   br-arm-cortex-m4-full [3/6]: SKIPPED
          br-x86-64-musl [4/6]: OK
      br-arm-full-static [5/6]: SKIPPED
armv5-ctng-linux-gnueabi [6/6]: OK
6 builds, 2 skipped, 0 build failed, 0 legal-info failed

Signed-off-by: Adam Duskett <aduskett@gmail.com>
[Thomas:
 - remove PYTHON3_LIBTOOL_PATCH = NO
 - improve the solution in patch 0030-Fix-cross-compiling-the-uuid-module
 - add patch 0031-Add-an-option-to-disable-uuid-module]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-08-18 11:17:07 +02:00

90 lines
2.9 KiB
Diff

From 5bbd94f014c89665d02a8a32442822ab7c5520d0 Mon Sep 17 00:00:00 2001
From: Maxime Ripard <maxime.ripard@free-electrons.com>
Date: Wed, 22 Feb 2017 17:45:14 -0800
Subject: [PATCH] Add an option to disable IDLE
IDLE is an IDE embedded into python, written using Tk, so it doesn't make
much sense to have it into our build.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
[ Andrey Smirnov: ported to Python 3.6 ]
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
Makefile.pre.in | 7 ++++++-
configure.ac | 6 ++++++
setup.py | 4 +++-
3 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
index dc4b92b6fe..3e43066d90 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1219,7 +1219,9 @@ bininstall: altbininstall
-rm -f $(DESTDIR)$(LIBPC)/python3.pc
(cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python3.pc)
-rm -f $(DESTDIR)$(BINDIR)/idle3
+ifeq (@IDLE@,yes)
(cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3)
+endif
-rm -f $(DESTDIR)$(BINDIR)/pydoc3
ifeq (@PYDOC@,yes)
(cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3)
@@ -1264,7 +1266,6 @@ LIBSUBDIRS= site-packages \
html json http dbm xmlrpc \
logging csv wsgiref urllib \
ctypes ctypes/macholib \
- idlelib idlelib/Icons \
distutils distutils/command \
importlib \
turtledemo \
@@ -1350,6 +1351,10 @@ ifeq (@EXPAT@,yes)
LIBSUBDIRS += $(XMLLIBSUBDIRS)
endif
+ifeq (@IDLE@,yes)
+LIBSUBDIRS += idlelib idlelib/Icons
+endif
+
ifeq (@LIB2TO3@,yes)
LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2
TESTSUBDIRS += lib2to3/tests \
diff --git a/configure.ac b/configure.ac
index 1d610e132b..2699e7ceb1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3233,6 +3233,12 @@ AC_ARG_ENABLE(lib2to3,
AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]),
[ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ])
+AC_SUBST(IDLE)
+
+AC_ARG_ENABLE(idle3,
+ AS_HELP_STRING([--disable-idle3], [disable idle3 IDE]),
+ [ IDLE="${enableval}" ], [ IDLE=yes ])
+
# Check for enable-ipv6
AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified])
AC_MSG_CHECKING([if --enable-ipv6 is specified])
diff --git a/setup.py b/setup.py
index 38aa5e605e..d642825c1e 100644
--- a/setup.py
+++ b/setup.py
@@ -2333,11 +2333,13 @@ def main():
import warnings
warnings.filterwarnings("ignore",category=DeprecationWarning)
- scripts = ['Tools/scripts/idle3', 'Lib/smtpd.py']
+ scripts = [ 'Lib/smtpd.py']
if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"):
scripts += [ 'Tools/scripts/pydoc3' ]
if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"):
scripts += [ 'Tools/scripts/2to3' ]
+ if not '--disable-idle3' in sysconfig.get_config_var("CONFIG_ARGS"):
+ scripts += [ 'Tools/scripts/idle3' ]
setup(# PyPI Metadata (PEP 301)
name = "Python",
--
2.13.5