summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/idlelib/MANIFEST.in7
-rw-r--r--Lib/idlelib/PyShell.py2
-rw-r--r--Lib/idlelib/idlever.py2
-rw-r--r--Lib/idlelib/setup.py86
4 files changed, 45 insertions, 52 deletions
diff --git a/Lib/idlelib/MANIFEST.in b/Lib/idlelib/MANIFEST.in
index 96098f8..55186d6 100644
--- a/Lib/idlelib/MANIFEST.in
+++ b/Lib/idlelib/MANIFEST.in
@@ -1,3 +1,10 @@
+# Many of these entries are unnecessary because of the extra file copying
+# built into IDLE's setup.py. However, if that should change, they may
+# become necessary and meanwhile do no harm.
+include *.bat
+include *.def
+include *.gif
+include *.pyw
include *.txt
include idle
include MANIFEST.in
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index ad57ebe..5b4744e 100644
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -799,7 +799,7 @@ class PyShell(OutputWindow):
def begin(self):
self.resetoutput()
- self.write("Python %s on %s\n%s\nGRPC IDLE Fork %s\n" %
+ self.write("Python %s on %s\n%s\nIDLEfork %s\n" %
(sys.version, sys.platform, self.COPYRIGHT,
idlever.IDLE_VERSION))
try:
diff --git a/Lib/idlelib/idlever.py b/Lib/idlelib/idlever.py
index 4ed6cd9..9cf2d0b 100644
--- a/Lib/idlelib/idlever.py
+++ b/Lib/idlelib/idlever.py
@@ -1 +1 @@
-IDLE_VERSION = "0.8.9"
+IDLE_VERSION = "0.9a0"
diff --git a/Lib/idlelib/setup.py b/Lib/idlelib/setup.py
index ac6e6db..8a4ffa6 100644
--- a/Lib/idlelib/setup.py
+++ b/Lib/idlelib/setup.py
@@ -6,6 +6,15 @@ import idlever
idle_name = "idle"
+# IDLE not being imported as a package by its script. It is now being
+# installed as a collection of modules in a directory in .../site-packages/,
+# with a .pth file which will add IDLE to sys.path
+
+# Name of 'package' to be installed in site-packages:
+pkgname = idle_name + "lib"
+
+pkg_dir = "."
+
try:
pos = sys.argv.index("--check-tkinter")
except ValueError:
@@ -18,27 +27,14 @@ else:
print >>sys.stderr, "Cannot install IDLE without _tkinter"
raise SystemExit
-try:
- package_dir = os.path.join(os.environ["SRCDIR"], "Tools", idle_name)
-except KeyError:
- package_dir = "."
-
-# name of package to be installed in site-packages
-pkgname = idle_name + "lib"
-
-# the normal build_py would not incorporate the .txt or config files
-txt_files = ['extend.txt', 'help.txt', 'CREDITS.txt', 'LICENSE.txt']
+# the normal build_py would not incorporate anything but .py files
+txt_files = ['extend.txt', 'help.txt', 'CREDITS.txt', 'LICENSE.txt',
+ 'README.txt']
txt_files += ['config-extensions.def', 'config-highlight.def',
'config-keys.def', 'config-main.def']
-Icons = glob.glob1("Icons","*.gif")
-
-# Create a .pth file to live in site-packages; Python will add IDLE to
-# sys.path:
+txt_files += [idle_name + '.bat', idle_name + '.pyw']
-pathfile = idle_name + ".pth"
-pfile = open(pathfile, 'w')
-pfile.write(pkgname +'\n')
-pfile.close()
+Icons = glob.glob1("Icons","*.gif")
class IDLE_Builder(build_py):
def get_plain_outfile(self, build_dir, package, file):
@@ -49,31 +45,24 @@ class IDLE_Builder(build_py):
def run(self):
# Copies all .py files, then also copies the txt and gif files
build_py.run(self)
- assert self.packages == [pkgname]
for name in txt_files:
- outfile = self.get_plain_outfile(self.build_lib, [pkgname], name)
+ outfile = self.get_plain_outfile(self.build_lib, [], name)
dir = os.path.dirname(outfile)
self.mkpath(dir)
- self.copy_file(os.path.join(package_dir, name), outfile,
+ self.copy_file(os.path.join(pkg_dir, name), outfile,
preserve_mode = 0)
for name in Icons:
outfile = self.get_plain_outfile(self.build_lib,
- [pkgname, "Icons"], name)
+ ["Icons"], name)
dir = os.path.dirname(outfile)
self.mkpath(dir)
self.copy_file(os.path.join("Icons", name),
outfile, preserve_mode = 0)
- # Copy the .pth file to the same level as the package directory
- outfile = self.get_plain_outfile(self.build_lib, [], pathfile)
- dir = os.path.dirname(outfile)
- self.mkpath(dir)
- self.copy_file(os.path.join(package_dir, pathfile), outfile,
- preserve_mode=0)
def get_source_files(self):
# returns the .py files, the .txt and .def files, and the 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]
+ icons = [os.path.join(pkg_dir, "Icons",name) for name in Icons]
+ txts = [os.path.join(pkg_dir, name) for name in txt_files]
return build_py.get_source_files(self) + txt_files + icons
def get_outputs(self, include_bytecode=1):
@@ -82,12 +71,11 @@ class IDLE_Builder(build_py):
if not include_bytecode:
return outputs
for name in txt_files:
- filename = self.get_plain_outfile(self.build_lib,
- [pkgname], name)
+ filename = self.get_plain_outfile(self.build_lib, [], name)
outputs.append(filename)
for name in Icons:
filename = self.get_plain_outfile(self.build_lib,
- [pkgname, "Icons"], name)
+ ["Icons"], name)
outputs.append(filename)
return outputs
@@ -104,28 +92,26 @@ setup(name="IDLEfork",
description = "IDLEfork, the Developmental Python IDE",
author = "Guido van Rossum et. al.",
author_email = "idle-dev@python.org",
- maintainer = "Kurt B. Kaiser",
- maintainer_email = "kbk@shore.net",
license = "PSF: www.python.org",
url = "https://sourceforge.net/projects/idlefork/",
long_description =
-"""IDLE is a Tkinter based IDE for Python. It is written in 100% pure Python
-and works both on Windows and Unix. It features a multi-window text editor with
-multiple undo, Python colorizing, and many other things, as well as a Python
-shell window and a debugger.
-
-IDLEfork is a separate line of development which was initiated by D. Scherer
-at CMU as part of Visual Python. It features execution in a separate process
-which is newly initiated for each run. At version 0.9 the RPC was changed to
-incorporate code by GvR, which supports the debugger. IDLEfork also
-incorporates a GUI configuration utilility. For further details, refer to
-idlefork.sourceforge.net.
-
+"""IDLE is a Tkinter based IDE for Python. It is written in 100% pure
+Python and works both on Windows and Unix. It features a multi-window
+text editor with multiple undo, Python colorizing, and many other
+things, as well as a Python shell window and a debugger.
+
+IDLEfork is a separate line of development which was initiated by
+D. Scherer at CMU as part of Visual Python. It features execution in a
+separate process which is newly initiated for each run. At version 0.9
+the RPC was changed to incorporate code by GvR, which supports the
+debugger. IDLEfork also incorporates a GUI configuration utilility.
+For further details, refer to idlefork.sourceforge.net.
""",
cmdclass = {'build_py':IDLE_Builder,
'install_lib':IDLE_Installer},
- package_dir = {pkgname: package_dir},
- packages = [pkgname],
- scripts = [os.path.join(package_dir, idle_name)]
+ package_dir = {pkgname: pkg_dir},
+ extra_path = pkgname,
+ py_modules = [f.split('.')[0] for f in glob.glob("*.py")],
+ scripts = [os.path.join(pkg_dir, idle_name)]
)