Commit dc46175d authored by Martin v. Löwis's avatar Martin v. Löwis

Add --check-tkinter to setup.py. Install IDLE. Fixes #634078.

parent eb58f5d6
......@@ -530,7 +530,7 @@ memtest: all platform
$(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS)
# Install everything
install: altinstall bininstall maninstall
install: altinstall bininstall maninstall idleinstall
# Install almost everything without disturbing previous versions
altinstall: altbininstall libinstall inclinstall libainstall \
......@@ -826,6 +826,10 @@ frameworkinstallunixtools:
$(MAKE) -f $(srcdir)/Mac/OSX/Makefile installunixtools \
srcdir=$(srcdir) builddir=. dstroot=$(PYTHONFRAMEWORKPREFIX)/../..
# This installs IDLE
idleinstall:
SRCDIR=$(srcdir) ./$(BUILDPYTHON) $(srcdir)/Tools/idle/setup.py install --check-tkinter
# Build the toplevel Makefile
Makefile.pre: Makefile.pre.in config.status
CONFIG_FILES=Makefile.pre CONFIG_HEADERS= $(SHELL) config.status
......
......@@ -582,6 +582,8 @@ Tools/Demos
Build
-----
- On Unix, IDLE is now installed automatically.
- The fpectl module is not built by default; it's dangerous or useless
except in the hands of experts.
......
import os,glob
import os, glob, sys
from distutils.core import setup
from distutils.command.build_py import build_py
from distutils.command.install_lib import install_lib
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
idlelib = "idlelib"
......@@ -24,7 +41,8 @@ class idle_build_py(build_py):
outfile = self.get_plain_outfile(self.build_lib, [idlelib], name)
dir = os.path.dirname(outfile)
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:
outfile = self.get_plain_outfile(self.build_lib,
[idlelib,"Icons"], name)
......@@ -35,7 +53,8 @@ class idle_build_py(build_py):
def get_source_files(self):
# 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
def get_outputs(self, include_bytecode=1):
......@@ -75,7 +94,7 @@ as well as a Python shell window and a debugger.""",
cmdclass = {'build_py':idle_build_py,
'install_lib':idle_install_lib},
package_dir = {idlelib:'.'},
package_dir = {idlelib: package_dir},
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