Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 8c9bb72

Browse files
authored
bpo-32726: macOS installer and framework enhancements and changes for 3.7.0 (GH-5448)
This issue covers various changes for the macOS installers provided via python.org for 3.7.0. - Provide a provisional new installer variant for macOS 10.9 and later systems with 64-bit (x86_64) architecture only. Apple has made it known that future versions of macOS will only fully support 64-bit executables and some other third-party software suppliers have chosen 10.9 as their oldest supported system. - Support **Tcl/Tk 8.6** with the 10.9 installer variant. - Upgrade **OpenSSL** to 1.1.0g and **SQLite** to 3.22.0. - The compiler name used for the interpreter build and for modules built with **Distutils / pip** is now _gcc_ rather than _gcc-4.2_. And extension module builds will no longer try to force use of an old SDK if present.
1 parent b8d9032 commit 8c9bb72

7 files changed

Lines changed: 130 additions & 175 deletions

File tree

Mac/BuildScript/build-installer.py

Lines changed: 74 additions & 120 deletions
Large diffs are not rendered by default.

Mac/BuildScript/openssl_sdk_makedepend.patch

Lines changed: 0 additions & 40 deletions
This file was deleted.

Mac/BuildScript/resources/ReadMe.rtf

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf830
1+
{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf200
22
{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fmodern\fcharset0 CourierNewPSMT;}
33
{\colortbl;\red255\green255\blue255;}
44
{\*\expandedcolortbl;;}
@@ -10,21 +10,37 @@
1010
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0
1111

1212
\b \cf0 NOTE:
13-
\b0 This is an early developer preview of the next feature release of Python 3. Many features are yet to be added and existing features may change substantially or be deleted prior to the feature code freeze.\
13+
\b0 This is a beta preview of the next feature release of Python 3. Existing features may change or be deleted prior to the release code freeze.\
1414
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
1515
\cf0 \
1616
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
1717

18-
\b \cf0 \ul \ulc0 Certificate verification and OpenSSL\
18+
\b \cf0 \ul \ulc0 Which installer variant should I use? [CHANGED in 3.7.0b1]
19+
\b0 \ulnone \
20+
\
21+
For Python.3.7, python.org currently provides two installer variants for download: one that installs a
22+
\i 64-bit/32-bit Intel
23+
\i0 Python capable of running on
24+
\i macOS 10.6 (Snow Leopard)
25+
\i0 or later; and one that installs a
26+
\i 64-bit-only
27+
\i0 Python capable of running on
28+
\i macOS 10.9 (Mavericks)
29+
\i0 or later. This ReadMe was installed with the
30+
\i $MACOSX_DEPLOYMENT_TARGET
31+
\i0 variant. Use the 10.6 variant if you are running on macOS 10.6 through 10.8 or if you want to produce standalone applications that can run on systems from 10.6. If you are running on macOS 10.9 or later and if you have no need for compatibility with older systems, use the 10.9 variant. The Pythons installed by these installers are built with private copies of some third-party libraries not included with or newer than those in macOS itself. The list of these libraries varies by installer variant and is included at the end of the License.rtf file.
32+
\b \ul \
33+
\
34+
Certificate verification and OpenSSL \{UPDATED in 3.7.0b1]\
1935
2036
\b0 \ulnone \
21-
This variant of Python 3.7 includes its own private copy of OpenSSL 1.0.2. The deprecated Apple-supplied OpenSSL libraries are no longer used. This means that the trust certificates in system and user keychains managed by the
37+
This variant of Python 3.7 includes its own private copy of OpenSSL 1.1.0. The deprecated Apple-supplied OpenSSL libraries are no longer used. This means that the trust certificates in system and user keychains managed by the
2238
\i Keychain Access
2339
\i0 application and the
2440
\i security
2541
\i0 command line utility are no longer used as defaults by the Python
2642
\f1 ssl
27-
\f0 module. For this preview release, a sample command script is included in
43+
\f0 module. For this beta release, a sample command script is included in
2844
\f1 /Applications/Python 3.7
2945
\f0 to install a curated bundle of default root certificates from the third-party
3046
\f1 certifi
@@ -37,14 +53,14 @@ The bundled
3753
\f0 included with this installer has its own default certificate store for verifying download connections.\
3854
\
3955

40-
\b \ul Update your version of Tcl/Tk to use IDLE or other Tk applications
56+
\b \ul Update your version of Tcl/Tk to use IDLE or other Tk applications [CHANGED in 3.7.0b1]
4157
\b0 \ulnone \
4258
\
4359
To use IDLE or other programs that use the Tkinter graphical user interface toolkit, you need to install a newer third-party version of the
4460
\i Tcl/Tk
4561
\i0 frameworks. Visit {\field{\*\fldinst{HYPERLINK "https://www.python.org/download/mac/tcltk/"}}{\fldrslt https://www.python.org/download/mac/tcltk/}} for current information about supported and recommended versions of
4662
\i Tcl/Tk
47-
\i0 for this version of Python and of Mac OS X. For this developer preview, the installer is still linked with Tcl/Tk 8.5.\
63+
\i0 for this version of Python and of Mac OS X. For 3.7.0b1, the 10.9 installer variant is linked with Tcl/Tk 8.6 which you must install separately. The 10.6 installer links /with Tcl/Tk 8.5 which you should also download and install.\
4864

4965
\b \ul \
5066
Other changes\

Mac/BuildScript/resources/Welcome.rtf

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf830
1+
{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf200
22
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
33
{\colortbl;\red255\green255\blue255;}
44
{\*\expandedcolortbl;;}
@@ -19,7 +19,11 @@
1919
\
2020

2121
\b NOTE:
22-
\b0 This is an early developer preview of the next feature release of Python 3. Many features are yet to be added and existing features may change substantially or be deleted prior to the feature code freeze.\
22+
\b0 This is an beta preview of the next feature release of Python 3. New features may change substantially or be deleted prior to the final code freeze.\
23+
\
24+
25+
\b NEW in 3.7.0b1:
26+
\b0 two installer variants (10.9+ 64-bit-only, 10.6+ 64-/32-bit), Tcl/Tk 8.6 support in the 10.9+ variant, OpenSSL 1.1.0g, and more!\
2327
\
2428

2529
\b IMPORTANT:
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Provide an additional, more modern macOS installer variant that supports
2+
macOS 10.9+ systems in 64-bit mode only. Upgrade the supplied third-party
3+
libraries to OpenSSL 1.1.0g and to SQLite 3.22.0. The 10.9+ installer now
4+
links with Tcl/Tk 8.6.

configure

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1489,7 +1489,8 @@ Optional Packages:
14891489
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
14901490
--with-universal-archs=ARCH
14911491
select architectures for universal build ("32-bit",
1492-
"64-bit", "3-way", "intel", "intel-32", or "all")
1492+
"64-bit", "3-way", "intel", "intel-32", "intel-64",
1493+
or "all")
14931494
--with-framework-name=FRAMEWORK
14941495
specify an alternate name of the framework built
14951496
with --enable-framework
@@ -7224,6 +7225,11 @@ $as_echo "$CC" >&6; }
72247225
LIPO_32BIT_FLAGS=""
72257226
ARCH_RUN_32BIT=""
72267227
;;
7228+
intel-64)
7229+
UNIVERSAL_ARCH_FLAGS="-arch x86_64"
7230+
LIPO_32BIT_FLAGS=""
7231+
ARCH_RUN_32BIT="true"
7232+
;;
72277233
3-way)
72287234
UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64"
72297235
LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386"
@@ -7234,11 +7240,14 @@ $as_echo "$CC" >&6; }
72347240
;;
72357241
esac
72367242

7237-
CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}"
7238-
LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${LDFLAGS}"
72397243
if test "${UNIVERSALSDK}" != "/"
72407244
then
7245+
CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}"
7246+
LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${LDFLAGS}"
72417247
CPPFLAGS="-isysroot ${UNIVERSALSDK} ${CPPFLAGS}"
7248+
else
7249+
CFLAGS="${UNIVERSAL_ARCH_FLAGS} ${CFLAGS}"
7250+
LDFLAGS="${UNIVERSAL_ARCH_FLAGS} ${LDFLAGS}"
72427251
fi
72437252
fi
72447253

configure.ac

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ fi
212212
AC_SUBST(LIPO_32BIT_FLAGS)
213213
AC_MSG_CHECKING(for --with-universal-archs)
214214
AC_ARG_WITH(universal-archs,
215-
AS_HELP_STRING([--with-universal-archs=ARCH], [select architectures for universal build ("32-bit", "64-bit", "3-way", "intel", "intel-32", or "all")]),
215+
AS_HELP_STRING([--with-universal-archs=ARCH], [select architectures for universal build ("32-bit", "64-bit", "3-way", "intel", "intel-32", "intel-64", or "all")]),
216216
[
217217
UNIVERSAL_ARCHS="$withval"
218218
],
@@ -1768,6 +1768,11 @@ yes)
17681768
LIPO_32BIT_FLAGS=""
17691769
ARCH_RUN_32BIT=""
17701770
;;
1771+
intel-64)
1772+
UNIVERSAL_ARCH_FLAGS="-arch x86_64"
1773+
LIPO_32BIT_FLAGS=""
1774+
ARCH_RUN_32BIT="true"
1775+
;;
17711776
3-way)
17721777
UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64"
17731778
LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386"
@@ -1778,11 +1783,14 @@ yes)
17781783
;;
17791784
esac
17801785

1781-
CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}"
1782-
LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${LDFLAGS}"
17831786
if test "${UNIVERSALSDK}" != "/"
17841787
then
1788+
CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}"
1789+
LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${LDFLAGS}"
17851790
CPPFLAGS="-isysroot ${UNIVERSALSDK} ${CPPFLAGS}"
1791+
else
1792+
CFLAGS="${UNIVERSAL_ARCH_FLAGS} ${CFLAGS}"
1793+
LDFLAGS="${UNIVERSAL_ARCH_FLAGS} ${LDFLAGS}"
17861794
fi
17871795
fi
17881796

0 commit comments

Comments
 (0)