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
This commit is contained in:
Andrey Grozin
2018-04-23 03:47:42 +07:00
parent 54b8cf4a23
commit 4a840b79c1
4 changed files with 212 additions and 0 deletions

View File

@@ -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

View File

@@ -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'])
#==============================================================================

View File

@@ -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>

View File

@@ -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
}