Commit 123a58bf authored by Ned Deily's avatar Ned Deily Committed by GitHub

Backport Mac installer fixes for git-based workflow (#2837)

parent 8d41de62
...@@ -13,7 +13,7 @@ sphinx-build and the current versions of Sphinx now require at least ...@@ -13,7 +13,7 @@ sphinx-build and the current versions of Sphinx now require at least
Python 2.6. Python 2.6.
In addition to what is supplied with OS X 10.5+ and Xcode 3+, the script In addition to what is supplied with OS X 10.5+ and Xcode 3+, the script
requires an installed version of hg 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 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, (for 10.6 or later) installed in /Library/Frameworks. When installed,
the Python built by this script will attempt to dynamically link first to 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. ...@@ -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 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 and the installation of additional components, such as a newer Python
(2.5 is needed for Python parser updates), hg, 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). build either svn (pre-3.4.1) or sphinx-build (3.4.1 and later).
Usage: see USAGE variable in the script. Usage: see USAGE variable in the script.
...@@ -577,7 +577,7 @@ def getTclTkVersion(configfile, versionline): ...@@ -577,7 +577,7 @@ def getTclTkVersion(configfile, versionline):
""" """
try: try:
f = open(configfile, "r") f = open(configfile, "r")
except: except OSError:
fatal("Framework configuration file not found: %s" % configfile) fatal("Framework configuration file not found: %s" % configfile)
for l in f: for l in f:
...@@ -663,9 +663,8 @@ def checkEnvironment(): ...@@ -663,9 +663,8 @@ def checkEnvironment():
base_path = base_path + ':' + OLD_DEVELOPER_TOOLS base_path = base_path + ':' + OLD_DEVELOPER_TOOLS
os.environ['PATH'] = base_path os.environ['PATH'] = base_path
print("Setting default PATH: %s"%(os.environ['PATH'])) print("Setting default PATH: %s"%(os.environ['PATH']))
# Ensure ws have access to hg and to sphinx-build. # Ensure we have access to sphinx-build.
# You may have to create links in /usr/bin for them. # You may have to create a link in /usr/bin for it.
runCommand('hg --version')
runCommand('sphinx-build --version') runCommand('sphinx-build --version')
def parseOptions(args=None): def parseOptions(args=None):
...@@ -819,7 +818,7 @@ def downloadURL(url, fname): ...@@ -819,7 +818,7 @@ def downloadURL(url, fname):
except: except:
try: try:
os.unlink(fname) os.unlink(fname)
except: except OSError:
pass pass
def verifyThirdPartyFile(url, checksum, fname): def verifyThirdPartyFile(url, checksum, fname):
...@@ -1115,7 +1114,6 @@ def buildPythonDocs(): ...@@ -1115,7 +1114,6 @@ def buildPythonDocs():
docdir = os.path.join(rootDir, 'pydocs') docdir = os.path.join(rootDir, 'pydocs')
curDir = os.getcwd() curDir = os.getcwd()
os.chdir(buildDir) os.chdir(buildDir)
# The Doc build changed for 3.4 (technically, for 3.4.1) and for 2.7.9
runCommand('make clean') runCommand('make clean')
# Assume sphinx-build is on our PATH, checked in checkEnvironment # Assume sphinx-build is on our PATH, checked in checkEnvironment
runCommand('make html') runCommand('make html')
...@@ -1168,8 +1166,25 @@ def buildPython(): ...@@ -1168,8 +1166,25 @@ def buildPython():
shellQuote(WORKDIR)[1:-1], shellQuote(WORKDIR)[1:-1],
shellQuote(WORKDIR)[1:-1])) shellQuote(WORKDIR)[1:-1]))
print("Running make") # Look for environment value BUILDINSTALLER_BUILDPYTHON_MAKE_EXTRAS
runCommand("make") # 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") print("Running make install")
runCommand("make install DESTDIR=%s"%( runCommand("make install DESTDIR=%s"%(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment