Browse Source
* change LD_FLAGS * rename BOXARCH => TARGET_ARCH * expand PKG_CONFIG_LIBDIR * expand PKG_CONFIG_PATHmaster
vanhofen
4 years ago
57 changed files with 2546 additions and 111 deletions
@ -0,0 +1,73 @@ |
|||
#
|
|||
# set up host environment for other makefiles
|
|||
#
|
|||
# -----------------------------------------------------------------------------
|
|||
|
|||
HOST_DIR = $(BASE_DIR)/host |
|||
HOST_DEPS_DIR = $(HOST_DIR)/deps |
|||
|
|||
# -----------------------------------------------------------------------------
|
|||
|
|||
ifndef HOST_AR |
|||
HOST_AR := ar |
|||
endif |
|||
ifndef HOST_AS |
|||
HOST_AS := as |
|||
endif |
|||
ifndef HOST_CC |
|||
HOST_CC := gcc |
|||
HOST_CC := $(shell which $(HOST_CC) || type -p $(HOST_CC) || echo gcc) |
|||
endif |
|||
HOST_CC_NOCCACHE := $(HOST_CC) |
|||
ifndef HOST_CXX |
|||
HOST_CXX := g++ |
|||
HOST_CXX := $(shell which $(HOST_CXX) || type -p $(HOST_CXX) || echo g++) |
|||
endif |
|||
HOST_CXX_NOCCACHE := $(HOST_CXX) |
|||
ifndef HOST_CPP |
|||
HOST_CPP := cpp |
|||
endif |
|||
ifndef HOST_LD |
|||
HOST_LD := ld |
|||
endif |
|||
ifndef HOST_LN |
|||
HOST_LN := ln |
|||
endif |
|||
ifndef HOST_NM |
|||
HOST_NM := nm |
|||
endif |
|||
ifndef HOST_OBJCOPY |
|||
HOST_OBJCOPY := objcopy |
|||
endif |
|||
ifndef HOST_RANLIB |
|||
HOST_RANLIB := ranlib |
|||
endif |
|||
HOST_AR := $(shell which $(HOST_AR) || type -p $(HOST_AR) || echo ar) |
|||
HOST_AS := $(shell which $(HOST_AS) || type -p $(HOST_AS) || echo as) |
|||
HOST_CPP := $(shell which $(HOST_CPP) || type -p $(HOST_CPP) || echo cpp) |
|||
HOST_LD := $(shell which $(HOST_LD) || type -p $(HOST_LD) || echo ld) |
|||
HOST_LN := $(shell which $(HOST_LN) || type -p $(HOST_LN) || echo ln) |
|||
HOST_NM := $(shell which $(HOST_NM) || type -p $(HOST_NM) || echo nm) |
|||
HOST_OBJCOPY := $(shell which $(HOST_OBJCOPY) || type -p $(HOST_OBJCOPY) || echo objcopy) |
|||
HOST_RANLIB := $(shell which $(HOST_RANLIB) || type -p $(HOST_RANLIB) || echo ranlib) |
|||
|
|||
export HOST_AR HOST_AS HOST_CC HOST_CXX HOST_LD |
|||
export HOST_CC_NOCCACHE HOST_CXX_NOCCACHE |
|||
|
|||
# -----------------------------------------------------------------------------
|
|||
|
|||
HOST_PYTHON_BUILD = \
|
|||
CC="$(HOST_CC)" \
|
|||
CFLAGS="$(CFLAGS)" \
|
|||
LDFLAGS="$(LDFLAGS)" \
|
|||
LDSHARED="$(HOST_CC) -shared" \
|
|||
PYTHONPATH=$(HOST_DIR)/$(HOST_PYTHON3_BASE_DIR)/site-packages \
|
|||
$(HOST_DIR)/bin/python3 ./setup.py build --executable=/usr/python |
|||
|
|||
HOST_PYTHON_INSTALL = \
|
|||
CC="$(HOST_CC)" \
|
|||
CFLAGS="$(CFLAGS)" \
|
|||
LDFLAGS="$(LDFLAGS)" \
|
|||
LDSHARED="$(HOST_CC) -shared" \
|
|||
PYTHONPATH=$(HOST_DIR)/$(HOST_PYTHON3_BASE_DIR)/site-packages \
|
|||
$(HOST_DIR)/bin/python3 ./setup.py install --root=$(HOST_DIR) --prefix= |
@ -0,0 +1,45 @@ |
|||
From ea85465e608178080c3b4d51af9765a8c7c0dae3 Mon Sep 17 00:00:00 2001 |
|||
From: Matt Weber <matthew.weber@rockwellcollins.com> |
|||
Date: Sat, 26 Oct 2019 09:17:29 -0500 |
|||
Subject: [PATCH] Prefer ext static libs when --default-library=static |
|||
|
|||
This patch adds a case in the library pattern logic to prefer static |
|||
libraries when the Meson Core option for "default_library" is set to |
|||
solely static. |
|||
|
|||
The existing library search order makes sense for cases of shared and |
|||
shared / static mixed. However if using a prebuilt cross-toolchain, |
|||
they usually provide both a static and shared version of sysroot |
|||
libraries. This presents a problem in a complete static build where |
|||
there won't be shared libraries at runtime and during build time there |
|||
are failures like "ld: attempted static link of dynamic object". |
|||
|
|||
Bug: |
|||
https://github.com/mesonbuild/meson/issues/6108 |
|||
|
|||
Fixes: |
|||
http://autobuild.buildroot.net/results/db1740b4777f436324218c52bc7b08e5c21b667d/ |
|||
http://autobuild.buildroot.net/results/c17/c17bbb12d9deadd64a441b36e324cfbbe8aba5be/ |
|||
|
|||
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> |
|||
---
|
|||
mesonbuild/compilers/mixins/clike.py | 3 +++ |
|||
1 file changed, 3 insertions(+) |
|||
|
|||
diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py
|
|||
index 47e97d261..729c98acc 100644
|
|||
--- a/mesonbuild/compilers/mixins/clike.py
|
|||
+++ b/mesonbuild/compilers/mixins/clike.py
|
|||
@@ -940,6 +940,9 @@ class CLikeCompiler:
|
|||
elif env.machines[self.for_machine].is_cygwin(): |
|||
shlibext = ['dll', 'dll.a'] |
|||
prefixes = ['cyg'] + prefixes |
|||
+ elif env.coredata.get_builtin_option('default_library') == 'static':
|
|||
+ # Linux/BSDs
|
|||
+ shlibext = ['a']
|
|||
else: |
|||
# Linux/BSDs |
|||
shlibext = ['so'] |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,41 @@ |
|||
From 8622d37587169c1e4a4206a9462868ede057f0e8 Mon Sep 17 00:00:00 2001 |
|||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
|||
Date: Sat, 15 Feb 2020 15:13:59 +0100 |
|||
Subject: [PATCH] mesonbuild/dependencies/base.py: add pkg_config_static |
|||
|
|||
Allow the user to always call pkg-config with --static thanks to a |
|||
pkg_config_static property. This will allow to fix static build failures |
|||
with libglib2: |
|||
|
|||
FAILED: gio/gio |
|||
/home/naourr/work/instance-0/output-1/host/bin/arm-linux-gcc -o gio/gio 'gio/6ae6c9e@@gio@exe/gio-tool.c.o' 'gio/6ae6c9e@@gio@exe/gio-tool-cat.c.o' 'gio/6ae6c9e@@gio@exe/gio-tool-copy.c.o' 'gio/6ae6c9e@@gio@exe/gio-tool-info.c.o' 'gio/6ae6c9e@@gio@exe/gio-tool-list.c.o' 'gio/6ae6c9e@@gio@exe/gio-tool-mime.c.o' 'gio/6ae6c9e@@gio@exe/gio-tool-mkdir.c.o' 'gio/6ae6c9e@@gio@exe/gio-tool-monitor.c.o' 'gio/6ae6c9e@@gio@exe/gio-tool-mount.c.o' 'gio/6ae6c9e@@gio@exe/gio-tool-move.c.o' 'gio/6ae6c9e@@gio@exe/gio-tool-open.c.o' 'gio/6ae6c9e@@gio@exe/gio-tool-rename.c.o' 'gio/6ae6c9e@@gio@exe/gio-tool-remove.c.o' 'gio/6ae6c9e@@gio@exe/gio-tool-save.c.o' 'gio/6ae6c9e@@gio@exe/gio-tool-set.c.o' 'gio/6ae6c9e@@gio@exe/gio-tool-trash.c.o' 'gio/6ae6c9e@@gio@exe/gio-tool-tree.c.o' -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -static -Wl,--start-group gio/libgio-2.0.a glib/libglib-2.0.a gobject/libgobject-2.0.a gmodule/libgmodule-2.0.a -pthread /home/naourr/work/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libz.a /home/naourr/work/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libmount.a /home/naourr/work/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libpcre.a -lm /home/naourr/work/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libffi.a -Wl,--end-group '-Wl,-rpath,$ORIGIN/:$ORIGIN/../glib:$ORIGIN/../gobject:$ORIGIN/../gmodule' -Wl,-rpath-link,/home/naourr/work/instance-0/output-1/build/libglib2-2.62.4/build/gio -Wl,-rpath-link,/home/naourr/work/instance-0/output-1/build/libglib2-2.62.4/build/glib -Wl,-rpath-link,/home/naourr/work/instance-0/output-1/build/libglib2-2.62.4/build/gobject -Wl,-rpath-link,/home/naourr/work/instance-0/output-1/build/libglib2-2.62.4/build/gmodule |
|||
/home/naourr/work/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/naourr/work/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libmount.a(la-fs.o): in function `__mnt_fs_set_source_ptr': |
|||
fs.c:(.text+0x5ec): undefined reference to `blkid_parse_tag_string' |
|||
|
|||
Fixes: |
|||
- http://autobuild.buildroot.org/results/0d36952def63cb69628697fa6408aeb6ce10cb5b |
|||
|
|||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
|||
[Romain: Fix if condition, pkg_config_static is a string not a boolean] |
|||
Signed-off-by: Romain Naour <romain.naour@gmail.com> |
|||
---
|
|||
mesonbuild/dependencies/base.py | 3 ++- |
|||
1 file changed, 2 insertions(+), 1 deletion(-) |
|||
|
|||
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
|
|||
index 23701da95..83e51626d 100644
|
|||
--- a/mesonbuild/dependencies/base.py
|
|||
+++ b/mesonbuild/dependencies/base.py
|
|||
@@ -849,7 +849,8 @@ class PkgConfigDependency(ExternalDependency):
|
|||
def _set_libs(self): |
|||
env = None |
|||
libcmd = [self.name, '--libs'] |
|||
- if self.static:
|
|||
+ if self.static or \
|
|||
+ (self.env.properties[self.for_machine].get('pkg_config_static', None) == 'true'):
|
|||
libcmd.append('--static') |
|||
# Force pkg-config to output -L fields even if they are system |
|||
# paths so we can do manual searching with cc.find_library() later. |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,30 @@ |
|||
From 4645f74eb668cc1cf876d1e9bef933591da7575c Mon Sep 17 00:00:00 2001 |
|||
From: Adam Duskett <aduskett@gmail.com> |
|||
Date: Mon, 3 Feb 2020 06:21:57 -0800 |
|||
Subject: [PATCH] set minimum cmake version to 3.10 |
|||
|
|||
The CMakeLists.txt file uses the CMP0091 which is an MSVC runtime library flag |
|||
abstraction macro. |
|||
|
|||
Because we are not building ninja for Microsoft, it is safe to remove this |
|||
macro and set the minimum version to 3.10. |
|||
|
|||
Signed-off-by: Adam Duskett <aduskett@gmail.com> |
|||
---
|
|||
CMakeLists.txt | 3 +-- |
|||
1 file changed, 1 insertion(+), 2 deletions(-) |
|||
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|||
index 60fd8a1..a040e0b 100644
|
|||
--- a/CMakeLists.txt
|
|||
+++ b/CMakeLists.txt
|
|||
@@ -1,5 +1,4 @@
|
|||
-cmake_minimum_required(VERSION 3.15)
|
|||
-cmake_policy(SET CMP0091 NEW)
|
|||
+cmake_minimum_required(VERSION 3.10)
|
|||
project(ninja) |
|||
|
|||
if(CMAKE_BUILD_TYPE MATCHES "Release") |
|||
--
|
|||
2.24.1 |
|||
|
@ -0,0 +1,29 @@ |
|||
From 87caa8c4bc536f745aceed757ce8a492fbdba84f Mon Sep 17 00:00:00 2001 |
|||
From: Adam Duskett <aduskett@gmail.com> |
|||
Date: Mon, 3 Feb 2020 07:36:58 -0800 |
|||
Subject: [PATCH] remove fdiagnostics-color from make command |
|||
|
|||
-fdiagnostics-color was introduced in gcc 4.9 and the minimum supported version
|
|||
that Buildroot supports is 4.8. |
|||
|
|||
Signed-off-by: Adam Duskett <aduskett@gmail.com> |
|||
---
|
|||
CMakeLists.txt | 2 +- |
|||
1 file changed, 1 insertion(+), 1 deletion(-) |
|||
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|||
index a040e0b..af8010f 100644
|
|||
--- a/CMakeLists.txt
|
|||
+++ b/CMakeLists.txt
|
|||
@@ -18,7 +18,7 @@ if(MSVC)
|
|||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>") |
|||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4 /GR- /Zc:__cplusplus") |
|||
else() |
|||
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated -fdiagnostics-color")
|
|||
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated")
|
|||
endif() |
|||
|
|||
find_program(RE2C re2c) |
|||
--
|
|||
2.24.1 |
|||
|
@ -0,0 +1,56 @@ |
|||
From 7982ecebe1c1c41e82779a65fa2d93f19ffd755f Mon Sep 17 00:00:00 2001 |
|||
From: Yegor Yefremov <yegorslists@googlemail.com> |
|||
Date: Wed, 5 Feb 2020 12:28:44 +0100 |
|||
Subject: [PATCH] CMake: fix object library usage |
|||
|
|||
Object libraries cannot be use in target_link_libraries() command |
|||
as they are no normal binary files like *.a or *.so but a collection |
|||
of object files. |
|||
|
|||
See add_library() definition for details. |
|||
|
|||
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> |
|||
---
|
|||
CMakeLists.txt | 9 ++++----- |
|||
1 file changed, 4 insertions(+), 5 deletions(-) |
|||
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|||
index af8010f..028a7bb 100644
|
|||
--- a/CMakeLists.txt
|
|||
+++ b/CMakeLists.txt
|
|||
@@ -83,8 +83,7 @@ target_compile_definitions(libninja PRIVATE _WIN32_WINNT=0x0601 __USE_MINGW_ANSI
|
|||
endif() |
|||
|
|||
# Main executable is library plus main() function. |
|||
-add_executable(ninja src/ninja.cc)
|
|||
-target_link_libraries(ninja PRIVATE libninja libninja-re2c)
|
|||
+add_executable(ninja src/ninja.cc $<TARGET_OBJECTS:libninja> $<TARGET_OBJECTS:libninja-re2c>)
|
|||
|
|||
# Tests all build into ninja_test executable. |
|||
add_executable(ninja_test |
|||
@@ -106,11 +105,12 @@ add_executable(ninja_test
|
|||
src/subprocess_test.cc |
|||
src/test.cc |
|||
src/util_test.cc |
|||
+ $<TARGET_OBJECTS:libninja>
|
|||
+ $<TARGET_OBJECTS:libninja-re2c>
|
|||
) |
|||
if(WIN32) |
|||
target_sources(ninja_test PRIVATE src/includes_normalize_test.cc src/msvc_helper_test.cc) |
|||
endif() |
|||
-target_link_libraries(ninja_test PRIVATE libninja libninja-re2c)
|
|||
|
|||
foreach(perftest |
|||
build_log_perftest |
|||
@@ -120,8 +120,7 @@ foreach(perftest
|
|||
hash_collision_bench |
|||
manifest_parser_perftest |
|||
) |
|||
- add_executable(${perftest} src/${perftest}.cc)
|
|||
- target_link_libraries(${perftest} PRIVATE libninja libninja-re2c)
|
|||
+ add_executable(${perftest} src/${perftest}.cc $<TARGET_OBJECTS:libninja> $<TARGET_OBJECTS:libninja-re2c>)
|
|||
endforeach() |
|||
|
|||
enable_testing() |
|||
--
|
|||
2.17.0 |
@ -0,0 +1,47 @@ |
|||
Add a new --executable option to distribute so that we can |
|||
force the shebang line in installed python scripts. |
|||
|
|||
--- a/setuptools/command/install.py
|
|||
+++ b/setuptools/command/install.py
|
|||
@@ -16,6 +16,7 @@ class install(orig.install):
|
|||
"""Use easy_install to install the package, w/dependencies""" |
|||
|
|||
user_options = orig.install.user_options + [ |
|||
+ ('executable=', 'e', "specify final destination interpreter path"),
|
|||
('old-and-unmanageable', None, "Try not to use this!"), |
|||
('single-version-externally-managed', None, |
|||
"used by system package builders to create 'flat' eggs"), |
|||
@@ -31,6 +32,7 @@ class install(orig.install):
|
|||
|
|||
def initialize_options(self): |
|||
orig.install.initialize_options(self) |
|||
+ self.executable = None
|
|||
self.old_and_unmanageable = None |
|||
self.single_version_externally_managed = None |
|||
|
|||
--- a/setuptools/command/install_scripts.py
|
|||
+++ b/setuptools/command/install_scripts.py
|
|||
@@ -12,6 +12,13 @@
|
|||
def initialize_options(self): |
|||
orig.install_scripts.initialize_options(self) |
|||
self.no_ep = False |
|||
+ self.executable = None
|
|||
+
|
|||
+ def finalize_options(self):
|
|||
+ orig.install_scripts.finalize_options(self)
|
|||
+ self.set_undefined_options('install',
|
|||
+ ('executable','executable')
|
|||
+ )
|
|||
|
|||
def run(self): |
|||
import setuptools.command.easy_install as ei |
|||
@@ -32,6 +39,8 @@
|
|||
) |
|||
bs_cmd = self.get_finalized_command('build_scripts') |
|||
exec_param = getattr(bs_cmd, 'executable', None) |
|||
+ if self.executable is not None:
|
|||
+ exec_param = self.executable
|
|||
bw_cmd = self.get_finalized_command("bdist_wininst") |
|||
is_wininst = getattr(bw_cmd, '_is_running', False) |
|||
writer = ei.ScriptWriter |
|||
|
@ -0,0 +1,25 @@ |
|||
From c39d0896930e25c224cc897660fc8511ccae30c8 Mon Sep 17 00:00:00 2001 |
|||
From: Changqing Li <changqing.li@windriver.com> |
|||
Date: Thu, 23 Apr 2020 10:01:12 +0000 |
|||
Subject: [PATCH] change shebang to python3 |
|||
|
|||
Upstream-Status: Pending |
|||
|
|||
Signed-off-by: Changqing Li <changqing.li@windriver.com> |
|||
---
|
|||
pkg_resources/_vendor/appdirs.py | 2 +- |
|||
1 files changed, 1 insertions(+), 1 deletions(-) |
|||
|
|||
diff --git a/pkg_resources/_vendor/appdirs.py b/pkg_resources/_vendor/appdirs.py
|
|||
index ae67001..933e398 100644
|
|||
--- a/pkg_resources/_vendor/appdirs.py
|
|||
+++ b/pkg_resources/_vendor/appdirs.py
|
|||
@@ -1,4 +1,4 @@
|
|||
-#!/usr/bin/env python
|
|||
+#!/usr/bin/env python3
|
|||
# -*- coding: utf-8 -*- |
|||
# Copyright (c) 2005-2010 ActiveState Software Inc. |
|||
# Copyright (c) 2013 Eddy Petrișor |
|||
--
|
|||
2.24.1 |
|||
|
@ -0,0 +1,56 @@ |
|||
From 322724e166d7ec0393aec577c12fdf6ef2b61e1d Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 22 Feb 2017 16:21:31 -0800 |
|||
Subject: [PATCH] Make the build of pyc files conditional |
|||
|
|||
This commit adds a new configure option --disable-pyc-build to disable |
|||
the compilation of pyc. |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
[ Andrey Smrinov: ported to Python 3.6 ] |
|||
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> |
|||
---
|
|||
Makefile.pre.in | 2 ++ |
|||
configure.ac | 6 ++++++ |
|||
2 files changed, 8 insertions(+) |
|||
|
|||
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
|||
index 77f91e72b1..0c809f3d8a 100644
|
|||
--- a/Makefile.pre.in
|
|||
+++ b/Makefile.pre.in
|
|||
@@ -1528,6 +1528,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c
|
|||
$(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ |
|||
$(DESTDIR)$(LIBDEST)/distutils/tests ; \ |
|||
fi |
|||
+ifeq (@PYC_BUILD@,yes)
|
|||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ |
|||
$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ |
|||
-j0 -d $(LIBDEST) -f \ |
|||
@@ -1555,6 +1556,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c
|
|||
$(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \ |
|||
-j0 -d $(LIBDEST)/site-packages -f \ |
|||
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages |
|||
+endif
|
|||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ |
|||
$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt |
|||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ |
|||
diff --git a/configure.ac b/configure.ac
|
|||
index d60f05251a..1ee5a09588 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -1112,6 +1112,12 @@ fi
|
|||
|
|||
AC_MSG_CHECKING(LDLIBRARY) |
|||
|
|||
+AC_SUBST(PYC_BUILD)
|
|||
+
|
|||
+AC_ARG_ENABLE(pyc-build,
|
|||
+ AS_HELP_STRING([--disable-pyc-build], [disable build of pyc files]),
|
|||
+ [ PYC_BUILD="${enableval}" ], [ PYC_BUILD=yes ])
|
|||
+
|
|||
# MacOSX framework builds need more magic. LDLIBRARY is the dynamic |
|||
# library that we build, but we do not want to link against it (we |
|||
# will find it with a -framework option). For this reason there is an |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,27 @@ |
|||
From 72e20220f3a592b3ab9f440fbe74efa9f9e82d49 Mon Sep 17 00:00:00 2001 |
|||
From: Vanya Sergeev <vsergeev@gmail.com> |
|||
Date: Wed, 23 Dec 2015 11:30:33 +0100 |
|||
Subject: [PATCH] Disable buggy_getaddrinfo configure test when cross-compiling |
|||
with IPv6 support |
|||
|
|||
Signed-off-by: Vanya Sergeev <vsergeev@gmail.com> |
|||
---
|
|||
configure.ac | 2 +- |
|||
1 file changed, 1 insertion(+), 1 deletion(-) |
|||
|
|||
diff --git a/configure.ac b/configure.ac
|
|||
index 1ee5a09588..c2445edc88 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -4175,7 +4175,7 @@ fi
|
|||
|
|||
AC_MSG_RESULT($ac_cv_buggy_getaddrinfo) |
|||
|
|||
-if test $have_getaddrinfo = no || test "$ac_cv_buggy_getaddrinfo" = yes
|
|||
+if test $have_getaddrinfo = no || test "$cross_compiling" != "yes" -a "$ac_cv_buggy_getaddrinfo" = yes
|
|||
then |
|||
if test $ipv6 = yes |
|||
then |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,108 @@ |
|||
From df7c95b4ceecf390b961d843a556c470ac9080b2 Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 22 Feb 2017 16:33:22 -0800 |
|||
Subject: [PATCH] Add infrastructure to disable the build of certain extensions |
|||
|
|||
Some of the extensions part of the Python core have dependencies on |
|||
external libraries (sqlite, tk, etc.) or are relatively big and not |
|||
necessarly always useful (CJK codecs for example). By extensions, we |
|||
mean part of Python modules that are written in C and therefore |
|||
compiled to binary code. |
|||
|
|||
Therefore, we introduce a small infrastructure that allows to disable |
|||
some of those extensions. This can be done inside the configure.ac by |
|||
adding values to the DISABLED_EXTENSIONS variable (which is a |
|||
word-separated list of extensions). |
|||
|
|||
The implementation works as follow : |
|||
|
|||
* configure.ac defines a DISABLED_EXTENSIONS variable, which is |
|||
substituted (so that when Makefile.pre is generated from |
|||
Makefile.pre.in, the value of the variable is substituted). For |
|||
now, this DISABLED_EXTENSIONS variable is empty, later patches will |
|||
use it. |
|||
|
|||
* Makefile.pre.in passes the DISABLED_EXTENSIONS value down to the |
|||
variables passed in the environment when calling the setup.py |
|||
script that actually builds and installs those extensions. |
|||
|
|||
* setup.py is modified so that the existing "disabled_module_list" is |
|||
filled with those pre-disabled extensions listed in |
|||
DISABLED_EXTENSIONS. |
|||
|
|||
Patch ported to python2.7 by Maxime Ripard <ripard@archos.com>, and |
|||
then extended by Thomas Petazzoni |
|||
<thomas.petazzoni@free-electrons.com>. |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
[ Andrey Smirnov: ported to Python 3.6 ] |
|||
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> |
|||
---
|
|||
Makefile.pre.in | 6 +++++- |
|||
configure.ac | 2 ++ |
|||
setup.py | 5 ++++- |
|||
3 files changed, 11 insertions(+), 2 deletions(-) |
|||
|
|||
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
|||
index 0c809f3d8a..7c3dde8dd4 100644
|
|||
--- a/Makefile.pre.in
|
|||
+++ b/Makefile.pre.in
|
|||
@@ -213,6 +213,8 @@ FILEMODE= 644
|
|||
# configure script arguments |
|||
CONFIG_ARGS= @CONFIG_ARGS@ |
|||
|
|||
+# disabled extensions
|
|||
+DISABLED_EXTENSIONS= @DISABLED_EXTENSIONS@
|
|||
|
|||
# Subdirectories with code |
|||
SRCDIRS= @SRCDIRS@ |
|||
@@ -629,6 +631,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o
|
|||
esac; \ |
|||
echo "$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ |
|||
_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ |
|||
+ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
|
|||
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build"; \ |
|||
$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ |
|||
_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ |
|||
@@ -1674,7 +1677,8 @@ libainstall: @DEF_MAKE_RULE@ python-config
|
|||
# Install the dynamically loadable modules |
|||
# This goes into $(exec_prefix) |
|||
sharedinstall: sharedmods |
|||
- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
|
|||
+ $(RUNSHARED) DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
|
|||
+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
|
|||
--prefix=$(prefix) \ |
|||
--install-scripts=$(BINDIR) \ |
|||
--install-platlib=$(DESTSHARED) \ |
|||
diff --git a/configure.ac b/configure.ac
|
|||
index c2445edc88..73d66167de 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3052,6 +3052,8 @@ LIBS="$withval $LIBS"
|
|||
|
|||
PKG_PROG_PKG_CONFIG |
|||
|
|||
+AC_SUBST(DISABLED_EXTENSIONS)
|
|||
+
|
|||
# Check for use of the system expat library |
|||
AC_MSG_CHECKING(for --with-system-expat) |
|||
AC_ARG_WITH(system_expat, |
|||
diff --git a/setup.py b/setup.py
|
|||
index 770866bca7..b6c829b3a5 100644
|
|||
--- a/setup.py
|
|||
+++ b/setup.py
|
|||
@@ -43,7 +43,10 @@ from distutils.spawn import find_executable
|
|||
TEST_EXTENSIONS = True |
|||
|
|||
# This global variable is used to hold the list of modules to be disabled. |
|||
-DISABLED_MODULE_LIST = []
|
|||
+try:
|
|||
+ DISABLED_MODULE_LIST = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ")
|
|||
+except KeyError:
|
|||
+ DISABLED_MODULE_LIST = list()
|
|||
|
|||
|
|||
def get_platform(): |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,67 @@ |
|||
From 61af65485f1dade4aa08d0cf2b24082aeda24c51 Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 23 Dec 2015 11:33:14 +0100 |
|||
Subject: [PATCH] Adjust library/header paths for cross-compilation |
|||
|
|||
When cross-compiling third-party extensions, the get_python_inc() or |
|||
get_python_lib() can be called, to return the path to headers or |
|||
libraries. However, they use the sys.prefix of the host Python, which |
|||
returns incorrect paths when cross-compiling (paths pointing to host |
|||
headers and libraries). |
|||
|
|||
In order to fix this, we introduce the _python_sysroot, _python_prefix |
|||
and _python_exec_prefix variables, that allow to override these |
|||
values, and get correct header/library paths when cross-compiling |
|||
third-party Python modules. |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
---
|
|||
Lib/distutils/command/build_ext.py | 5 ++++- |
|||
Lib/distutils/sysconfig.py | 15 +++++++++++---- |
|||
2 files changed, 15 insertions(+), 5 deletions(-) |
|||
|
|||
diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
|
|||
index 1a9bd1200f..3cf7d6746e 100644
|
|||
--- a/Lib/distutils/command/build_ext.py
|
|||
+++ b/Lib/distutils/command/build_ext.py
|
|||
@@ -234,7 +234,10 @@ class build_ext(Command):
|
|||
if (sysconfig.get_config_var('Py_ENABLE_SHARED')): |
|||
if not sysconfig.python_build: |
|||
# building third party extensions |
|||
- self.library_dirs.append(sysconfig.get_config_var('LIBDIR'))
|
|||
+ libdir = sysconfig.get_config_var('LIBDIR')
|
|||
+ if "_python_sysroot" in os.environ:
|
|||
+ libdir = os.environ.get("_python_sysroot") + libdir
|
|||
+ self.library_dirs.append(libdir)
|
|||
else: |
|||
# building python standard extensions |
|||
self.library_dirs.append('.') |
|||
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
|
|||
index 37feae5df7..e9c3a27856 100644
|
|||
--- a/Lib/distutils/sysconfig.py
|
|||
+++ b/Lib/distutils/sysconfig.py
|
|||
@@ -17,10 +17,17 @@ import sys
|
|||
from .errors import DistutilsPlatformError |
|||
|
|||
# These are needed in a couple of spots, so just compute them once. |
|||
-PREFIX = os.path.normpath(sys.prefix)
|
|||
-EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
|
|||
-BASE_PREFIX = os.path.normpath(sys.base_prefix)
|
|||
-BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix)
|
|||
+if "_python_sysroot" in os.environ:
|
|||
+ _sysroot=os.environ.get('_python_sysroot')
|
|||
+ PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix'))
|
|||
+ EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix'))
|
|||
+ BASE_PREFIX = PREFIX
|
|||
+ BASE_EXEC_PREFIX = EXEC_PREFIX
|
|||
+else:
|
|||
+ PREFIX = os.path.normpath(sys.prefix)
|
|||
+ EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
|
|||
+ BASE_PREFIX = os.path.normpath(sys.base_prefix)
|
|||
+ BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix)
|
|||
|
|||
# Path to the base directory of the project. On Windows the binary may |
|||
# live in project/PCbuild/win32 or project/PCbuild/amd64. |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,31 @@ |
|||
From 60d71e37d167ea89445250be436170a6cfee84e7 Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 23 Dec 2015 11:36:00 +0100 |
|||
Subject: [PATCH] Don't look in /usr/lib/termcap for libraries |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
---
|
|||
setup.py | 5 +---- |
|||
1 file changed, 1 insertion(+), 4 deletions(-) |
|||
|
|||
diff --git a/setup.py b/setup.py
|
|||
index b6c829b3a5..ec3ba60607 100644
|
|||
--- a/setup.py
|
|||
+++ b/setup.py
|
|||
@@ -1056,12 +1056,9 @@ class PyBuildExt(build_ext):
|
|||
pass # Issue 7384: Already linked against curses or tinfo. |
|||
elif curses_library: |
|||
readline_libs.append(curses_library) |
|||
- elif self.compiler.find_library_file(self.lib_dirs +
|
|||
- ['/usr/lib/termcap'],
|
|||
- 'termcap'):
|
|||
+ elif self.compiler.find_library_file(self.lib_dirs, 'termcap'):
|
|||
readline_libs.append('termcap') |
|||
self.add(Extension('readline', ['readline.c'], |
|||
- library_dirs=['/usr/lib/termcap'],
|
|||
extra_link_args=readline_extra_link_args, |
|||
libraries=readline_libs)) |
|||
else: |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,37 @@ |
|||
From f5933b8f973cd11698b52d535a10d0474e49f5a5 Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 23 Dec 2015 11:36:27 +0100 |
|||
Subject: [PATCH] Don't add multiarch paths |
|||
|
|||
The add_multiarch_paths() function leads, in certain build |
|||
environments, to the addition of host header paths to the CFLAGS, |
|||
which is not appropriate for cross-compilation. This patch fixes that |
|||
by simply removing the call to add_multiarch_paths() when we're |
|||
cross-compiling. |
|||
|
|||
Investigation done by David <buildroot-2014@inbox.com>. |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
---
|
|||
setup.py | 2 +- |
|||
1 file changed, 1 insertion(+), 1 deletion(-) |
|||
|
|||
diff --git a/setup.py b/setup.py
|
|||
index ec3ba60607..e27620035c 100644
|
|||
--- a/setup.py
|
|||
+++ b/setup.py
|
|||
@@ -749,10 +749,10 @@ class PyBuildExt(build_ext):
|
|||
if not CROSS_COMPILING: |
|||
add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') |
|||
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') |
|||
+ self.add_multiarch_paths()
|
|||
# only change this for cross builds for 3.3, issues on Mageia |
|||
if CROSS_COMPILING: |
|||
self.add_cross_compiling_paths() |
|||
- self.add_multiarch_paths()
|
|||
self.add_ldflags_cppflags() |
|||
|
|||
def init_inc_lib_dirs(self): |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,30 @@ |
|||
From 188c0ebfdb71f5252fa7701013b8d1209f28aef7 Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 23 Dec 2015 11:43:24 +0100 |
|||
Subject: [PATCH] Abort on failed module build |
|||
|
|||
When building a Python module fails, the setup.py script currently |
|||
doesn't exit with an error, and simply continues. This is not a really |
|||
nice behavior, so this patch changes setup.py to abort with an error, |
|||
so that the build issue is clearly noticeable. |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
---
|
|||
setup.py | 1 + |
|||
1 file changed, 1 insertion(+) |
|||
|
|||
diff --git a/setup.py b/setup.py
|
|||
index e27620035c..d3f0e663f2 100644
|
|||
--- a/setup.py
|
|||
+++ b/setup.py
|
|||
@@ -539,6 +539,7 @@ class PyBuildExt(build_ext):
|
|||
print("Failed to build these modules:") |
|||
print_three_column(failed) |
|||
print() |
|||
+ sys.exit(1)
|
|||
|
|||
if self.failed_on_import: |
|||
failed = self.failed_on_import[:] |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,33 @@ |
|||
From 9e6211b0d6d4610e5fb7d2c7e1152eb7c64d968b Mon Sep 17 00:00:00 2001 |
|||
From: Baruch Siach <baruch@tkos.co.il> |
|||
Date: Wed, 23 Dec 2015 11:44:02 +0100 |
|||
Subject: [PATCH] Serial ioctl() workaround |
|||
|
|||
The ioctls.h of some architectures (notably xtensa) references structs from |
|||
linux/serial.h. Make sure to include this header as well. |
|||
|
|||
Also, undef TIOCTTYGSTRUCT that require reference to internal kernel tty_struct, |
|||
but isn't actually referenced in modern kernels. |
|||
|
|||
Signed-off-by: Baruch Siach <baruch@tkos.co.il> |
|||
---
|
|||
Modules/termios.c | 2 ++ |
|||
1 file changed, 2 insertions(+) |
|||
|
|||
diff --git a/Modules/termios.c b/Modules/termios.c
|
|||
index 75e5e52320..eefbddfe69 100644
|
|||
--- a/Modules/termios.c
|
|||
+++ b/Modules/termios.c
|
|||
@@ -15,7 +15,9 @@
|
|||
#endif |
|||
|
|||
#include <termios.h> |
|||
+#include <linux/serial.h>
|
|||
#include <sys/ioctl.h> |
|||
+#undef TIOCTTYGSTRUCT
|
|||
|
|||
/* HP-UX requires that this be included to pick up MDCD, MCTS, MDSR, |
|||
* MDTR, MRI, and MRTS (apparently used internally by some things |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,35 @@ |
|||
From cb595a591c71e0bf7c63a3706b0be45ac6a642e3 Mon Sep 17 00:00:00 2001 |
|||
From: Christophe Vu-Brugier <cvubrugier@fastmail.fm> |
|||
Date: Wed, 23 Dec 2015 11:44:30 +0100 |
|||
Subject: [PATCH] Do not adjust the shebang of Python scripts for |
|||
cross-compilation |
|||
|
|||
The copy_scripts() method in distutils copies the scripts listed in |
|||
the setup file and adjusts the first line to refer to the current |
|||
Python interpreter. When cross-compiling, this means that the adjusted |
|||
shebang refers to the host Python interpreter. |
|||
|
|||
This patch modifies copy_scripts() to preserve the shebang when |
|||
cross-compilation is detected. |
|||
|
|||
Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm> |
|||
---
|
|||
Lib/distutils/command/build_scripts.py | 2 +- |
|||
1 file changed, 1 insertion(+), 1 deletion(-) |
|||
|
|||
diff --git a/Lib/distutils/command/build_scripts.py b/Lib/distutils/command/build_scripts.py
|
|||
index ccc70e6465..d6d54195c1 100644
|
|||
--- a/Lib/distutils/command/build_scripts.py
|
|||
+++ b/Lib/distutils/command/build_scripts.py
|
|||
@@ -91,7 +91,7 @@ class build_scripts(Command):
|
|||
adjust = True |
|||
post_interp = match.group(1) or b'' |
|||
|
|||
- if adjust:
|
|||
+ if adjust and not '_python_sysroot' in os.environ:
|
|||
log.info("copying and adjusting %s -> %s", script, |
|||
self.build_dir) |
|||
updated_files.append(outfile) |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,67 @@ |
|||
From eb51497e4b5799f8ab0277426d3e54414acb9d4b Mon Sep 17 00:00:00 2001 |
|||
From: Peter Korsgaard <peter@korsgaard.com> |
|||
Date: Thu, 20 Nov 2014 13:24:59 +0100 |
|||
Subject: [PATCH] Misc/python-config.sh.in: ensure sed invocations only match |
|||
beginning of strings |
|||
|
|||
The build/real prefix handling using sed breaks if build != real and the |
|||
standard include / lib directories are used ($prefix/include and $prefix/lib). |
|||
|
|||
E.G. |
|||
|
|||
prefix_build="/usr", libdir="$prefix/lib", includedir="$prefix/include". |
|||
|
|||
If this gets installed with make DESTDIR="/foo" install, then we end up with |
|||
prefix_real = prefix = "/foo/usr" as expected, but |
|||
includedir="/foo/foo/usr/include" and libdir="/foo/foo/usr/lib" because of |
|||
the double sed invocation (prefix is already expanded). Work around it by |
|||
ensuring we only match the beginning of the string. |
|||
|
|||
Submitted upstream: http://bugs.python.org/issue22907 |
|||
|
|||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com> |
|||
---
|
|||
Misc/python-config.sh.in | 13 +++++++------ |
|||
1 file changed, 7 insertions(+), 6 deletions(-) |
|||
|
|||
diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in
|
|||
index 2602fe24c0..a1bc3cd5f7 100644
|
|||
--- a/Misc/python-config.sh.in
|
|||
+++ b/Misc/python-config.sh.in
|
|||
@@ -24,18 +24,19 @@ installed_prefix ()
|
|||
echo $RESULT |
|||
} |
|||
|
|||
+prefix_build="@prefix@"
|
|||
prefix_real=$(installed_prefix "$0") |
|||
|
|||
# Use sed to fix paths from their built-to locations to their installed-to |
|||
# locations. Keep prefix & exec_prefix using their original values in case |
|||
# they are referenced in other configure variables, to prevent double |
|||
# substitution, issue #22140. |
|||
-prefix="@prefix@"
|
|||
-exec_prefix="@exec_prefix@"
|
|||
+prefix=$(echo "$prefix_build" | sed "s#^$prefix_build#$prefix_real#")
|
|||
+exec_prefix=$(echo "$exec_prefix_build" | sed "s#^$exec_prefix_build#$prefix_real#")
|
|||
exec_prefix_real=${prefix_real} |
|||
-includedir=$(echo "@includedir@" | sed "s#$prefix#$prefix_real#")
|
|||
-libdir=$(echo "@libdir@" | sed "s#$prefix#$prefix_real#")
|
|||
-CFLAGS=$(echo "@CFLAGS@" | sed "s#$prefix#$prefix_real#")
|
|||
+includedir=$(echo "@includedir@" | sed "s#^$prefix_build#$prefix_real#")
|
|||
+libdir=$(echo "@libdir@" | sed "s#^$prefix_build#$prefix_real#")
|
|||
+CFLAGS=$(echo "@CFLAGS@" | sed "s#^$prefix_build#$prefix_real#")
|
|||
VERSION="@VERSION@" |
|||
LIBM="@LIBM@" |
|||
LIBC="@LIBC@" |
|||
@@ -49,7 +50,7 @@ OPT="@OPT@"
|
|||
PY_ENABLE_SHARED="@PY_ENABLE_SHARED@" |
|||
LDVERSION="@LDVERSION@" |
|||
LIBDEST=${prefix_real}/lib/python${VERSION} |
|||
-LIBPL=$(echo "@LIBPL@" | sed "s#$prefix#$prefix_real#")
|
|||
+LIBPL=$(echo "@LIBPL@" | sed "s#^$prefix_build#$prefix_real#")
|
|||
SO="@EXT_SUFFIX@" |
|||
PYTHONFRAMEWORK="@PYTHONFRAMEWORK@" |
|||
INCDIR="-I$includedir/python${VERSION}${ABIFLAGS}" |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,39 @@ |
|||
From e4ae670e3489544a49dabd1618c32fe73504a7ba Mon Sep 17 00:00:00 2001 |
|||
From: Samuel Cabrero <samuelcabrero@gmail.com> |
|||
Date: Wed, 23 Dec 2015 11:45:48 +0100 |
|||
Subject: [PATCH] Override system locale and set to default when adding gcc |
|||
paths |
|||
|
|||
Forces the use of the default locale in the function |
|||
add_gcc_paths, which is called when cross compiling to add the |
|||
include and library paths. This is necessary because otherwise |
|||
the gcc output is localized and the output parsing fails, which |
|||
results in no paths added and detect_modules not able to find |
|||
any system library (eg. libz, libssl, etc.) |
|||
|
|||
[Thomas: patch taken from https://bugs.python.org/issue23767.] |
|||
|
|||
Signed-off-by: Samuel Cabrero <samuelcabrero@gmail.com> |
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
[james.hilliard1@gmail.com: adapt to python 3.9] |
|||
Signed-off-by: James Hilliard <james.hilliard1@gmail.com> |
|||
---
|
|||
setup.py | 2 +- |
|||
1 file changed, 1 insertion(+), 1 deletion(-) |
|||
|
|||
diff --git a/setup.py b/setup.py
|
|||
index d3f0e663f2..926c16f58f 100644
|
|||
--- a/setup.py
|
|||
+++ b/setup.py
|
|||
@@ -695,7 +695,7 @@ class PyBuildExt(build_ext):
|
|||
tmpfile = os.path.join(self.build_temp, 'ccpaths') |
|||
if not os.path.exists(self.build_temp): |
|||
os.makedirs(self.build_temp) |
|||
- ret = run_command('%s -E -v - </dev/null 2>%s 1>/dev/null' % (cc, tmpfile))
|
|||
+ ret = run_command('LC_ALL=C %s -E -v - </dev/null 2>%s 1>/dev/null' % (cc, tmpfile))
|
|||
is_gcc = False |
|||
is_clang = False |
|||
in_incdirs = False |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,105 @@ |
|||
From e2ea659eac1849db471d3c01a0d0af9d6fca2e9a Mon Sep 17 00:00:00 2001 |
|||
From: Christophe Vu-Brugier <cvubrugier@fastmail.fm> |
|||
Date: Wed, 22 Feb 2017 16:48:49 -0800 |
|||
Subject: [PATCH] Add importlib fix for PEP 3147 issue |
|||
|
|||
Python 3 has a new standard for installing .pyc file, called PEP |
|||
3147. Unfortunately, this standard requires both the .py and .pyc |
|||
files to be installed for a Python module to be found. This is quite |
|||
annoying on space-constrained embedded systems, since the .py file is |
|||
technically not required for execution. |
|||
|
|||
This patch changes cache_from_source() and source_from_cache() in |
|||
importlib to get rid of the "__pycache__" directory. |
|||
This effectively disables PEP 3147 for: |
|||
|
|||
* The python standard library |
|||
* Packages built with distutils or setuptools |
|||
* Packages built with automake that use the `py-compile` helper |
|||
|
|||
Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm> |
|||
[ Andrey Smirnov: ported to Python 3.6 ] |
|||
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> |
|||
---
|
|||
Lib/importlib/_bootstrap_external.py | 44 ++++------------------------ |
|||
1 file changed, 5 insertions(+), 39 deletions(-) |
|||
|
|||
diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_external.py
|
|||
index 25a3f8c0e0..2cb9a9aa52 100644
|
|||
--- a/Lib/importlib/_bootstrap_external.py
|
|||
+++ b/Lib/importlib/_bootstrap_external.py
|
|||
@@ -313,8 +313,6 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
|
|||
a True value is the same as setting 'optimization' to the empty string |
|||
while a False value is equivalent to setting 'optimization' to '1'. |
|||
|
|||
- If sys.implementation.cache_tag is None then NotImplementedError is raised.
|
|||
-
|
|||
""" |
|||
if debug_override is not None: |
|||
_warnings.warn('the debug_override parameter is deprecated; use ' |
|||
@@ -326,10 +324,7 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
|
|||
path = _os.fspath(path) |
|||
head, tail = _path_split(path) |
|||
base, sep, rest = tail.rpartition('.') |
|||
- tag = sys.implementation.cache_tag
|
|||
- if tag is None:
|
|||
- raise NotImplementedError('sys.implementation.cache_tag is None')
|
|||
- almost_filename = ''.join([(base if base else rest), sep, tag])
|
|||
+ almost_filename = ''.join([(base if base else rest)])
|
|||
if optimization is None: |
|||
if sys.flags.optimize == 0: |
|||
optimization = '' |
|||
@@ -366,46 +361,17 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
|
|||
head.lstrip(path_separators), |
|||
filename, |
|||
) |
|||
- return _path_join(head, _PYCACHE, filename)
|
|||
+ return _path_join(head, filename)
|
|||
|
|||
|
|||
def source_from_cache(path): |
|||
"""Given the path to a .pyc. file, return the path to its .py file. |
|||
|
|||
The .pyc file does not need to exist; this simply returns the path to |
|||
- the .py file calculated to correspond to the .pyc file. If path does
|
|||
- not conform to PEP 3147/488 format, ValueError will be raised. If
|
|||
- sys.implementation.cache_tag is None then NotImplementedError is raised.
|
|||
-
|
|||
+ the .py file calculated to correspond to the .pyc file.
|
|||
""" |
|||
- if sys.implementation.cache_tag is None:
|
|||
- raise NotImplementedError('sys.implementation.cache_tag is None')
|
|||
- path = _os.fspath(path)
|
|||
- head, pycache_filename = _path_split(path)
|
|||
- found_in_pycache_prefix = False
|
|||
- if sys.pycache_prefix is not None:
|
|||
- stripped_path = sys.pycache_prefix.rstrip(path_separators)
|
|||
- if head.startswith(stripped_path + path_sep):
|
|||
- head = head[len(stripped_path):]
|
|||
- found_in_pycache_prefix = True
|
|||
- if not found_in_pycache_prefix:
|
|||
- head, pycache = _path_split(head)
|
|||
- if pycache != _PYCACHE:
|
|||
- raise ValueError(f'{_PYCACHE} not bottom-level directory in '
|
|||
- f'{path!r}')
|
|||
- dot_count = pycache_filename.count('.')
|
|||
- if dot_count not in {2, 3}:
|
|||
- raise ValueError(f'expected only 2 or 3 dots in {pycache_filename!r}')
|
|||
- elif dot_count == 3:
|
|||
- optimization = pycache_filename.rsplit('.', 2)[-2]
|
|||
- if not optimization.startswith(_OPT):
|
|||
- raise ValueError("optimization portion of filename does not start "
|
|||
- f"with {_OPT!r}")
|
|||
- opt_level = optimization[len(_OPT):]
|
|||
- if not opt_level.isalnum():
|
|||
- raise ValueError(f"optimization level {optimization!r} is not an "
|
|||
- "alphanumeric value")
|
|||
- base_filename = pycache_filename.partition('.')[0]
|
|||
+ head, filename = _path_split(path)
|
|||
+ base_filename = filename.partition('.')[0]
|
|||
return _path_join(head, base_filename + SOURCE_SUFFIXES[0]) |
|||
|
|||
|
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,117 @@ |
|||
From 0337342d413d13f437fd089de91faee70a8bf3f9 Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 22 Feb 2017 17:01:18 -0800 |
|||
Subject: [PATCH] Add an option to disable installation of test modules |
|||
|
|||
The Python standard distribution comes with many test modules, that |
|||
are not necessarly useful on embedded targets. |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Signed-off-by: Samuel Martin <s.martin49@gmail.com> |
|||
[ Andrey Smirnov: ported to Python 3.6 ] |
|||
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> |
|||
[james.hilliard1@gmail.com: adapt to python 3.9] |
|||
Signed-off-by: James Hilliard <james.hilliard1@gmail.com> |
|||
---
|
|||
Makefile.pre.in | 56 ++++++++++++++++++++++++++++++++----------------- |
|||
configure.ac | 5 +++++ |
|||
2 files changed, 42 insertions(+), 19 deletions(-) |
|||
|
|||
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
|||
index 7c3dde8dd4..204f293d53 100644
|
|||
--- a/Makefile.pre.in
|
|||
+++ b/Makefile.pre.in
|
|||
@@ -1385,8 +1385,29 @@ maninstall: altmaninstall
|
|||
|
|||
# Install the library |
|||
XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax |
|||
-LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \
|
|||
- tkinter/test/test_ttk site-packages test \
|
|||
+
|
|||
+LIBSUBDIRS= tkinter site-packages \
|
|||
+ asyncio \
|
|||
+ collections concurrent concurrent/futures encodings \
|
|||
+ email email/mime \
|
|||
+ ensurepip ensurepip/_bundled \
|
|||
+ html json http dbm xmlrpc \
|
|||
+ sqlite3 \
|
|||
+ logging csv wsgiref urllib \
|
|||
+ lib2to3 lib2to3/fixes lib2to3/pgen2 \
|
|||
+ ctypes ctypes/macholib \
|
|||
+ idlelib idlelib/Icons \
|
|||
+ distutils distutils/command $(XMLLIBSUBDIRS) \
|
|||
+ importlib \
|
|||
+ turtledemo \
|
|||
+ multiprocessing multiprocessing/dummy \
|
|||
+ unittest \
|
|||
+ venv venv/scripts venv/scripts/common venv/scripts/posix \
|
|||
+ curses pydoc_data \
|
|||
+ zoneinfo
|
|||
+
|
|||
+TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
|
|||
+ tkinter/test/test_ttk test \
|
|||
test/audiodata \ |
|||
test/capath test/data \ |
|||
test/cjkencodings test/decimaltestdata \ |
|||
@@ -1446,28 +1467,25 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \
|
|||
test/test_importlib/zipdata02 \ |
|||
test/test_zoneinfo test/test_zoneinfo/data \ |
|||
test/ziptestdata \ |
|||
- asyncio \
|
|||
test/test_asyncio \ |
|||
- collections concurrent concurrent/futures encodings \
|
|||
- email email/mime test/test_email test/test_email/data \
|
|||
- ensurepip ensurepip/_bundled \
|
|||
- html json test/test_json http dbm xmlrpc \
|
|||
- sqlite3 sqlite3/test \
|
|||
- logging csv wsgiref urllib \
|
|||
- lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \
|
|||
+ test/test_email test/test_email/data \
|
|||
+ test/test_json \
|
|||
+ sqlite3/test \
|
|||
+ lib2to3/tests \
|
|||
lib2to3/tests/data lib2to3/tests/data/fixers \ |
|||
lib2to3/tests/data/fixers/myfixes \ |
|||
- ctypes ctypes/test ctypes/macholib \
|
|||
- idlelib idlelib/Icons idlelib/idle_test \
|
|||
- distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \
|
|||
+ ctypes/test \
|
|||
+ idlelib/idle_test \
|
|||
+ distutils/tests \
|
|||
test/test_peg_generator \ |
|||
+ test/test_importlib test/test_importlib/builtin \
|
|||
test/test_tools test/test_warnings test/test_warnings/data \ |
|||
- turtledemo \
|
|||
- multiprocessing multiprocessing/dummy \
|
|||
- unittest unittest/test unittest/test/testmock \
|
|||
- venv venv/scripts venv/scripts/common venv/scripts/posix \
|
|||
- curses pydoc_data \
|
|||
- zoneinfo
|
|||
+ unittest/test unittest/test/testmock
|
|||
+
|
|||
+ifeq (@TEST_MODULES@,yes)
|
|||
+LIBSUBDIRS += $(TESTSUBDIRS)
|
|||
+endif
|
|||
+
|
|||
libinstall: build_all $(srcdir)/Modules/xxmodule.c |
|||
@for i in $(SCRIPTDIR) $(LIBDEST); \ |
|||
do \ |
|||
diff --git a/configure.ac b/configure.ac
|
|||
index 73d66167de..92e28d02ee 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3329,6 +3329,11 @@ if test "$posix_threads" = "yes"; then
|
|||
AC_CHECK_FUNCS(pthread_getcpuclockid) |
|||
fi |
|||
|
|||
+AC_SUBST(TEST_MODULES)
|
|||
+
|
|||
+AC_ARG_ENABLE(test-modules,
|
|||
+ AS_HELP_STRING([--disable-test-modules], [disable test modules]),
|
|||
+ [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ])
|
|||
|
|||
# Check for enable-ipv6 |
|||
AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,99 @@ |
|||
From a65e5d3caf8e076d531191164c23c6240461f675 Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 22 Feb 2017 17:07:56 -0800 |
|||
Subject: [PATCH] Add an option to disable pydoc |
|||
|
|||
It removes 0.5 MB of data from the target plus the pydoc script |
|||
itself. |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Signed-off-by: Samuel Martin <s.martin49@gmail.com> |
|||
[ Andrey Smirnov: ported to Python 3.6 ] |
|||
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> |
|||
---
|
|||
Makefile.pre.in | 8 +++++++- |
|||
configure.ac | 6 ++++++ |
|||
setup.py | 9 +++++++-- |
|||
3 files changed, 20 insertions(+), 3 deletions(-) |
|||
|
|||
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
|||
index 204f293d53..63e3df0470 100644
|
|||
--- a/Makefile.pre.in
|
|||
+++ b/Makefile.pre.in
|
|||
@@ -1357,7 +1357,9 @@ bininstall: altbininstall
|
|||
-rm -f $(DESTDIR)$(BINDIR)/idle3 |
|||
(cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3) |
|||
-rm -f $(DESTDIR)$(BINDIR)/pydoc3 |
|||
+ifeq (@PYDOC@,yes)
|
|||
(cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) |
|||
+endif
|
|||
-rm -f $(DESTDIR)$(BINDIR)/2to3 |
|||
(cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) |
|||
if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ |
|||
@@ -1403,7 +1405,7 @@ LIBSUBDIRS= tkinter site-packages \
|
|||
multiprocessing multiprocessing/dummy \ |
|||
unittest \ |
|||
venv venv/scripts venv/scripts/common venv/scripts/posix \ |
|||
- curses pydoc_data \
|
|||
+ curses \
|
|||
zoneinfo |
|||
|
|||
TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ |
|||
@@ -1486,6 +1488,10 @@ ifeq (@TEST_MODULES@,yes)
|
|||
LIBSUBDIRS += $(TESTSUBDIRS) |
|||
endif |
|||
|
|||
+ifeq (@PYDOC@,yes)
|
|||
+LIBSUBDIRS += pydoc_data
|
|||
+endif
|
|||
+
|
|||
libinstall: build_all $(srcdir)/Modules/xxmodule.c |
|||
@for i in $(SCRIPTDIR) $(LIBDEST); \ |
|||
do \ |
|||
diff --git a/configure.ac b/configure.ac
|
|||
index 92e28d02ee..174ed85a7c 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3329,6 +3329,12 @@ if test "$posix_threads" = "yes"; then
|
|||
AC_CHECK_FUNCS(pthread_getcpuclockid) |
|||
fi |
|||
|
|||
+AC_SUBST(PYDOC)
|
|||
+
|
|||
+AC_ARG_ENABLE(pydoc,
|
|||
+ AS_HELP_STRING([--disable-pydoc], [disable pydoc]),
|
|||
+ [ PYDOC="${enableval}" ], [ PYDOC=yes ])
|
|||
+
|
|||
AC_SUBST(TEST_MODULES) |
|||
|
|||
AC_ARG_ENABLE(test-modules, |
|||
diff --git a/setup.py b/setup.py
|
|||
index 926c16f58f..1fc5fac90c 100644
|
|||
--- a/setup.py
|
|||
+++ b/setup.py
|
|||
@@ -2586,6 +2586,12 @@ def main():
|
|||
# turn off warnings when deprecated modules are imported |
|||
import warnings |
|||
warnings.filterwarnings("ignore",category=DeprecationWarning) |
|||
+
|
|||
+ scripts = ['Tools/scripts/idle3', 'Tools/scripts/2to3',
|
|||
+ 'Lib/smtpd.py']
|
|||
+ if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"):
|
|||
+ scripts += [ 'Tools/scripts/pydoc3' ]
|
|||
+
|
|||
setup(# PyPI Metadata (PEP 301) |
|||
name = "Python", |
|||
version = sys.version.split()[0], |
|||
@@ -2610,8 +2616,7 @@ def main():
|
|||
# If you change the scripts installed here, you also need to |
|||
# check the PyBuildScripts command above, and change the links |
|||
# created by the bininstall target in Makefile.pre.in |
|||
- scripts = ["Tools/scripts/pydoc3", "Tools/scripts/idle3",
|
|||
- "Tools/scripts/2to3"]
|
|||
+ scripts = scripts
|
|||
) |
|||
|
|||
# --install-platlib |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,116 @@ |
|||
From f034b1b0f33a7bd4dde23f0bc1fa8e00e3518c9d Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 22 Feb 2017 17:15:31 -0800 |
|||
Subject: [PATCH] Add an option to disable lib2to3 |
|||
|
|||
lib2to3 is a library to convert Python 2.x code to Python 3.x. As |
|||
such, it is probably not very useful on embedded system targets. |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Signed-off-by: Samuel Martin <s.martin49@gmail.com> |
|||
[ Andrey Smirnov: ported to Python 3.6 ] |
|||
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> |
|||
---
|
|||
Makefile.pre.in | 16 ++++++++++++---- |
|||
configure.ac | 6 ++++++ |
|||
setup.py | 5 +++-- |
|||
3 files changed, 21 insertions(+), 6 deletions(-) |
|||
|
|||
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
|||
index 63e3df0470..8b7de12999 100644
|
|||
--- a/Makefile.pre.in
|
|||
+++ b/Makefile.pre.in
|
|||
@@ -1361,7 +1361,9 @@ ifeq (@PYDOC@,yes)
|
|||
(cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) |
|||
endif |
|||
-rm -f $(DESTDIR)$(BINDIR)/2to3 |
|||
+ifeq (@LIB2TO3@,yes)
|
|||
(cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) |
|||
+endif
|
|||
if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ |
|||
rm -f $(DESTDIR)$(BINDIR)/python3-32$(EXE); \ |
|||
(cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-32$(EXE) python3-32$(EXE)) \ |
|||
@@ -1396,7 +1398,6 @@ LIBSUBDIRS= tkinter site-packages \
|
|||
html json http dbm xmlrpc \ |
|||
sqlite3 \ |
|||
logging csv wsgiref urllib \ |
|||
- lib2to3 lib2to3/fixes lib2to3/pgen2 \
|
|||
ctypes ctypes/macholib \ |
|||
idlelib idlelib/Icons \ |
|||
distutils distutils/command $(XMLLIBSUBDIRS) \ |
|||
@@ -1473,9 +1474,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
|
|||
test/test_email test/test_email/data \ |
|||
test/test_json \ |
|||
sqlite3/test \ |
|||
- lib2to3/tests \
|
|||
- lib2to3/tests/data lib2to3/tests/data/fixers \
|
|||
- lib2to3/tests/data/fixers/myfixes \
|
|||
ctypes/test \ |
|||
idlelib/idle_test \ |
|||
distutils/tests \ |
|||
@@ -1484,6 +1482,14 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
|
|||
test/test_tools test/test_warnings test/test_warnings/data \ |
|||
unittest/test unittest/test/testmock |
|||
|
|||
+ifeq (@LIB2TO3@,yes)
|
|||
+LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2
|
|||
+TESTSUBDIRS += lib2to3/tests \
|
|||
+ lib2to3/tests/data \
|
|||
+ lib2to3/tests/data/fixers \
|
|||
+ lib2to3/tests/data/fixers/myfixes
|
|||
+endif
|
|||
+
|
|||
ifeq (@TEST_MODULES@,yes) |
|||
LIBSUBDIRS += $(TESTSUBDIRS) |
|||
endif |
|||
@@ -1584,10 +1590,12 @@ ifeq (@PYC_BUILD@,yes)
|
|||
-j0 -d $(LIBDEST)/site-packages -f \ |
|||
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages |
|||
endif |
|||
+ifeq (@LIB2TO3@,yes)
|
|||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ |
|||
$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt |
|||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ |
|||
$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt |
|||
+endif
|
|||
|
|||
# bpo-21536: Misc/python-config.sh is generated in the build directory |
|||
# from $(srcdir)Misc/python-config.sh.in. |
|||
diff --git a/configure.ac b/configure.ac
|
|||
index 174ed85a7c..f1f5e9a7b0 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3341,6 +3341,12 @@ AC_ARG_ENABLE(test-modules,
|
|||
AS_HELP_STRING([--disable-test-modules], [disable test modules]), |
|||
[ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ]) |
|||
|
|||
+AC_SUBST(LIB2TO3)
|
|||
+
|
|||
+AC_ARG_ENABLE(lib2to3,
|
|||
+ AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]),
|
|||
+ [ LIB2TO3="${enableval}" ], [ LIB2TO3=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 1fc5fac90c..4063d7ffa5 100644
|
|||
--- a/setup.py
|
|||
+++ b/setup.py
|
|||
@@ -2587,10 +2587,11 @@ def main():
|
|||
import warnings |
|||
warnings.filterwarnings("ignore",category=DeprecationWarning) |
|||
|
|||
- scripts = ['Tools/scripts/idle3', 'Tools/scripts/2to3',
|
|||
- 'Lib/smtpd.py']
|
|||
+ scripts = ['Tools/scripts/idle3', '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' ]
|
|||
|
|||
setup(# PyPI Metadata (PEP 301) |
|||
name = "Python", |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,69 @@ |
|||
From dd2722dec08eb9c72c36313e93661eeca3ad64d8 Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 22 Feb 2017 17:20:45 -0800 |
|||
Subject: [PATCH] Add option to disable the sqlite3 module |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Signed-off-by: Samuel Martin <s.martin49@gmail.com> |
|||
[ Andrey Smirnov: ported to Python 3.6 ] |
|||
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> |
|||
---
|
|||
Makefile.pre.in | 7 +++++-- |
|||
configure.ac | 9 +++++++++ |
|||
2 files changed, 14 insertions(+), 2 deletions(-) |
|||
|
|||
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
|||
index 8b7de12999..d826d8ac4b 100644
|
|||
--- a/Makefile.pre.in
|
|||
+++ b/Makefile.pre.in
|
|||
@@ -1396,7 +1396,6 @@ LIBSUBDIRS= tkinter site-packages \
|
|||
email email/mime \ |
|||
ensurepip ensurepip/_bundled \ |
|||
html json http dbm xmlrpc \ |
|||
- sqlite3 \
|
|||
logging csv wsgiref urllib \ |
|||
ctypes ctypes/macholib \ |
|||
idlelib idlelib/Icons \ |
|||
@@ -1473,7 +1472,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
|
|||
test/test_asyncio \ |
|||
test/test_email test/test_email/data \ |
|||
test/test_json \ |
|||
- sqlite3/test \
|
|||
ctypes/test \ |
|||
idlelib/idle_test \ |
|||
distutils/tests \ |
|||
@@ -1490,6 +1488,11 @@ TESTSUBDIRS += lib2to3/tests \
|
|||
lib2to3/tests/data/fixers/myfixes |
|||
endif |
|||
|
|||
+ifeq (@SQLITE3@,yes)
|
|||
+LIBSUBDIRS += sqlite3
|
|||
+TESTSUBDIRS += sqlite3/test
|
|||
+endif
|
|||
+
|
|||
ifeq (@TEST_MODULES@,yes) |
|||
LIBSUBDIRS += $(TESTSUBDIRS) |
|||
endif |
|||
diff --git a/configure.ac b/configure.ac
|
|||
index f1f5e9a7b0..8b5c65974c 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3329,6 +3329,15 @@ if test "$posix_threads" = "yes"; then
|
|||
AC_CHECK_FUNCS(pthread_getcpuclockid) |
|||
fi |
|||
|
|||
+AC_SUBST(SQLITE3)
|
|||
+AC_ARG_ENABLE(sqlite3,
|
|||
+ AS_HELP_STRING([--disable-sqlite3], [disable sqlite3]),
|
|||
+ [ SQLITE3="${enableval}" ], [ SQLITE3=yes ])
|
|||
+
|
|||
+if test "$SQLITE3" = "no" ; then
|
|||
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
|
|||
+fi
|
|||
+
|
|||
AC_SUBST(PYDOC) |
|||
|
|||
AC_ARG_ENABLE(pydoc, |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,73 @@ |
|||
From ad6b66b34f71ff6b60b3be5f6fd3e781cdeecd59 Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 22 Feb 2017 17:23:42 -0800 |
|||
Subject: [PATCH] Add an option to disable the tk module |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Signed-off-by: Samuel Martin <s.martin49@gmail.com> |
|||
[ Andrey Smirnov: ported to Python 3.6 ] |
|||
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> |
|||
---
|
|||
Makefile.pre.in | 11 ++++++++--- |
|||
configure.ac | 9 +++++++++ |
|||
2 files changed, 17 insertions(+), 3 deletions(-) |
|||
|
|||
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
|||
index d826d8ac4b..dc84384680 100644
|
|||
--- a/Makefile.pre.in
|
|||
+++ b/Makefile.pre.in
|
|||
@@ -1390,7 +1390,7 @@ maninstall: altmaninstall
|
|||
# Install the library |
|||
XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax |
|||
|
|||
-LIBSUBDIRS= tkinter site-packages \
|
|||
+LIBSUBDIRS= site-packages \
|
|||
asyncio \ |
|||
collections concurrent concurrent/futures encodings \ |
|||
email email/mime \ |
|||
@@ -1408,8 +1408,7 @@ LIBSUBDIRS= tkinter site-packages \
|
|||
curses \ |
|||
zoneinfo |
|||
|
|||
-TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
|
|||
- tkinter/test/test_ttk test \
|
|||
+TESTSUBDIRS= test \
|
|||
test/audiodata \ |
|||
test/capath test/data \ |
|||
test/cjkencodings test/decimaltestdata \ |
|||
@@ -1480,6 +1479,12 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
|
|||
test/test_tools test/test_warnings test/test_warnings/data \ |
|||
unittest/test unittest/test/testmock |
|||
|
|||
+ifeq (@TK@,yes)
|
|||
+LIBSUBDIRS += tkinter
|
|||
+TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \
|
|||
+ tkinter/test/test_ttk
|
|||
+endif
|
|||
+
|
|||
ifeq (@LIB2TO3@,yes) |
|||
LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 |
|||
TESTSUBDIRS += lib2to3/tests \ |
|||
diff --git a/configure.ac b/configure.ac
|
|||
index 8b5c65974c..4c72dae960 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3338,6 +3338,15 @@ if test "$SQLITE3" = "no" ; then
|
|||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" |
|||
fi |
|||
|
|||
+AC_SUBST(TK)
|
|||
+AC_ARG_ENABLE(tk,
|
|||
+ AS_HELP_STRING([--disable-tk], [disable tk]),
|
|||
+ [ TK="${enableval}" ], [ TK=yes ])
|
|||
+
|
|||
+if test "$TK" = "no"; then
|
|||
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter"
|
|||
+fi
|
|||
+
|
|||
AC_SUBST(PYDOC) |
|||
|
|||
AC_ARG_ENABLE(pydoc, |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,60 @@ |
|||
From 962deb43f5f340a8472d432ae8e6d61186f9040e Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 22 Feb 2017 17:31:51 -0800 |
|||
Subject: [PATCH] Add an option to disable the curses module |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Signed-off-by: Samuel Martin <s.martin49@gmail.com> |
|||
[ Andrey Smirnov: ported to Python 3.6 ] |
|||
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> |
|||
---
|
|||
Makefile.pre.in | 5 ++++- |
|||
configure.ac | 9 +++++++++ |
|||
2 files changed, 13 insertions(+), 1 deletion(-) |
|||
|
|||
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
|||
index dc84384680..2a82f3308f 100644
|
|||
--- a/Makefile.pre.in
|
|||
+++ b/Makefile.pre.in
|
|||
@@ -1405,7 +1405,6 @@ LIBSUBDIRS= site-packages \
|
|||
multiprocessing multiprocessing/dummy \ |
|||
unittest \ |
|||
venv venv/scripts venv/scripts/common venv/scripts/posix \ |
|||
- curses \
|
|||
zoneinfo |
|||
|
|||
TESTSUBDIRS= test \ |
|||
@@ -1485,6 +1484,10 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \
|
|||
tkinter/test/test_ttk |
|||
endif |
|||
|
|||
+ifeq (@CURSES@,yes)
|
|||
+LIBSUBDIRS += curses
|
|||
+endif
|
|||
+
|
|||
ifeq (@LIB2TO3@,yes) |
|||
LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 |
|||
TESTSUBDIRS += lib2to3/tests \ |
|||
diff --git a/configure.ac b/configure.ac
|
|||
index 4c72dae960..acd98381a3 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3347,6 +3347,15 @@ if test "$TK" = "no"; then
|
|||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" |
|||
fi |
|||
|
|||
+AC_SUBST(CURSES)
|
|||
+AC_ARG_ENABLE(curses,
|
|||
+ AS_HELP_STRING([--disable-curses], [disable curses]),
|
|||
+ [ CURSES="${enableval}" ], [ CURSES=yes ])
|
|||
+
|
|||
+if test "$CURSES" = "no"; then
|
|||
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel"
|
|||
+fi
|
|||
+
|
|||
AC_SUBST(PYDOC) |
|||
|
|||
AC_ARG_ENABLE(pydoc, |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,92 @@ |
|||
From 7e0e7dc25f50acd6922493ae620ee5cbf107a79a Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 22 Feb 2017 17:40:45 -0800 |
|||
Subject: [PATCH] Add an option to disable expat |
|||
|
|||
This patch replaces the existing --with-system-expat option with a |
|||
--with-expat={system,builtin,none} option, which allows to tell Python
|
|||
whether we want to use the system expat (already installed), the expat |
|||
builtin the Python sources, or no expat at all (which disables the |
|||
installation of XML modules). |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Signed-off-by: Samuel Martin <s.martin49@gmail.com> |
|||
[ Andrey Smirnov: ported to Python 3.6 ] |
|||
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> |
|||
---
|
|||
Makefile.pre.in | 6 +++++- |
|||
configure.ac | 18 +++++++++++++----- |
|||
setup.py | 2 +- |
|||
3 files changed, 19 insertions(+), 7 deletions(-) |
|||
|
|||
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
|||
index 2a82f3308f..e678c8817e 100644
|
|||
--- a/Makefile.pre.in
|
|||
+++ b/Makefile.pre.in
|
|||
@@ -1399,7 +1399,7 @@ LIBSUBDIRS= site-packages \
|
|||
logging csv wsgiref urllib \ |
|||
ctypes ctypes/macholib \ |
|||
idlelib idlelib/Icons \ |
|||
- distutils distutils/command $(XMLLIBSUBDIRS) \
|
|||
+ distutils distutils/command \
|
|||
importlib \ |
|||
turtledemo \ |
|||
multiprocessing multiprocessing/dummy \ |
|||
@@ -1488,6 +1488,10 @@ ifeq (@CURSES@,yes)
|
|||
LIBSUBDIRS += curses |
|||
endif |
|||
|
|||
+ifeq (@EXPAT@,yes)
|
|||
+LIBSUBDIRS += $(XMLLIBSUBDIRS)
|
|||
+endif
|
|||
+
|
|||
ifeq (@LIB2TO3@,yes) |
|||
LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 |
|||
TESTSUBDIRS += lib2to3/tests \ |
|||
diff --git a/configure.ac b/configure.ac
|
|||
index acd98381a3..9ef0ecd42f 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3055,13 +3055,21 @@ PKG_PROG_PKG_CONFIG
|
|||
AC_SUBST(DISABLED_EXTENSIONS) |
|||
|
|||
# Check for use of the system expat library |
|||
-AC_MSG_CHECKING(for --with-system-expat)
|
|||
-AC_ARG_WITH(system_expat,
|
|||
- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library, see Doc/library/pyexpat.rst (default is no)]),
|
|||
+AC_MSG_CHECKING(for --with-expat)
|
|||
+AC_ARG_WITH(expat,
|
|||
+ AS_HELP_STRING([--with-expat], [select which expat version to use: system, builtin, none]),
|
|||
[], |
|||
- [with_system_expat="no"])
|
|||
+ [with_expat="builtin"])
|
|||
|
|||
-AC_MSG_RESULT($with_system_expat)
|
|||
+AC_MSG_RESULT($with_expat)
|
|||
+
|
|||
+if test "$with_expat" != "none"; then
|
|||
+ EXPAT=yes
|
|||
+else
|
|||
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} pyexpat"
|
|||
+ EXPAT=no
|
|||
+fi
|
|||
+AC_SUBST(EXPAT)
|
|||
|
|||
# Check for use of the system libffi library |
|||
AC_MSG_CHECKING(for --with-system-ffi) |
|||
diff --git a/setup.py b/setup.py
|
|||
index 4063d7ffa5..211a160f29 100644
|
|||
--- a/setup.py
|
|||
+++ b/setup.py
|
|||
@@ -1681,7 +1681,7 @@ class PyBuildExt(build_ext):
|
|||
# |
|||
# More information on Expat can be found at www.libexpat.org. |
|||
# |
|||
- if '--with-system-expat' in sysconfig.get_config_var("CONFIG_ARGS"):
|
|||
+ if '--with-expat=system' in sysconfig.get_config_var("CONFIG_ARGS"):
|
|||
expat_inc = [] |
|||
define_macros = [] |
|||
extra_compile_args = [] |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,30 @@ |
|||
From 2c0d31bb91fc7f94283c3ab632925fbbe24e94d6 Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 23 Dec 2015 11:49:55 +0100 |
|||
Subject: [PATCH] Add an option to disable CJK codecs |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
---
|
|||
configure.ac | 6 ++++++ |
|||
1 file changed, 6 insertions(+) |
|||
|
|||
diff --git a/configure.ac b/configure.ac
|
|||
index 9ef0ecd42f..18e6fd70a0 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3346,6 +3346,12 @@ if test "$SQLITE3" = "no" ; then
|
|||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" |
|||
fi |
|||
|
|||
+AC_ARG_ENABLE(codecs-cjk,
|
|||
+ AS_HELP_STRING([--disable-codecs-cjk], [disable CJK codecs]),
|
|||
+ [ if test "$enableval" = "no"; then
|
|||
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022"
|
|||
+ fi])
|
|||
+
|
|||
AC_SUBST(TK) |
|||
AC_ARG_ENABLE(tk, |
|||
AS_HELP_STRING([--disable-tk], [disable tk]), |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,33 @@ |
|||
From 2041d0c8dba87991edaf088b16e37b5189a3466d Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 23 Dec 2015 11:50:11 +0100 |
|||
Subject: [PATCH] Add an option to disable NIS |
|||
|
|||
NIS is not necessarily available in uClibc, so we need an option to |
|||
not compile support for it. |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
---
|
|||
configure.ac | 6 ++++++ |
|||
1 file changed, 6 insertions(+) |
|||
|
|||
diff --git a/configure.ac b/configure.ac
|
|||
index 18e6fd70a0..46d2a8131e 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3352,6 +3352,12 @@ AC_ARG_ENABLE(codecs-cjk,
|
|||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022" |
|||
fi]) |
|||
|
|||
+AC_ARG_ENABLE(nis,
|
|||
+ AS_HELP_STRING([--disable-nis], [disable NIS]),
|
|||
+ [ if test "$enableval" = "no"; then
|
|||
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
|
|||
+ fi])
|
|||
+
|
|||
AC_SUBST(TK) |
|||
AC_ARG_ENABLE(tk, |
|||
AS_HELP_STRING([--disable-tk], [disable tk]), |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,30 @@ |
|||
From dd82a401ff6ba4ba116bf4d520e981a1808ed443 Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 23 Dec 2015 11:50:27 +0100 |
|||
Subject: [PATCH] Add an option to disable unicodedata |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
---
|
|||
configure.ac | 6 ++++++ |
|||
1 file changed, 6 insertions(+) |
|||
|
|||
diff --git a/configure.ac b/configure.ac
|
|||
index 46d2a8131e..5844e3b73f 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3358,6 +3358,12 @@ AC_ARG_ENABLE(nis,
|
|||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" |
|||
fi]) |
|||
|
|||
+AC_ARG_ENABLE(unicodedata,
|
|||
+ AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]),
|
|||
+ [ if test "$enableval" = "no"; then
|
|||
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata"
|
|||
+ fi])
|
|||
+
|
|||
AC_SUBST(TK) |
|||
AC_ARG_ENABLE(tk, |
|||
AS_HELP_STRING([--disable-tk], [disable tk]), |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,89 @@ |
|||
From f1b15834045d0641c43014b970721df066fa71f7 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 e678c8817e..1148bd8708 100644
|
|||
--- a/Makefile.pre.in
|
|||
+++ b/Makefile.pre.in
|
|||
@@ -1355,7 +1355,9 @@ bininstall: altbininstall
|
|||
-rm -f $(DESTDIR)$(LIBPC)/python3-embed.pc |
|||
(cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION)-embed.pc python3-embed.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) |
|||
@@ -1398,7 +1400,6 @@ LIBSUBDIRS= site-packages \
|
|||
html json http dbm xmlrpc \ |
|||
logging csv wsgiref urllib \ |
|||
ctypes ctypes/macholib \ |
|||
- idlelib idlelib/Icons \
|
|||
distutils distutils/command \ |
|||
importlib \ |
|||
turtledemo \ |
|||
@@ -1492,6 +1493,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 5844e3b73f..7bd4623ccd 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3400,6 +3400,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 211a160f29..c4ee989ba3 100644
|
|||
--- a/setup.py
|
|||
+++ b/setup.py
|
|||
@@ -2587,11 +2587,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.25.1 |
|||
|
@ -0,0 +1,66 @@ |
|||
From d5fe81cbd51da2a84ed89d1e4c80d921d4efce26 Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 23 Dec 2015 11:51:31 +0100 |
|||
Subject: [PATCH] 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> |
|||
[aduskett@gmail.com: Update for python 3.7.0] |
|||
Signed-off-by: Adam Duskett <aduskett@gmail.com> |
|||
[james.hilliard1@gmail.com: adapt to python 3.9] |
|||
Signed-off-by: James Hilliard <james.hilliard1@gmail.com> |
|||
---
|
|||
configure.ac | 17 ++++++++++++----- |
|||
setup.py | 2 +- |
|||
2 files changed, 13 insertions(+), 6 deletions(-) |
|||
|
|||
diff --git a/configure.ac b/configure.ac
|
|||
index 7bd4623ccd..e513ef6a20 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3106,13 +3106,20 @@ fi
|
|||
AC_SUBST(LIBFFI_INCLUDEDIR) |
|||
|
|||
# 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, see Doc/library/decimal.rst (default is no)]),
|
|||
+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 whether _decimal should use a coroutine-local or thread-local context |
|||
AC_MSG_CHECKING(for --with-decimal-contextvar) |
|||
diff --git a/setup.py b/setup.py
|
|||
index c4ee989ba3..3d0c74bb7f 100644
|
|||
--- a/setup.py
|
|||
+++ b/setup.py
|
|||
@@ -2221,7 +2221,7 @@ class PyBuildExt(build_ext):
|
|||
# Stefan Krah's _decimal module |
|||
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'] |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,30 @@ |
|||
From 9bedc56d2a4b8856162650a11c1fcb6ec38f160b Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Wed, 23 Dec 2015 11:51:58 +0100 |
|||
Subject: [PATCH] Add an option to disable the ossaudiodev module |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
---
|
|||
configure.ac | 6 ++++++ |
|||
1 file changed, 6 insertions(+) |
|||
|
|||
diff --git a/configure.ac b/configure.ac
|
|||
index e513ef6a20..c07505e89e 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3136,6 +3136,12 @@ fi
|
|||
|
|||
AC_MSG_RESULT($with_decimal_contextvar) |
|||
|
|||
+AC_ARG_ENABLE(ossaudiodev,
|
|||
+ AS_HELP_STRING([--disable-ossaudiodev], [disable OSSAUDIODEV]),
|
|||
+ [ if test "$enableval" = "no"; then
|
|||
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ossaudiodev"
|
|||
+ fi])
|
|||
+
|
|||
# Check for support for loadable sqlite extensions |
|||
AC_MSG_CHECKING(for --enable-loadable-sqlite-extensions) |
|||
AC_ARG_ENABLE(loadable-sqlite-extensions, |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,30 @@ |
|||
From 90ed5c692b8b5596ca0b3ae1436276c8181251d8 Mon Sep 17 00:00:00 2001 |
|||
From: Nicolas Cavallari <nicolas.cavallari@green-communications.fr> |
|||
Date: Wed, 22 Feb 2017 17:55:59 -0800 |
|||
Subject: [PATCH] Add an option to disable openssl support. |
|||
|
|||
Signed-off-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr> |
|||
---
|
|||
configure.ac | 6 ++++++ |
|||
1 file changed, 6 insertions(+) |
|||
|
|||
diff --git a/configure.ac b/configure.ac
|
|||
index c07505e89e..612e32faf5 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3377,6 +3377,12 @@ AC_ARG_ENABLE(unicodedata,
|
|||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" |
|||
fi]) |
|||
|
|||
+AC_ARG_ENABLE(openssl,
|
|||
+ AS_HELP_STRING([--disable-openssl], [disable openssl support]),
|
|||
+ [ if test "$enableval" = "no"; then
|
|||
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib"
|
|||
+ fi])
|
|||
+
|
|||
AC_SUBST(TK) |
|||
AC_ARG_ENABLE(tk, |
|||
AS_HELP_STRING([--disable-tk], [disable tk]), |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,30 @@ |
|||
From 049e7a51e1ffd0d28d6608c707ab4b54e816d338 Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Tue, 7 Mar 2017 23:29:05 +0100 |
|||
Subject: [PATCH] Add an option to disable the readline module |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
---
|
|||
configure.ac | 6 ++++++ |
|||
1 file changed, 6 insertions(+) |
|||
|
|||
diff --git a/configure.ac b/configure.ac
|
|||
index 612e32faf5..2a6aaeff60 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3383,6 +3383,12 @@ AC_ARG_ENABLE(openssl,
|
|||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" |
|||
fi]) |
|||
|
|||
+AC_ARG_ENABLE(readline,
|
|||
+ AS_HELP_STRING([--disable-readline], [disable readline]),
|
|||
+ [ if test "$enableval" = "no"; then
|
|||
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline"
|
|||
+ fi])
|
|||
+
|
|||
AC_SUBST(TK) |
|||
AC_ARG_ENABLE(tk, |
|||
AS_HELP_STRING([--disable-tk], [disable tk]), |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,42 @@ |
|||
From 146730a04dfe98e3d7971ebf5410801ceae88e11 Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
Date: Tue, 7 Mar 2017 23:31:11 +0100 |
|||
Subject: [PATCH] Add options to disable zlib, bzip2 and xz modules |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|||
---
|
|||
configure.ac | 18 ++++++++++++++++++ |
|||
1 file changed, 18 insertions(+) |
|||
|
|||
diff --git a/configure.ac b/configure.ac
|
|||
index 2a6aaeff60..21479bbd7d 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3389,6 +3389,24 @@ AC_ARG_ENABLE(readline,
|
|||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" |
|||
fi]) |
|||
|
|||
+AC_ARG_ENABLE(bzip2,
|
|||
+ AS_HELP_STRING([--disable-bzip2], [disable bzip2]),
|
|||
+ [ if test "$enableval" = "no"; then
|
|||
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _bz2"
|
|||
+ fi])
|
|||
+
|
|||
+AC_ARG_ENABLE(zlib,
|
|||
+ AS_HELP_STRING([--disable-zlib], [disable zlib]),
|
|||
+ [ if test "$enableval" = "no"; then
|
|||
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} zlib"
|
|||
+ fi])
|
|||
+
|
|||
+AC_ARG_ENABLE(xz,
|
|||
+ AS_HELP_STRING([--disable-xz], [disable xz]),
|
|||
+ [ if test "$enableval" = "no"; then
|
|||
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _lzma"
|
|||
+ fi])
|
|||
+
|
|||
AC_SUBST(TK) |
|||
AC_ARG_ENABLE(tk, |
|||
AS_HELP_STRING([--disable-tk], [disable tk]), |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,53 @@ |
|||
From 106d9378c61e7fa9cad0a63ba068668d54cd11b8 Mon Sep 17 00:00:00 2001 |
|||
From: Matt Weber <matthew.weber@rockwellcollins.com> |
|||
Date: Fri, 6 Oct 2017 09:54:15 -0500 |
|||
Subject: [PATCH] python-config.sh: don't reassign ${prefix} |
|||
|
|||
When prefix is set to a path like /usr during crossbuild |
|||
the sed operations end up executing twice, once for the prefix |
|||
reassignment and another for includedir if it is set as a string |
|||
including the ${prefix} variable. This results in an issue |
|||
when the build directory is under /usr. |
|||
|
|||
This patch updates the remaining location which uses the prefix |
|||
variable to also sed and update to use the real path. |
|||
|
|||
Upstream bug report: |
|||
https://bugs.python.org/issue31713 |
|||
|
|||
Buildroot bug: |
|||
https://bugs.busybox.net/show_bug.cgi?id=10361 |
|||
|
|||
Fixes failures like the following: |
|||
dbus-python-1.2.4 | NOK | http://autobuild.buildroot.net/results/758858efa97b6273c1b470513f5492258a6d8853 |
|||
|
|||
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> |
|||
---
|
|||
Misc/python-config.sh.in | 4 ++-- |
|||
1 file changed, 2 insertions(+), 2 deletions(-) |
|||
|
|||
diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in
|
|||
index a1bc3cd5f7..164d2d3603 100644
|
|||
--- a/Misc/python-config.sh.in
|
|||
+++ b/Misc/python-config.sh.in
|
|||
@@ -31,7 +31,7 @@ prefix_real=$(installed_prefix "$0")
|
|||
# locations. Keep prefix & exec_prefix using their original values in case |
|||
# they are referenced in other configure variables, to prevent double |
|||
# substitution, issue #22140. |
|||
-prefix=$(echo "$prefix_build" | sed "s#^$prefix_build#$prefix_real#")
|
|||
+prefix=$prefix_build
|
|||
exec_prefix=$(echo "$exec_prefix_build" | sed "s#^$exec_prefix_build#$prefix_real#") |
|||
exec_prefix_real=${prefix_real} |
|||
includedir=$(echo "@includedir@" | sed "s#^$prefix_build#$prefix_real#") |
|||
@@ -49,7 +49,7 @@ LDLIBRARY="@LDLIBRARY@"
|
|||
OPT="@OPT@" |
|||
PY_ENABLE_SHARED="@PY_ENABLE_SHARED@" |
|||
LDVERSION="@LDVERSION@" |
|||
-LIBDEST=${prefix_real}/lib/python${VERSION}
|
|||
+LIBDEST=$( echo "${prefix}/lib/python${VERSION}" | sed "s#^$prefix_build#$prefix_real#")
|
|||
LIBPL=$(echo "@LIBPL@" | sed "s#^$prefix_build#$prefix_real#") |
|||
SO="@EXT_SUFFIX@" |
|||
PYTHONFRAMEWORK="@PYTHONFRAMEWORK@" |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,38 @@ |
|||
From d7b90b157eddefbd0ed59e35c90b083c0c03b644 Mon Sep 17 00:00:00 2001 |
|||
From: Adam Duskett <aduskett@gmail.com> |
|||
Date: Fri, 20 Jul 2018 10:17:39 -0400 |
|||
Subject: [PATCH] Fix cross compiling the uuid module |
|||
|
|||
Python 3.7 has a new _uuid module, however, the include directory |
|||
search path for uuid.h is hardcoded to /usr/include/uuid, which should |
|||
not be used when cross-compiling. |
|||
|
|||
To fix this, use the same solution as the one used by the NIS |
|||
detection: append "uuid" to each of the include directories in |
|||
"inc_dirs", instead of hardcoding /usr/include/uuid. |
|||
|
|||
Signed-off-by: Adam Duskett <aduskett@gmail.com> |
|||
[Thomas: drop STAGING_DIR based solution, use a solution similar to |
|||
the one used for the NIS detection.] |
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> |
|||
---
|
|||
setup.py | 3 ++- |
|||
1 file changed, 2 insertions(+), 1 deletion(-) |
|||
|
|||
diff --git a/setup.py b/setup.py
|
|||
index 3d0c74bb7f..c7be85f352 100644
|
|||
--- a/setup.py
|
|||
+++ b/setup.py
|
|||
@@ -1779,7 +1779,8 @@ class PyBuildExt(build_ext):
|
|||
|
|||
def detect_uuid(self): |
|||
# Build the _uuid module if possible |
|||
- uuid_incs = find_file("uuid.h", self.inc_dirs, ["/usr/include/uuid"])
|
|||
+ uuid_incs = find_file("uuid.h", self.inc_dirs,
|
|||
+ [os.path.join(inc_dir, 'uuid') for inc_dir in self.inc_dirs])
|
|||
if uuid_incs is not None: |
|||
if self.compiler.find_library_file(self.lib_dirs, 'uuid'): |
|||
uuid_libs = ['uuid'] |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,33 @@ |
|||
From 3bb693408eda77dda145ec5fecee56ea73031e9f Mon Sep 17 00:00:00 2001 |
|||
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com> |
|||
Date: Sat, 18 Aug 2018 10:54:56 +0200 |
|||
Subject: [PATCH] Add an option to disable uuid module |
|||
|
|||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> |
|||
---
|
|||
configure.ac | 9 +++++++++ |
|||
1 file changed, 9 insertions(+) |
|||
|
|||
diff --git a/configure.ac b/configure.ac
|
|||
index 21479bbd7d..615c16aced 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -3425,6 +3425,15 @@ if test "$CURSES" = "no"; then
|
|||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" |
|||
fi |
|||
|
|||
+AC_SUBST(UUID)
|
|||
+AC_ARG_ENABLE(uuid,
|
|||
+ AS_HELP_STRING([--disable-uuid], [disable uuid]),
|
|||
+ [ UUID="${enableval}" ], [ UUID=yes ])
|
|||
+
|
|||
+if test "$UUID" = "no"; then
|
|||
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _uuid"
|
|||
+fi
|
|||
+
|
|||
AC_SUBST(PYDOC) |
|||
|
|||
AC_ARG_ENABLE(pydoc, |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,38 @@ |
|||
From 94c62f96ca61f1a28124c837d7ec5ed0b9ae8786 Mon Sep 17 00:00:00 2001 |
|||
From: Adam Duskett <aduskett@gmail.com> |
|||
Date: Thu, 16 Aug 2018 14:52:37 -0700 |
|||
Subject: [PATCH] fix building on older distributions |
|||
|
|||
Python > 3.6.3 calls os.replace in the update_file.py script, during the |
|||
regen-importlib phase of the build process. |
|||
|
|||
According to Doc/whatsnew/3.3.rst line 1631, os.replace acts in the same |
|||
way as os.rename, however, it is now cross-platform compatible for Windows. |
|||
|
|||
Because BuildRoot is guaranteed only to be built in POSIX environment, it is |
|||
safe to change os.replace back to os.rename. |
|||
|
|||
This change fixes building on older systems such as CentOS7, that only come |
|||
with python 2. |
|||
|
|||
Signed-off-by: Adam Duskett <aduskett@gmail.com> |
|||
---
|
|||
Tools/scripts/update_file.py | 2 +- |
|||
1 file changed, 1 insertion(+), 1 deletion(-) |
|||
|
|||
diff --git a/Tools/scripts/update_file.py b/Tools/scripts/update_file.py
|
|||
index 224585c69b..ef458c0c63 100644
|
|||
--- a/Tools/scripts/update_file.py
|
|||
+++ b/Tools/scripts/update_file.py
|
|||
@@ -16,7 +16,7 @@ def main(old_path, new_path):
|
|||
with open(new_path, 'rb') as f: |
|||
new_contents = f.read() |
|||
if old_contents != new_contents: |
|||
- os.replace(new_path, old_path)
|
|||
+ os.rename(new_path, old_path)
|
|||
else: |
|||
os.unlink(new_path) |
|||
|
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,48 @@ |
|||
From edc0757c56090364e0a95aabfa9f645a16a27569 Mon Sep 17 00:00:00 2001 |
|||
From: Peter Korsgaard <peter@korsgaard.com> |
|||
Date: Fri, 2 Aug 2019 15:53:16 +0200 |
|||
Subject: [PATCH] configure.ac: fixup $CC --print-multiarch output for |
|||
musl/uclibc GCC 8+ toolchains |
|||
|
|||
GCC commit 6834b83784dcf0364eb820e8 (multiarch support for non-glibc linux |
|||
systems), which is part of GCC 8+, changed the multiarch logic to use |
|||
$arch-linux-musl / $arch-linux-uclibc rather than $arch-linux-gnu. |
|||
|
|||
This then causes the python3 configure script to error out: |
|||
|
|||
checking for the platform triplet based on compiler characteristics... powerpc-linux-gnu |
|||
configure: error: internal configure error for the platform triplet, please file a bug report |
|||
|
|||
http://autobuild.buildroot.net/results/cb4/cb49c539501342e45cbe5ade82e588fcdf51f05b |
|||
|
|||
As it requires that the --print-multiarch output (if not empty) matches the |
|||
deduced triplet (which always uses -linux-gnu). |
|||
|
|||
It isn't quite clear why --print-multiarch returns something for a |
|||
non-multiarch toolchain on some architectures (E.G. PowerPC), but as a |
|||
workaround, rewrite the --print-multiarch output to match older GCC versions |
|||
to keep the configure script happy. |
|||
|
|||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com> |
|||
---
|
|||
configure.ac | 4 +++- |
|||
1 file changed, 3 insertions(+), 1 deletion(-) |
|||
|
|||
diff --git a/configure.ac b/configure.ac
|
|||
index 615c16aced..241298e6cf 100644
|
|||
--- a/configure.ac
|
|||
+++ b/configure.ac
|
|||
@@ -718,7 +718,9 @@ then
|
|||
fi |
|||
|
|||
|
|||
-MULTIARCH=$($CC --print-multiarch 2>/dev/null)
|
|||
+# GCC 8+ returns $arch-linux-{musl,uclibc} for musl/uClibc based
|
|||
+# toolchains confusing python. Fix that up
|
|||
+MULTIARCH=$($CC --print-multiarch 2>/dev/null | sed -E 's/-linux-(musl|uclibc)*$/-linux-gnu/')
|
|||
AC_SUBST(MULTIARCH) |
|||
|
|||
AC_MSG_CHECKING([for the platform triplet based on compiler characteristics]) |
|||
--
|
|||
2.25.1 |
|||
|
@ -0,0 +1,40 @@ |
|||
From 3c83eedcc2df3ecf6c4a17953ca24dff60c1378e Mon Sep 17 00:00:00 2001 |
|||
From: Romain Naour <romain.naour@gmail.com> |
|||
Date: Thu, 12 Nov 2020 00:16:18 +0100 |
|||
Subject: [PATCH] lib/crypt: uClibc-ng doesn't set errno when encryption method |
|||
is not available |
|||
|
|||
Since commit [1] in cpython, an exception is raised when an encryption method |
|||
is not available. This eception is handled only if errno is set to EINVAL by |
|||
crypt() but uClibc-ng doesn't set errno in crypt() [2]. |
|||
|
|||
Fixes: |
|||
https://gitlab.com/buildroot.org/buildroot/-/jobs/830981961 |
|||
https://gitlab.com/buildroot.org/buildroot/-/jobs/830981979 |
|||
|
|||
[1] https://github.com/python/cpython/commit/0d3fe8ae4961bf551e7d5e42559e2ede1a08fd7c |
|||
[2] https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/tree/libcrypt/crypt.c?h=v1.0.36#n29 |
|||
|
|||
Signed-off-by: Romain Naour <romain.naour@gmail.com> |
|||
---
|
|||
Lib/crypt.py | 4 +++- |
|||
1 file changed, 3 insertions(+), 1 deletion(-) |
|||
|
|||
diff --git a/Lib/crypt.py b/Lib/crypt.py
|
|||
index 33dbc46bb3..4692a5270c 100644
|
|||
--- a/Lib/crypt.py
|
|||
+++ b/Lib/crypt.py
|
|||
@@ -94,7 +94,9 @@ def _add_method(name, *args, rounds=None):
|
|||
result = crypt('', salt) |
|||
except OSError as e: |
|||
# Not all libc libraries support all encryption methods. |
|||
- if e.errno == errno.EINVAL:
|
|||
+ # Not all libc libraries set errno when encryption method is not
|
|||
+ # available.
|
|||
+ if e.errno == errno.EINVAL or e.errno == 0:
|
|||
return False |
|||
raise |
|||
if result and len(result) == method.total_size: |
|||
--
|
|||
2.25.4 |
|||
|
Loading…
Reference in new issue