mirror of
https://github.com/python/cpython.git
synced 2025-07-23 11:15:24 +00:00
Add --check-tkinter to setup.py. Install IDLE. Fixes #634078.
This commit is contained in:
parent
eb58f5d6cd
commit
dc46175dc3
3 changed files with 31 additions and 6 deletions
|
@ -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.
|
||||
|
||||
|
|
|
@ -1,9 +1,26 @@
|
|||
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')]
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue