diff options
author | Andrey Grozin <grozin@gentoo.org> | 2018-04-23 03:47:42 +0700 |
---|---|---|
committer | Andrey Grozin <grozin@gentoo.org> | 2018-04-23 03:48:22 +0700 |
commit | 4a840b79c169fca88e28f2aa4ddc97c5b7ac3eea (patch) | |
tree | 30169067a7434f8359ef43fa87524b66ea3c12bd /dev-python | |
parent | net-mail/dovecot-2.2.34: hppa stable, bug 648894 (diff) | |
download | gentoo-4a840b79c169fca88e28f2aa4ddc97c5b7ac3eea.tar.gz gentoo-4a840b79c169fca88e28f2aa4ddc97c5b7ac3eea.tar.bz2 gentoo-4a840b79c169fca88e28f2aa4ddc97c5b7ac3eea.zip |
dev-python/spyder: bump to 3.2.8 and support QtWebengine
Suggested-by: holgersson@posteo.de
Package-Manager: Portage-2.3.19, Repoman-2.3.6
Diffstat (limited to 'dev-python')
-rw-r--r-- | dev-python/spyder/Manifest | 1 | ||||
-rw-r--r-- | dev-python/spyder/files/spyder-3.2.8-build.patch | 129 | ||||
-rw-r--r-- | dev-python/spyder/metadata.xml | 3 | ||||
-rw-r--r-- | dev-python/spyder/spyder-3.2.8.ebuild | 79 |
4 files changed, 212 insertions, 0 deletions
diff --git a/dev-python/spyder/Manifest b/dev-python/spyder/Manifest index 518bd6f7966b..a489f0b9d1dc 100644 --- a/dev-python/spyder/Manifest +++ b/dev-python/spyder/Manifest @@ -1 +1,2 @@ DIST spyder-3.2.4.tar.gz 3345797 BLAKE2B 2df946f257fee7e87dd922b6ed3b3c0fa02438560cb7fa4087f25498eb134bfc8c342a0a928be37f08448dfea2917380a8521ead13954091b1854616012ace91 SHA512 46e89c68545695d1e64aaafdd2ed724b152a41088f1bfa645b8c66d8ae6bcc2d86e9830cd3f16edfb8027aad5786dfb67f2a8371839dd515df8ebe34446716e6 +DIST spyder-3.2.8.tar.gz 3414627 BLAKE2B 95f85f719eba20eb9fed5183cfac582b040abc93724df512188d14167a1663c5be9906dfc499feda9f8b0d7a713c093dbf98e4f20f732e0e9669397e1b7c8482 SHA512 03dea90632af510cfc8c4cc684068213a54dac9eef671f04c83663dd40eb480a4b818e2d040efa7a78a0d17044018aa76f2931abbf344eb684094fc7a86ddf5e diff --git a/dev-python/spyder/files/spyder-3.2.8-build.patch b/dev-python/spyder/files/spyder-3.2.8-build.patch new file mode 100644 index 000000000000..b21c77d660be --- /dev/null +++ b/dev-python/spyder/files/spyder-3.2.8-build.patch @@ -0,0 +1,129 @@ +--- spyder-3.2.8/setup.py 2018-03-23 14:00:00.000000000 +0100 ++++ spyder-3.2.8/setup.py 2018-03-23 14:00:00.000000001 +0100 +@@ -77,12 +77,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/icons', ['img_src/spyder3.png']), +- ('share/metainfo', ['scripts/spyder3.appdata.xml'])] +- else: +- data_files = [('share/applications', ['scripts/spyder.desktop']), ++ data_files = [('share/applications', ['scripts/spyder.desktop']), + ('share/icons', ['img_src/spyder.png'])] + elif os.name == 'nt': + data_files = [('scripts', ['img_src/spyder.ico', +@@ -106,102 +101,6 @@ + + + #============================================================================== +-# Make Linux detect Spyder desktop file +-#============================================================================== +-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, 'spyder', '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, 'spyder') +- 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) +- +- +-#============================================================================== + # Main scripts + #============================================================================== + # NOTE: the '[...]_win_post_install.py' script is installed even on non-Windows +@@ -261,8 +160,7 @@ + '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/metadata.xml b/dev-python/spyder/metadata.xml index 00c53afbbf33..d43cf6ebe126 100644 --- a/dev-python/spyder/metadata.xml +++ b/dev-python/spyder/metadata.xml @@ -15,6 +15,9 @@ (dict/list/string/array editor), doc viewer, history log, environment variables editor, ... </longdescription> + <use> + <flag name="webengine">Build bindings for the QtWebEngine module</flag> + </use> <upstream> <remote-id type="pypi">spyder</remote-id> <remote-id type="bitbucket">spyder-ide/spyderlib</remote-id> diff --git a/dev-python/spyder/spyder-3.2.8.ebuild b/dev-python/spyder/spyder-3.2.8.ebuild new file mode 100644 index 000000000000..3c588279fe79 --- /dev/null +++ b/dev-python/spyder/spyder-3.2.8.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) + +inherit eutils distutils-r1 xdg-utils + +DESCRIPTION="Python IDE with matlab-like features" +HOMEPAGE="https://github.com/spyder-ide/spyder/ https://pypi.python.org/pypi/spyder/ http://pythonhosted.org/spyder/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc hdf5 +webengine webkit" +REQUIRED_USE="webengine? ( !webkit )" + +RDEPEND=" + hdf5? ( dev-python/h5py[${PYTHON_USEDEP}] ) + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/cloudpickle[${PYTHON_USEDEP}] + dev-python/jedi[${PYTHON_USEDEP}] + dev-python/nbconvert[${PYTHON_USEDEP}] + dev-python/pep8[${PYTHON_USEDEP}] + dev-python/pickleshare[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + >=dev-python/pycodestyle-2.3.0[${PYTHON_USEDEP}] + dev-python/pyflakes[${PYTHON_USEDEP}] + dev-python/pygments[${PYTHON_USEDEP}] + dev-python/pylint[${PYTHON_USEDEP}] + dev-python/PyQt5[${PYTHON_USEDEP},svg,webengine?,webkit?] + dev-python/pyzmq[${PYTHON_USEDEP}] + >=dev-python/qtawesome-0.4.1[${PYTHON_USEDEP}] + dev-python/qtconsole[${PYTHON_USEDEP}] + dev-python/QtPy[${PYTHON_USEDEP},svg,webengine?,webkit?] + >=dev-python/rope-0.10.7[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}]" + +DEPEND="${RDEPEND} + app-arch/unzip" + +# Based on the courtesy of Arfrever +PATCHES=( "${FILESDIR}"/${PN}-3.2.8-build.patch ) + +python_compile_all() { + if use doc; then + sphinx-build doc doc/html || die "Generation of documentation failed" + fi +} + +python_install() { + distutils-r1_python_install + python_newscript scripts/${PN} ${PN}${EPYTHON:6:1} +} + +python_install_all() { + use doc && local HTML_DOCS=( doc/html/. ) + distutils-r1_python_install_all + doicon spyder/images/spyder.svg + make_desktop_entry spyder Spyder spyder "Development;IDE" +} + +pkg_postinst() { + xdg_desktop_database_update + + elog "To get additional features, optional runtime dependencies may be installed:" + optfeature "2D/3D plotting in the Python and IPython consoles" dev-python/matplotlib + optfeature "View and edit DataFrames and Series in the Variable Explorer" dev-python/pandas + optfeature "View and edit two or three dimensional arrays in the Variable Explorer" dev-python/numpy + optfeature "Symbolic mathematics in the IPython console" dev-python/sympy + optfeature "Import Matlab workspace files in the Variable Explorer" sci-libs/scipy + optfeature "Run Cython files in the IPython console" dev-python/cython +} + +pkg_postrm() { + xdg_desktop_database_update +} |