[145259] trunk/dports/python/py-spyder-devel
Revision: 145259 https://trac.macports.org/changeset/145259 Author: eborisch@macports.org Date: 2016-01-29 15:52:42 -0800 (Fri, 29 Jan 2016) Log Message: ----------- py-spyder-devel: Move to github; update to 3.0.0b2; add +qt5 variant. Modified Paths: -------------- trunk/dports/python/py-spyder-devel/Portfile trunk/dports/python/py-spyder-devel/files/patch-widgets-pylintgui.py.diff trunk/dports/python/py-spyder-devel/files/spyderlib_baseconfig.py.diff trunk/dports/python/py-spyder-devel/files/spyderlib_start_app.py.diff trunk/dports/python/py-spyder-devel/files/spyderlib_utils_programs.py.diff Modified: trunk/dports/python/py-spyder-devel/Portfile =================================================================== --- trunk/dports/python/py-spyder-devel/Portfile 2016-01-29 23:35:54 UTC (rev 145258) +++ trunk/dports/python/py-spyder-devel/Portfile 2016-01-29 23:52:42 UTC (rev 145259) @@ -2,8 +2,10 @@ # $Id$ PortSystem 1.0 +PortGroup github 1.0 + +github.setup spyder-ide spyder 3.0.0b2 v name py-spyder-devel -version 2.3.4 revision 0 # Preference on mailing list is to use small numbers for epoch. # This is already a date code, so sticking with dates. @@ -13,7 +15,6 @@ python.versions 27 34 35 -PortGroup qt4 1.0 categories-append devel platforms darwin maintainers eborisch openmaintainer @@ -32,9 +33,6 @@ development environment with advanced editing, \ interactive testing, debugging and introspection features. -master_sites https://bitbucket.org/spyder-ide/spyderlib/downloads -distname spyder-${version} -use_zip yes supported_archs noarch #pyNN-scipy doesn't build universal @@ -42,11 +40,19 @@ if {${name} ne ${subport}} { checksums \ - rmd160 dd274f122189fe5f2e4a7c7c34799bc13e6a88c6 \ - sha256 da4b13d6faed3e8810c0418f8274b26fde4f265ea4f93bee154af128a755c184 + rmd160 e35eed3debe141c610346a5fb2fd0a2e49c2361d \ + sha256 60353e331547f2a1c4bec31df487525e3cac04a4f942f86dc650a32a6d000afa conflicts py${python.version}-spyder - + + # Will *work* with either/both under the hood, but for dependencies, + # provide variants to determine what we label depends_lib. + + variant qt5 description {Default to Qt5 GUI.} { + depends_lib-delete port:py${python.version}-pyqt4 + depends_lib-append port:py${python.version}-pyqt5 + } + # Set the pylint executable name set LINT_BIN_NAME pylint-${python.branch} set WINPDB_BIN_NAME winpdb-${python.branch} @@ -61,7 +67,7 @@ reinplace "s|@@WINPDB_BIN_NAME@@|${WINPDB_BIN_NAME}|g" \ ${worksrcpath}/spyderlib/plugins/editor.py reinplace "s|@@LINT_BIN_NAME@@|${LINT_BIN_NAME}|g" \ - ${worksrcpath}/spyderplugins/widgets/pylintgui.py + ${worksrcpath}/spyplugins/ui/pylint/widgets/pylintgui.py reinplace "s|\"assistant\"|\"Assistant\"|g" \ ${worksrcpath}/spyderlib/spyder.py reinplace "s|\"linguist\"|\"Linguist\"|g" \ @@ -70,21 +76,31 @@ ${worksrcpath}/spyderlib/spyder.py reinplace "s|@@PREFIX@@|${prefix}|g" \ ${worksrcpath}/spyderlib/spyder.py - reinplace "s|@@APPS_DIR@@|${applications_dir}|g" \ - ${worksrcpath}/spyderlib/utils/programs.py reinplace "s|Ctrl\+I|Cmd+I|" \ ${worksrcpath}/spyderlib/plugins/inspector.py - # Windows newlines in the file cause compile() (in 2.6) to choke - reinplace "s|\r||g" \ - ${worksrcpath}/doc/conf.py + reinplace -E "s|IPython\.qt(\.console)?|qtconsole|g" \ + ${worksrcpath}/spyderlib/config/ipython.py \ + ${worksrcpath}/spyderlib/plugins/ipythonconsole.py \ + ${worksrcpath}/spyderlib/widgets/ipython.py + if {[variant_isset qt5]} { + reinplace "s|@@APPS_DIR@@|${applications_dir}/Qt5|g" \ + ${worksrcpath}/spyderlib/utils/programs.py + reinplace -E "/setdefault/s/pyqt/pyqt5/" spyderlib/qt/__init__.py + } else { + reinplace "s|@@APPS_DIR@@|${applications_dir}/Qt4|g" \ + ${worksrcpath}/spyderlib/utils/programs.py + } } - # Can use either py*-pyqt4 or py*-pyqt4-devel. # Bare minimum depends_lib-append \ - path:share/py${python.version}-sip/PyQt4:py${python.version}-pyqt4 \ port:py${python.version}-sphinx \ - port:py${python.version}-zmq + port:py${python.version}-zmq \ + port:py${python.version}-qtpy \ + port:py${python.version}-qtawesome \ + port:py${python.version}-pickleshare \ + port:py${python.version}-path \ + port:py${python.version}-pyqt4 depends_build-append \ port:GraphicsMagick @@ -103,17 +119,16 @@ patchfiles-append no_AA.diff } - variant optimized description {Create .pyo files. Fails on BuildBot.} { - } - # These add very little to the install time if {![ variant_isset tiny ]} { depends_lib-append \ - port:py${python.version}-htmldocs \ port:py${python.version}-pylint \ path:${python.pkgd}/pep8:py${python.version}-pep8-157 \ port:py${python.version}-pyflakes \ - port:py${python.version}-rope + port:py${python.version}-rope \ + port:py${python.version}-psutil + # Until spyder supports jedi >= 0.9.0, this doesn't do anything + # port:py${python.version}-jedi } # These add substantially to the install time @@ -121,11 +136,21 @@ ![ variant_isset tiny ] } { depends_lib-append \ path:${python.pkgd}/h5py/__init__.py:py${python.version}-h5py \ - port:py${python.version}-ipython \ + port:py${python.version}-qtconsole \ port:py${python.version}-matplotlib \ - port:py${python.version}-scipy + port:py${python.version}-scipy \ + port:py${python.version}-nbconvert \ + port:py${python.version}-pandas \ + port:py${python.version}-sympy } + variant docs description {Include python and Qt offline documentation.} { + if {[variant_isset qt5]} { + depends_lib-append port:qt5-docs + } + depends_lib-append port:py${python.version}-htmldocs + } + variant pil description { Support image objects in editor through PIL or Pillow (many dependencies.) } { @@ -147,18 +172,13 @@ system -W ${destroot}${prefix} \ "find . -name *.png -print0 | xargs -0 gm mogrify -strip" - if {[variant_isset optimized]} { - set OPTCMD [concat "HOME=${destroot}/tmp/spyder " \ - "PYTHONPATH=${destroot}${python.pkgd} " \ - "./spyder --optimize"] - - file mkdir ${destroot}/tmp/spyder - system "cd ${destroot}${python.prefix}/bin && ${OPTCMD}" - delete ${destroot}/tmp/spyder - } delete \ ${destroot}${prefix}/bin/spyder_win_post_install.py-${python.branch} delete ${destroot}${python.prefix}/bin/spyder_win_post_install.py + + file mkdir ${destroot}${prefix}/share/doc/${subport} + copy ${worksrcpath}/LICENSE \ + ${destroot}${prefix}/share/doc/${subport} } if {${python.version} == ${python.default_version}} { @@ -172,8 +192,9 @@ ############################################################## ### Spyder is launched from the terminal with ${EXENAME} ### ##############################################################" + livecheck.type none +} else { + livecheck.type regex + livecheck.url https://bitbucket.org/spyder-ide/spyderlib/downloads + livecheck.regex spyder-(\[0-9\]+(\.\[0-9betarc]+)*)\.zip } - -livecheck.type regex -livecheck.url https://bitbucket.org/spyder-ide/spyderlib/downloads -livecheck.regex spyder-(\[0-9\]+(\.\[0-9betarc]+)*)\.zip Modified: trunk/dports/python/py-spyder-devel/files/patch-widgets-pylintgui.py.diff =================================================================== --- trunk/dports/python/py-spyder-devel/files/patch-widgets-pylintgui.py.diff 2016-01-29 23:35:54 UTC (rev 145258) +++ trunk/dports/python/py-spyder-devel/files/patch-widgets-pylintgui.py.diff 2016-01-29 23:52:42 UTC (rev 145259) @@ -1,11 +1,19 @@ ---- spyderplugins/widgets/pylintgui.py.orig 2011-09-08 08:45:35.000000000 -0500 -+++ spyderplugins/widgets/pylintgui.py 2011-09-08 08:46:52.000000000 -0500 -@@ -40,7 +40,7 @@ - is_module_or_package) +--- spyplugins/ui/pylint/widgets/pylintgui.py.orig 2015-06-23 09:49:01.000000000 -0500 ++++ spyplugins/ui/pylint/widgets/pylintgui.py 2015-06-23 09:49:31.000000000 -0500 +@@ -40,14 +40,8 @@ _ = get_translation("p_pylint", dirname="spyderplugins") --PYLINT_PATH = programs.find_program('pylint') + +-PYLINT = 'pylint' +-if PY3: +- if programs.find_program('pylint3'): +- PYLINT = 'pylint3' +- elif programs.find_program('python3-pylint'): +- PYLINT = 'python3-pylint' +- +-PYLINT_PATH = programs.find_program(PYLINT) ++PYLINT = '@@LINT_BIN_NAME@@' +PYLINT_PATH = programs.find_program('@@LINT_BIN_NAME@@') - #TODO: display results on 3 columns instead of 1: msg_id, lineno, message + def get_pylint_version(): Modified: trunk/dports/python/py-spyder-devel/files/spyderlib_baseconfig.py.diff =================================================================== --- trunk/dports/python/py-spyder-devel/files/spyderlib_baseconfig.py.diff 2016-01-29 23:35:54 UTC (rev 145258) +++ trunk/dports/python/py-spyder-devel/files/spyderlib_baseconfig.py.diff 2016-01-29 23:52:42 UTC (rev 145259) @@ -1,10 +1,18 @@ ---- spyderlib/baseconfig.py.orig 2013-10-21 08:43:46.000000000 -0500 -+++ spyderlib/baseconfig.py 2013-10-21 08:44:24.000000000 -0500 -@@ -60,7 +60,9 @@ - #============================================================================== - # Spyder settings dir +--- spyderlib/config/base.py.orig 2015-06-23 10:06:48.000000000 -0500 ++++ spyderlib/config/base.py 2015-06-23 10:08:03.000000000 -0500 +@@ -21,6 +21,7 @@ + import sys + + # Local imports ++from spyderlib import __version__ + from spyderlib.utils import encoding + from spyderlib.py3compat import (is_unicode, TEXT_TYPES, INT_TYPES, PY3, + to_text_string, is_text_string) +@@ -72,7 +73,9 @@ + # updates in version (required when we change APIs by Linux + # packagers) if TEST is None: -- SUBFOLDER = '.spyder%s' % __version__.split('.')[0] +- SUBFOLDER = '.spyder' + SUBFOLDER = '.spyder%s-%s%s' % (__version__.split('.')[0], + sys.version_info[0], + sys.version_info[1]) Modified: trunk/dports/python/py-spyder-devel/files/spyderlib_start_app.py.diff =================================================================== --- trunk/dports/python/py-spyder-devel/files/spyderlib_start_app.py.diff 2016-01-29 23:35:54 UTC (rev 145258) +++ trunk/dports/python/py-spyder-devel/files/spyderlib_start_app.py.diff 2016-01-29 23:52:42 UTC (rev 145259) @@ -1,18 +1,12 @@ ---- spyderlib/start_app.py.orig 2013-11-04 09:51:03.000000000 -0600 -+++ spyderlib/start_app.py 2013-11-04 09:55:55.000000000 -0600 -@@ -8,6 +8,15 @@ +--- spyderlib/start_app.py-orig 2013-10-14 12:43:43.000000000 -0500 ++++ spyderlib/start_app.py 2013-10-14 12:45:50.000000000 -0500 +@@ -7,6 +7,9 @@ + import atexit import random - import sys -+# Make sure LANG isn't set to 'UTF-8' (without en_US. prefix) +if os.environ.get('LANG') == 'UTF-8': -+ os.environ['LANG'] = 'en_US.UTF-8' ++ os.environ['LANG'] = 'en_US.UTF-8' + -+# Modified to support MacPorts' buildbot environment -+username = os.environ.get('USER') -+if not username: -+ os.environ['USER'] = 'NO_USER_ENV' -+ # Local imports from spyderlib.cli_options import get_options from spyderlib.baseconfig import get_conf_path Modified: trunk/dports/python/py-spyder-devel/files/spyderlib_utils_programs.py.diff =================================================================== --- trunk/dports/python/py-spyder-devel/files/spyderlib_utils_programs.py.diff 2016-01-29 23:35:54 UTC (rev 145258) +++ trunk/dports/python/py-spyder-devel/files/spyderlib_utils_programs.py.diff 2016-01-29 23:52:42 UTC (rev 145259) @@ -1,13 +1,14 @@ --- spyderlib/utils/programs.py.orig 2011-10-12 11:06:09.000000000 -0500 +++ spyderlib/utils/programs.py 2011-10-12 11:07:28.000000000 -0500 -@@ -20,6 +20,10 @@ +@@ -20,6 +20,11 @@ abspath = osp.join(path, basename) if osp.isfile(abspath): return abspath -+ else: -+ abspath = "@@APPS_DIR@@/Qt4/" + basename + ".app/Contents/MacOS/" + basename -+ if osp.isfile(abspath): -+ return abspath ++ else: ++ abspath = "@@APPS_DIR@@/" + basename + ".app/Contents/MacOS/" + basename ++ if osp.isfile(abspath): ++ return abspath ++ return None def find_program(basename):
participants (1)
-
eborisch@macports.org