Gentoo Archives: gentoo-commits

From: Andrey Grozin <grozin@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/spyder/, dev-python/spyder/files/
Date: Tue, 14 Nov 2017 13:17:46
Message-Id: 1510665400.bf955d8ef7196d6b6391b5889d041f47ca4178e9.grozin@gentoo
1 commit: bf955d8ef7196d6b6391b5889d041f47ca4178e9
2 Author: Andrey Grozin <grozin <AT> gentoo <DOT> org>
3 AuthorDate: Tue Nov 14 13:16:40 2017 +0000
4 Commit: Andrey Grozin <grozin <AT> gentoo <DOT> org>
5 CommitDate: Tue Nov 14 13:16:40 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bf955d8e
7
8 dev-python/spyder: bump to 3.2.4
9
10 Closes: https://bugs.gentoo.org/637288
11 Package-Manager: Portage-2.3.13, Repoman-2.3.4
12
13 dev-python/spyder/Manifest | 1 +
14 dev-python/spyder/files/spyder-3.2.4-build.patch | 130 +++++++++++++++++++++++
15 dev-python/spyder/spyder-3.2.4.ebuild | 60 +++++++++++
16 3 files changed, 191 insertions(+)
17
18 diff --git a/dev-python/spyder/Manifest b/dev-python/spyder/Manifest
19 index 2e3ff298db8..0afcb7c7a4b 100644
20 --- a/dev-python/spyder/Manifest
21 +++ b/dev-python/spyder/Manifest
22 @@ -1,2 +1,3 @@
23 DIST spyder-3.0.2.tar.gz 3207709 SHA256 c308cae5d963a7332548db2dd91ebf105263eb493ce208221a59ad77592399c1 SHA512 7f3723bd98876aa4769877327a93aa02510689708012afc72148c67acd91ab134501ae57471d9cf0e17c9e3892a541b7730a2392ace3c6525443058d0ed01612 WHIRLPOOL 5f1f278fa3c6a98b8d7050bb32e9186cd7053e21d9050bf92b29088154ea3494995bf9953e04d63db4c71ccc37d3a2cdd7e38222b1f82decc2b763144cdf3642
24 DIST spyder-3.2.3.tar.gz 3342954 SHA256 714c9b9941c1883c810bf87f34d6d46fc4458053e3d138d9e12435ea236b0dd2 SHA512 873a1a0c319fc6580dfbe7370dc5ca132d973b5baf75ba0b6cda228adb7fe7baf4fbdebf4d1984ed6f204c7d27b1bfc2c449199ab02aeb8caf9ebded738f3491 WHIRLPOOL 49729a844157bdd75ced53c1cdfea87cc5366590821f732334dab81bebf094f0d7f09095e88fe584b0d65434f61c71d2bcdb8da29f6af91781bcab1fb2e951e4
25 +DIST spyder-3.2.4.tar.gz 3345797 SHA256 638310e720248255395df0fdfe010d51f29509858742c8e9cd5e60f7c2791009 SHA512 46e89c68545695d1e64aaafdd2ed724b152a41088f1bfa645b8c66d8ae6bcc2d86e9830cd3f16edfb8027aad5786dfb67f2a8371839dd515df8ebe34446716e6 WHIRLPOOL 1148413058abf2f5d876eb01d8e6b07d79d038cc6c9ff9471c86b38a6b4f7f3d36688a0516ffe8d020463152a9108e7be507cf950cef500263ed7c98f1426554
26
27 diff --git a/dev-python/spyder/files/spyder-3.2.4-build.patch b/dev-python/spyder/files/spyder-3.2.4-build.patch
28 new file mode 100644
29 index 00000000000..2a1fee52131
30 --- /dev/null
31 +++ b/dev-python/spyder/files/spyder-3.2.4-build.patch
32 @@ -0,0 +1,130 @@
33 +--- spyder-3.2.3.orig/setup.py 2017-08-29 00:42:56.000000000 +0200
34 ++++ spyder-3.2.3/setup.py 2017-09-16 20:57:08.610147911 +0200
35 +@@ -77,13 +77,7 @@
36 + def get_data_files():
37 + """Return data_files in a platform dependent manner"""
38 + if sys.platform.startswith('linux'):
39 +- if PY3:
40 +- data_files = [('share/applications', ['scripts/spyder3.desktop']),
41 +- ('share/pixmaps', ['img_src/spyder3.png']),
42 +- ('share/metainfo', ['scripts/spyder3.appdata.xml'])]
43 +- else:
44 +- data_files = [('share/applications', ['scripts/spyder.desktop']),
45 +- ('share/pixmaps', ['img_src/spyder.png'])]
46 ++ data_files = [('share/pixmaps', ['img_src/spyder.png'])]
47 + elif os.name == 'nt':
48 + data_files = [('scripts', ['img_src/spyder.ico',
49 + 'img_src/spyder_reset.ico'])]
50 +@@ -106,102 +100,6 @@
51 +
52 +
53 + #==============================================================================
54 +-# Make Linux detect Spyder desktop file
55 +-#==============================================================================
56 +-class MyInstallData(install_data):
57 +- def run(self):
58 +- install_data.run(self)
59 +- if sys.platform.startswith('linux'):
60 +- try:
61 +- subprocess.call(['update-desktop-database'])
62 +- except:
63 +- print("ERROR: unable to update desktop database",
64 +- file=sys.stderr)
65 +-CMDCLASS = {'install_data': MyInstallData}
66 +-
67 +-
68 +-#==============================================================================
69 +-# Sphinx build (documentation)
70 +-#==============================================================================
71 +-def get_html_help_exe():
72 +- """Return HTML Help Workshop executable path (Windows only)"""
73 +- if os.name == 'nt':
74 +- hhc_base = r'C:\Program Files%s\HTML Help Workshop\hhc.exe'
75 +- for hhc_exe in (hhc_base % '', hhc_base % ' (x86)'):
76 +- if osp.isfile(hhc_exe):
77 +- return hhc_exe
78 +- else:
79 +- return
80 +-
81 +-try:
82 +- from sphinx import setup_command
83 +-
84 +- class MyBuild(build):
85 +- user_options = [('no-doc', None, "Don't build Spyder documentation")] \
86 +- + build.user_options
87 +- def __init__(self, *args, **kwargs):
88 +- build.__init__(self, *args, **kwargs)
89 +- self.no_doc = False
90 +- def with_doc(self):
91 +- setup_dir = os.path.dirname(os.path.abspath(__file__))
92 +- is_doc_dir = os.path.isdir(os.path.join(setup_dir, 'doc'))
93 +- install_obj = self.distribution.get_command_obj('install')
94 +- return (is_doc_dir and not self.no_doc and not install_obj.no_doc)
95 +- sub_commands = build.sub_commands + [('build_doc', with_doc)]
96 +- CMDCLASS['build'] = MyBuild
97 +-
98 +-
99 +- class MyInstall(install):
100 +- user_options = [('no-doc', None, "Don't build Spyder documentation")] \
101 +- + install.user_options
102 +- def __init__(self, *args, **kwargs):
103 +- install.__init__(self, *args, **kwargs)
104 +- self.no_doc = False
105 +- CMDCLASS['install'] = MyInstall
106 +-
107 +-
108 +- class MyBuildDoc(setup_command.BuildDoc):
109 +- def run(self):
110 +- build = self.get_finalized_command('build')
111 +- sys.path.insert(0, os.path.abspath(build.build_lib))
112 +- dirname = self.distribution.get_command_obj('build').build_purelib
113 +- self.builder_target_dir = osp.join(dirname, 'spyder', 'doc')
114 +-
115 +- if not osp.exists(self.builder_target_dir):
116 +- os.mkdir(self.builder_target_dir)
117 +-
118 +- hhc_exe = get_html_help_exe()
119 +- self.builder = "html" if hhc_exe is None else "htmlhelp"
120 +-
121 +- try:
122 +- setup_command.BuildDoc.run(self)
123 +- except UnicodeDecodeError:
124 +- print("ERROR: unable to build documentation because Sphinx "\
125 +- "do not handle source path with non-ASCII characters. "\
126 +- "Please try to move the source package to another "\
127 +- "location (path with *only* ASCII characters).",
128 +- file=sys.stderr)
129 +- sys.path.pop(0)
130 +-
131 +- # Building chm doc, if HTML Help Workshop is installed
132 +- if hhc_exe is not None:
133 +- fname = osp.join(self.builder_target_dir, 'Spyderdoc.chm')
134 +- subprocess.call('"%s" %s' % (hhc_exe, fname), shell=True)
135 +- if osp.isfile(fname):
136 +- dest = osp.join(dirname, 'spyder')
137 +- try:
138 +- shutil.move(fname, dest)
139 +- except shutil.Error:
140 +- print("Unable to replace %s" % dest)
141 +- shutil.rmtree(self.builder_target_dir)
142 +-
143 +- CMDCLASS['build_doc'] = MyBuildDoc
144 +-except ImportError:
145 +- print('WARNING: unable to build documentation because Sphinx '\
146 +- 'is not installed', file=sys.stderr)
147 +-
148 +-
149 +-#==============================================================================
150 + # Main scripts
151 + #==============================================================================
152 + # NOTE: the '[...]_win_post_install.py' script is installed even on non-Windows
153 +@@ -261,8 +159,7 @@
154 + 'Programming Language :: Python :: 3',
155 + 'Development Status :: 5 - Production/Stable',
156 + 'Topic :: Scientific/Engineering',
157 +- 'Topic :: Software Development :: Widget Sets'],
158 +- cmdclass=CMDCLASS)
159 ++ 'Topic :: Software Development :: Widget Sets'])
160 +
161 +
162 + #==============================================================================
163
164 diff --git a/dev-python/spyder/spyder-3.2.4.ebuild b/dev-python/spyder/spyder-3.2.4.ebuild
165 new file mode 100644
166 index 00000000000..485bde91fcf
167 --- /dev/null
168 +++ b/dev-python/spyder/spyder-3.2.4.ebuild
169 @@ -0,0 +1,60 @@
170 +# Copyright 1999-2017 Gentoo Foundation
171 +# Distributed under the terms of the GNU General Public License v2
172 +
173 +EAPI=6
174 +
175 +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
176 +
177 +inherit eutils distutils-r1
178 +
179 +DESCRIPTION="Python IDE with matlab-like features"
180 +HOMEPAGE="https://github.com/spyder-ide/spyder/ https://pypi.python.org/pypi/spyder/ http://pythonhosted.org/spyder/"
181 +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
182 +
183 +LICENSE="MIT"
184 +SLOT="0"
185 +KEYWORDS="~amd64 ~x86"
186 +IUSE="doc hdf5"
187 +
188 +RDEPEND="
189 + dev-python/PyQt5[${PYTHON_USEDEP},svg,webkit]
190 + dev-python/QtPy[${PYTHON_USEDEP},svg,webkit]
191 + dev-python/qtconsole[${PYTHON_USEDEP}]
192 + >=dev-python/rope-0.10.7[${PYTHON_USEDEP}]
193 + dev-python/jedi[${PYTHON_USEDEP}]
194 + dev-python/pyflakes[${PYTHON_USEDEP}]
195 + dev-python/sphinx[${PYTHON_USEDEP}]
196 + dev-python/pygments[${PYTHON_USEDEP}]
197 + dev-python/pylint[${PYTHON_USEDEP}]
198 + dev-python/pep8[${PYTHON_USEDEP}]
199 + dev-python/psutil[${PYTHON_USEDEP}]
200 + dev-python/nbconvert[${PYTHON_USEDEP}]
201 + >=dev-python/qtawesome-0.4.1[${PYTHON_USEDEP}]
202 + dev-python/pickleshare[${PYTHON_USEDEP}]
203 + dev-python/pyzmq[${PYTHON_USEDEP}]
204 + dev-python/chardet[${PYTHON_USEDEP}]
205 + >=dev-python/pycodestyle-2.3.0
206 + hdf5? ( dev-python/h5py[${PYTHON_USEDEP}] )"
207 +DEPEND="${RDEPEND}
208 + app-arch/unzip"
209 +
210 +# Courtesy of Arfrever
211 +PATCHES=( "${FILESDIR}"/${P}-build.patch )
212 +
213 +python_compile_all() {
214 + if use doc; then
215 + sphinx-build doc doc/html || die "Generation of documentation failed"
216 + fi
217 +}
218 +
219 +python_install() {
220 + distutils-r1_python_install
221 + python_newscript scripts/${PN} ${PN}${EPYTHON:6:1}
222 +}
223 +
224 +python_install_all() {
225 + use doc && local HTML_DOCS=( doc/html/. )
226 + distutils-r1_python_install_all
227 + doicon spyder/images/spyder.svg
228 + make_desktop_entry spyder Spyder spyder "Development;IDE"
229 +}