Commit 3e0edbf4 authored by Neal Norwitz's avatar Neal Norwitz

Port Martin von Loewis checkin from Python:

Add --check-tkinter to setup.py. Install IDLE. Fixes #634078.
parent ce8ed1a8
import os,glob import os, glob, sys
from distutils.core import setup from distutils.core import setup
from distutils.command.build_py import build_py from distutils.command.build_py import build_py
from distutils.command.install_lib import install_lib from distutils.command.install_lib import install_lib
import idlever import idlever
try:
pos = sys.argv.index("--check-tkinter")
except ValueError:
pass
else:
del sys.argv[pos]
try:
import _tkinter
except ImportError:
print >>sys.stderr, "Cannot install IDLE without _tkinter"
raise SystemExit
try:
package_dir = os.path.join(os.environ["SRCDIR"], "Tools", "idle")
except KeyError:
package_dir = "."
# name of idle package # name of idle package
idlelib = "idlelib" idlelib = "idlelib"
...@@ -24,7 +41,8 @@ class idle_build_py(build_py): ...@@ -24,7 +41,8 @@ class idle_build_py(build_py):
outfile = self.get_plain_outfile(self.build_lib, [idlelib], name) outfile = self.get_plain_outfile(self.build_lib, [idlelib], name)
dir = os.path.dirname(outfile) dir = os.path.dirname(outfile)
self.mkpath(dir) self.mkpath(dir)
self.copy_file(name, outfile, preserve_mode = 0) self.copy_file(os.path.join(package_dir, name), outfile,
preserve_mode = 0)
for name in Icons: for name in Icons:
outfile = self.get_plain_outfile(self.build_lib, outfile = self.get_plain_outfile(self.build_lib,
[idlelib,"Icons"], name) [idlelib,"Icons"], name)
...@@ -35,7 +53,8 @@ class idle_build_py(build_py): ...@@ -35,7 +53,8 @@ class idle_build_py(build_py):
def get_source_files(self): def get_source_files(self):
# returns the .py files, the .txt files, and the icons # returns the .py files, the .txt files, and the icons
icons = [os.path.join("Icons",name) for name in Icons] icons = [os.path.join(package_dir, "Icons",name) for name in Icons]
txts = [os.path.join(package_dir, name) for name in txt_files]
return build_py.get_source_files(self)+txt_files+icons return build_py.get_source_files(self)+txt_files+icons
def get_outputs(self, include_bytecode=1): def get_outputs(self, include_bytecode=1):
...@@ -80,7 +99,7 @@ refer to idlefork.sourceforge.net.""", ...@@ -80,7 +99,7 @@ refer to idlefork.sourceforge.net.""",
cmdclass = {'build_py':idle_build_py, cmdclass = {'build_py':idle_build_py,
'install_lib':idle_install_lib}, 'install_lib':idle_install_lib},
package_dir = {idlelib:'.'}, package_dir = {idlelib: package_dir},
packages = [idlelib], packages = [idlelib],
scripts = ['idle'] scripts = [os.path.join(package_dir, 'idle')]
) )
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