diff options
author | Steven M. Gava <elguavas@python.net> | 2001-06-25 07:23:57 (GMT) |
---|---|---|
committer | Steven M. Gava <elguavas@python.net> | 2001-06-25 07:23:57 (GMT) |
commit | d7b6ed268e22dfa5d04d5c21b7e33bdf3248d8d1 (patch) | |
tree | 3834c1834d10e9fd03ccffc051b36900d82c30e1 /Lib/idlelib/setup.py | |
parent | 51777ce7582241f74bc3a868ed1f018b8b445559 (diff) | |
download | cpython-d7b6ed268e22dfa5d04d5c21b7e33bdf3248d8d1.zip cpython-d7b6ed268e22dfa5d04d5c21b7e33bdf3248d8d1.tar.gz cpython-d7b6ed268e22dfa5d04d5c21b7e33bdf3248d8d1.tar.bz2 |
Initial revision
Diffstat (limited to 'Lib/idlelib/setup.py')
-rw-r--r-- | Lib/idlelib/setup.py | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/Lib/idlelib/setup.py b/Lib/idlelib/setup.py new file mode 100644 index 0000000..73f3a81 --- /dev/null +++ b/Lib/idlelib/setup.py @@ -0,0 +1,81 @@ +import os,glob +from distutils.core import setup +from distutils.command.build_py import build_py +from distutils.command.install_lib import install_lib +import idlever + +# name of idle package +idlelib = "idlelib" + +# the normal build_py would not incorporate the .txt files +txt_files = ['config-unix.txt','config-win.txt','config.txt'] +Icons = glob.glob1("Icons","*.gif") +class idle_build_py(build_py): + def get_plain_outfile(self, build_dir, package, file): + # like get_module_outfile, but does not append .py + outfile_path = [build_dir] + list(package) + [file] + return apply(os.path.join, outfile_path) + + def run(self): + # Copies all .py files, then also copies the txt and gif files + build_py.run(self) + assert self.packages == [idlelib] + for name in txt_files: + 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) + for name in Icons: + outfile = self.get_plain_outfile(self.build_lib, + [idlelib,"Icons"], name) + dir = os.path.dirname(outfile) + self.mkpath(dir) + self.copy_file(os.path.join("Icons",name), + outfile, preserve_mode = 0) + + 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] + return build_py.get_source_files(self)+txt_files+icons + + def get_outputs(self, include_bytecode=1): + # returns the built files + outputs = build_py.get_outputs(self, include_bytecode) + if not include_bytecode: + return outputs + for name in txt_files: + filename = self.get_plain_outfile(self.build_lib, + [idlelib], name) + outputs.append(filename) + for name in Icons: + filename = self.get_plain_outfile(self.build_lib, + [idlelib,"Icons"], name) + outputs.append(filename) + return outputs + +# Arghhh. install_lib thinks that all files returned from build_py's +# get_outputs are bytecode files +class idle_install_lib(install_lib): + def _bytecode_filenames(self, files): + files = [n for n in files if n.endswith('.py')] + return install_lib._bytecode_filenames(self,files) + + +setup(name="IDLE", + version = idlever.IDLE_VERSION, + description = "IDLE, the Python IDE", + author = "Guido van Rossum", + author_email = "guido@python.org", + #url = + 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.""", + + cmdclass = {'build_py':idle_build_py, + 'install_lib':idle_install_lib}, + package_dir = {idlelib:'.'}, + packages = [idlelib], + scripts = ['idle'] + ) |