summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/spyder')
-rw-r--r--dev-python/spyder/files/spyder-2.3.8-build.patch154
-rw-r--r--dev-python/spyder/spyder-2.3.8.ebuild2
2 files changed, 155 insertions, 1 deletions
diff --git a/dev-python/spyder/files/spyder-2.3.8-build.patch b/dev-python/spyder/files/spyder-2.3.8-build.patch
new file mode 100644
index 000000000000..2a4646ab0c08
--- /dev/null
+++ b/dev-python/spyder/files/spyder-2.3.8-build.patch
@@ -0,0 +1,154 @@
+--- a/setup.py
++++ b/setup.py
+@@ -21,8 +21,6 @@
+ import shutil
+
+ from distutils.core import setup
+-from distutils.command.build import build
+-from distutils.command.install_data import install_data
+
+ # Check for Python 3
+ PY3 = sys.version_info[0] == 3
+@@ -66,12 +64,7 @@
+ def get_data_files():
+ """Return data_files in a platform dependent manner"""
+ if sys.platform.startswith('linux'):
+- if PY3:
+- data_files = [('share/applications', ['scripts/spyder3.desktop']),
+- ('share/pixmaps', ['img_src/spyder3.png'])]
+- else:
+- data_files = [('share/applications', ['scripts/spyder.desktop']),
+- ('share/pixmaps', ['img_src/spyder.png'])]
++ data_files = [('share/pixmaps', ['img_src/spyder.png'])]
+ elif os.name == 'nt':
+ data_files = [('scripts', ['img_src/spyder.ico',
+ 'img_src/spyder_light.ico'])]
+@@ -80,97 +73,6 @@
+ return data_files
+
+
+-class MyInstallData(install_data):
+- def run(self):
+- install_data.run(self)
+- if sys.platform.startswith('linux'):
+- try:
+- subprocess.call(['update-desktop-database'])
+- except:
+- print("ERROR: unable to update desktop database",
+- file=sys.stderr)
+-CMDCLASS = {'install_data': MyInstallData}
+-
+-
+-# Sphinx build (documentation)
+-def get_html_help_exe():
+- """Return HTML Help Workshop executable path (Windows only)"""
+- if os.name == 'nt':
+- hhc_base = r'C:\Program Files%s\HTML Help Workshop\hhc.exe'
+- for hhc_exe in (hhc_base % '', hhc_base % ' (x86)'):
+- if osp.isfile(hhc_exe):
+- return hhc_exe
+- else:
+- return
+-
+-try:
+- from sphinx import setup_command
+-
+- class MyBuild(build):
+- user_options = [('no-doc', None, "Don't build Spyder documentation")] \
+- + build.user_options
+- def __init__(self, *args, **kwargs):
+- build.__init__(self, *args, **kwargs)
+- self.no_doc = False
+- def with_doc(self):
+- setup_dir = os.path.dirname(os.path.abspath(__file__))
+- is_doc_dir = os.path.isdir(os.path.join(setup_dir, 'doc'))
+- install_obj = self.distribution.get_command_obj('install')
+- return (is_doc_dir and not self.no_doc and not install_obj.no_doc)
+- sub_commands = build.sub_commands + [('build_doc', with_doc)]
+- CMDCLASS['build'] = MyBuild
+-
+-
+- class MyInstall(install):
+- user_options = [('no-doc', None, "Don't build Spyder documentation")] \
+- + install.user_options
+- def __init__(self, *args, **kwargs):
+- install.__init__(self, *args, **kwargs)
+- self.no_doc = False
+- CMDCLASS['install'] = MyInstall
+-
+-
+- class MyBuildDoc(setup_command.BuildDoc):
+- def run(self):
+- build = self.get_finalized_command('build')
+- sys.path.insert(0, os.path.abspath(build.build_lib))
+- dirname = self.distribution.get_command_obj('build').build_purelib
+- self.builder_target_dir = osp.join(dirname, 'spyderlib', 'doc')
+-
+- if not osp.exists(self.builder_target_dir):
+- os.mkdir(self.builder_target_dir)
+-
+- hhc_exe = get_html_help_exe()
+- self.builder = "html" if hhc_exe is None else "htmlhelp"
+-
+- try:
+- setup_command.BuildDoc.run(self)
+- except UnicodeDecodeError:
+- print("ERROR: unable to build documentation because Sphinx "\
+- "do not handle source path with non-ASCII characters. "\
+- "Please try to move the source package to another "\
+- "location (path with *only* ASCII characters).",
+- file=sys.stderr)
+- sys.path.pop(0)
+-
+- # Building chm doc, if HTML Help Workshop is installed
+- if hhc_exe is not None:
+- fname = osp.join(self.builder_target_dir, 'Spyderdoc.chm')
+- subprocess.call('"%s" %s' % (hhc_exe, fname), shell=True)
+- if osp.isfile(fname):
+- dest = osp.join(dirname, 'spyderlib')
+- try:
+- shutil.move(fname, dest)
+- except shutil.Error:
+- print("Unable to replace %s" % dest)
+- shutil.rmtree(self.builder_target_dir)
+-
+- CMDCLASS['build_doc'] = MyBuildDoc
+-except ImportError:
+- print('WARNING: unable to build documentation because Sphinx '\
+- 'is not installed', file=sys.stderr)
+-
+-
+ NAME = 'spyder'
+ LIBNAME = 'spyderlib'
+ from spyderlib import __version__, __project_url__
+@@ -204,13 +106,7 @@
+ packages = get_subpackages(LIBNAME)+get_subpackages('spyderplugins')
+ return packages
+
+-# NOTE: the '[...]_win_post_install.py' script is installed even on non-Windows
+-# platforms due to a bug in pip installation process (see Issue 1158)
+-SCRIPTS = ['%s_win_post_install.py' % NAME]
+-if PY3 and sys.platform.startswith('linux'):
+- SCRIPTS.append('spyder3')
+-else:
+- SCRIPTS.append('spyder')
++SCRIPTS = ['spyder']
+ EXTLIST = ['.mo', '.svg', '.png', '.css', '.html', '.js', '.chm', '.ini',
+ '.txt', '.rst']
+ if os.name == 'nt':
+@@ -246,7 +142,7 @@
+ package_data={LIBNAME: get_package_data(LIBNAME, EXTLIST),
+ 'spyderplugins':
+ get_package_data('spyderplugins', EXTLIST)},
+- requires=["rope (>=0.9.2)", "sphinx (>=0.6.0)", "PyQt4 (>=4.4)"],
++ requires=["rope (>=0.9.2)", "PyQt4 (>=4.4)"],
+ scripts=[osp.join('scripts', fname) for fname in SCRIPTS],
+ data_files=get_data_files(),
+ options={"bdist_wininst":
+@@ -267,5 +163,4 @@
+ 'Programming Language :: Python :: 3',
+ 'Development Status :: 5 - Production/Stable',
+ 'Topic :: Scientific/Engineering',
+- 'Topic :: Software Development :: Widget Sets'],
+- cmdclass=CMDCLASS)
++ 'Topic :: Software Development :: Widget Sets'])
diff --git a/dev-python/spyder/spyder-2.3.8.ebuild b/dev-python/spyder/spyder-2.3.8.ebuild
index 50b82203fec9..ef9c7d8e5e30 100644
--- a/dev-python/spyder/spyder-2.3.8.ebuild
+++ b/dev-python/spyder/spyder-2.3.8.ebuild
@@ -36,7 +36,7 @@ DEPEND="${RDEPEND}
doc? ( >=dev-python/sphinx-0.6.0[${PYTHON_USEDEP}] )"
# Courtesy of Arfrever
-PATCHES=( "${FILESDIR}"/${PN}-2.3.1-build.patch )
+PATCHES=( "${FILESDIR}"/${P}-build.patch )
python_compile_all() {
if use doc; then