summaryrefslogtreecommitdiff
path: root/Mac
diff options
context:
space:
mode:
authorNed Deily <nad@python.org>2017-07-24 04:58:43 -0400
committerGitHub <noreply@github.com>2017-07-24 04:58:43 -0400
commitb364d9f9c693742f0ddcd9e64a9bbf9339b686d9 (patch)
tree2c357030a4b3744b8b3a80b69b5543fa5e90376b /Mac
parent77e97ca9ff6f3dbbf98b89b4103c46b43eef5642 (diff)
downloadcpython-git-b364d9f9c693742f0ddcd9e64a9bbf9339b686d9.tar.gz
More Mac installer fixes for git-based workflow (#2839)
Diffstat (limited to 'Mac')
-rwxr-xr-xMac/BuildScript/build-installer.py30
1 files changed, 23 insertions, 7 deletions
diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py
index 7ffa367366..4cb7e3214c 100755
--- a/Mac/BuildScript/build-installer.py
+++ b/Mac/BuildScript/build-installer.py
@@ -13,7 +13,7 @@ sphinx-build and the current versions of Sphinx now require at least
Python 2.6.
In addition to what is supplied with OS X 10.5+ and Xcode 3+, the script
-requires an installed version of git and a third-party version of
+requires an installed third-party version of
Tcl/Tk 8.4 (for OS X 10.4 and 10.5 deployment targets) or Tcl/TK 8.5
(for 10.6 or later) installed in /Library/Frameworks. When installed,
the Python built by this script will attempt to dynamically link first to
@@ -23,7 +23,7 @@ installing the most recent ActiveTcl 8.4 or 8.5 version.
32-bit-only installer builds are still possible on OS X 10.4 with Xcode 2.5
and the installation of additional components, such as a newer Python
-(2.5 is needed for Python parser updates), git, and for the documentation
+(2.5 is needed for Python parser updates) and for the documentation
build either svn (pre-3.4.1) or sphinx-build (3.4.1 and later).
Usage: see USAGE variable in the script.
@@ -635,9 +635,8 @@ def checkEnvironment():
base_path = base_path + ':' + OLD_DEVELOPER_TOOLS
os.environ['PATH'] = base_path
print("Setting default PATH: %s"%(os.environ['PATH']))
- # Ensure ws have access to git and to sphinx-build.
- # You may have to create links in /usr/bin for them.
- runCommand('git --version')
+ # Ensure we have access to sphinx-build.
+ # You may have to create a link in /usr/bin for it.
runCommand('sphinx-build --version')
def parseOptions(args=None):
@@ -1142,8 +1141,25 @@ def buildPython():
shellQuote(WORKDIR)[1:-1],
shellQuote(WORKDIR)[1:-1]))
- print("Running make")
- runCommand("make")
+ # Look for environment value BUILDINSTALLER_BUILDPYTHON_MAKE_EXTRAS
+ # and, if defined, append its value to the make command. This allows
+ # us to pass in version control tags, like GITTAG, to a build from a
+ # tarball rather than from a vcs checkout, thus eliminating the need
+ # to have a working copy of the vcs program on the build machine.
+ #
+ # A typical use might be:
+ # export BUILDINSTALLER_BUILDPYTHON_MAKE_EXTRAS=" \
+ # GITVERSION='echo 123456789a' \
+ # GITTAG='echo v3.6.0' \
+ # GITBRANCH='echo 3.6'"
+
+ make_extras = os.getenv("BUILDINSTALLER_BUILDPYTHON_MAKE_EXTRAS")
+ if make_extras:
+ make_cmd = "make " + make_extras
+ else:
+ make_cmd = "make"
+ print("Running " + make_cmd)
+ runCommand(make_cmd)
print("Running make install")
runCommand("make install DESTDIR=%s"%(