public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andrey Grozin" <grozin@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/spyder/, dev-python/spyder/files/
Date: Sun, 22 Apr 2018 20:48:47 +0000 (UTC)	[thread overview]
Message-ID: <1524430102.4a840b79c169fca88e28f2aa4ddc97c5b7ac3eea.grozin@gentoo> (raw)

commit:     4a840b79c169fca88e28f2aa4ddc97c5b7ac3eea
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 22 20:47:42 2018 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Sun Apr 22 20:48:22 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4a840b79

dev-python/spyder: bump to 3.2.8 and support QtWebengine

Suggested-by: holgersson <AT> posteo.de
Package-Manager: Portage-2.3.19, Repoman-2.3.6

 dev-python/spyder/Manifest                       |   1 +
 dev-python/spyder/files/spyder-3.2.8-build.patch | 129 +++++++++++++++++++++++
 dev-python/spyder/metadata.xml                   |   3 +
 dev-python/spyder/spyder-3.2.8.ebuild            |  79 ++++++++++++++
 4 files changed, 212 insertions(+)

diff --git a/dev-python/spyder/Manifest b/dev-python/spyder/Manifest
index 518bd6f7966..a489f0b9d1d 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 00000000000..b21c77d660b
--- /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 00c53afbbf3..d43cf6ebe12 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 00000000000..3c588279fe7
--- /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
+}


             reply	other threads:[~2018-04-22 20:48 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-22 20:48 Andrey Grozin [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-11-07 11:29 [gentoo-commits] repo/gentoo:master commit in: dev-python/spyder/, dev-python/spyder/files/ Andrew Ammerlaan
2022-11-02 13:29 Andrew Ammerlaan
2021-04-09 12:21 Joonas Niilola
2020-09-15  8:09 Joonas Niilola
2020-04-13  8:31 Joonas Niilola
2020-03-30 11:27 Joonas Niilola
2020-03-28 14:21 Joonas Niilola
2020-03-27 16:25 Joonas Niilola
2020-02-26 22:02 Andreas Sturmlechner
2020-02-19  7:34 Joonas Niilola
2018-08-14 13:50 Andrey Grozin
2018-08-14 13:48 Andrey Grozin
2018-08-08 13:41 Andrey Grozin
2017-11-14 13:17 Andrey Grozin
2017-08-15 20:10 Andreas Sturmlechner
2017-05-02  8:47 Michał Górny
2016-06-21 14:37 Andrey Grozin
2016-02-23  9:28 Patrice Clement

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1524430102.4a840b79c169fca88e28f2aa4ddc97c5b7ac3eea.grozin@gentoo \
    --to=grozin@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox