Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 507410 - =dev-python/ipython-2.0 version bump
Summary: =dev-python/ipython-2.0 version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal with 2 votes (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords:
: 507902 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-04-11 13:29 UTC by Stephen Bosch
Modified: 2014-08-07 14:57 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Updated Ebuild for ipython-2.1.0 (ipython-2.1.0.ebuild,5.39 KB, text/plain)
2014-05-22 00:12 UTC, Spencer Ogden
Details
ebuild wip (ipython-2.1.0.ebuild,3.85 KB, text/plain)
2014-07-30 06:04 UTC, Ian Delaney (RETIRED)
Details
tail of the build log displaying test failiures (ipython-2.1.0:20140730-tail.log,48.67 KB, text/x-log)
2014-07-30 06:06 UTC, Ian Delaney (RETIRED)
Details
diff -u of ebuild in portage and upgraded ebuild (ipython.diff,5.43 KB, patch)
2014-08-05 15:23 UTC, Ian Delaney (RETIRED)
Details | Diff
3 test patches (ipython-tests.patch,31.68 KB, patch)
2014-08-05 15:31 UTC, Ian Delaney (RETIRED)
Details | Diff
diff -u of ebuild in portage and upgraded ebuild (ipython.diff,5.43 KB, patch)
2014-08-07 05:18 UTC, Ian Delaney (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stephen Bosch 2014-04-11 13:29:17 UTC
iPython 2.0, a major version update, has been released and declared stable by upstream.

Reproducible: Always
Comment 1 Ian Delaney (RETIRED) gentoo-dev 2014-04-18 07:52:04 UTC
Don't expect this to be swift. I looked at the -2.0 and it wouldn't even build.  Raised more questions than it answered. It's a complex package and most everything has been changed
Comment 2 Ian Delaney (RETIRED) gentoo-dev 2014-04-19 09:02:07 UTC
*** Bug 507902 has been marked as a duplicate of this bug. ***
Comment 3 Mike Gilbert gentoo-dev 2014-05-03 21:02:59 UTC
It seems to build for me with some minor modifications; it just doesn't support python 2.6 or 3.2.

I will give it some testing.
Comment 4 cel.gentoo 2014-05-14 13:46:34 UTC
Any update on this bump request?
Comment 5 Mike Gilbert gentoo-dev 2014-05-15 01:41:36 UTC
@python: Please feel free to pick this up; I have lost interest for the moment.
Comment 6 Spencer Ogden 2014-05-22 00:11:03 UTC
2.1 is also now released. I have successful installed on amd64 with some tweaks to the 1.2.1 ebuild. The changes as I understand them which impact the ebuild and the changes I made to build correctly:
1) 1.0.0 setuptools patch no longer needed - removed patch section
2) Support for fewer versions of python, 2.7 and 3.3 only - changed supported versions
3) irunner.py has been removed - removed filename reference from sed command
4) emacs mode ipython.el is no longer part of the distribution - removed emacs use flag and all reference to compiling the el file and post installation rebuild of emacs scripts.

I've attached the updated ebuild. Worked for me.
Comment 7 Spencer Ogden 2014-05-22 00:12:35 UTC
Created attachment 377398 [details]
Updated Ebuild for ipython-2.1.0

This successfully installed on an amd64 machine which previously had ipython 1.3 installed. There may be more subtle changes that I missed.
Comment 8 Marc Joliet 2014-05-22 10:18:24 UTC
(In reply to Spencer Ogden from comment #7)
> Created attachment 377398 [details]
> Updated Ebuild for ipython-2.1.0
> 
> This successfully installed on an amd64 machine which previously had ipython
> 1.3 installed. There may be more subtle changes that I missed.

This ebuild works for me, too. So far I have not seen anything out of the ordinary.
Comment 9 cel.gentoo 2014-05-22 11:50:01 UTC
If we stabilize a newer version of oct2py, we could enable octave support for the python3 implementations as well (see):

octave? ( dev-python/oct2py[${PY2_USEDEP}] )

The currently stable version 0.4.0-r1 supports only 2.7, the newer versions 1.0.0 and 1.3.0 support python3 as well.

Will file a stabilization bug soon.
Comment 10 cel.gentoo 2014-05-22 11:55:46 UTC
Unfortunately I don't understand the ebuild in its entirety, but it looks to me as if at least some of the former python2 only packages now support python3 and it might be a good idea to review all dependencies and fix that.
Comment 11 cel.gentoo 2014-06-18 17:09:45 UTC
any update on this?
Comment 12 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-06-18 17:25:09 UTC
Considering python3.2 is not supported, I'd say we delay this until 3.2 is masked for removal. This should happen soon enough, considering upstream attitude towards it.
Comment 13 Ian Delaney (RETIRED) gentoo-dev 2014-07-29 14:56:41 UTC
(In reply to Spencer Ogden from comment #7)
> Created attachment 377398 [details]
> Updated Ebuild for ipython-2.1.0
> 
> This successfully installed on an amd64 machine which previously had ipython
> 1.3 installed. There may be more subtle changes that I missed.

It's good for a base to start.  It emerges however there are elements missing.  The doc IUSE is listed but there is no doc build and the test phase is a no go.  I suspect this was never even attempted, but oh well.  Shall work it more tomorrow
Comment 14 Ian Delaney (RETIRED) gentoo-dev 2014-07-30 06:04:11 UTC
Created attachment 381868 [details]
ebuild wip

Has a doc build which now works. Has a totally new testsuite which works, except some of the tests don't.

The adding of py3.4 to oct2py gives and added headache.  Keywords ~arm and ~ia64 need be dropped from ipython to accommadate this. Alternatively adding of py3.4 could be sacrificed, a rather 'unforward' step.
Comment 15 Ian Delaney (RETIRED) gentoo-dev 2014-07-30 06:06:37 UTC
Created attachment 381870 [details]
tail of the build log displaying test failiures

$ PYTHON_TARGETS=python2_7 ebuild ipython-2.1.0.ebuild clean test

yields

Ran 1271 tests in 83.189s

FAILED (SKIP=58, errors=32, failures=1)

never a good sign.
Then there's the py3.2 issue to add to the mix.
Comment 16 cel.gentoo 2014-07-30 15:15:47 UTC
python_test() {
        distutils_install_for_testing
        local fail
        run_tests() {
                # Initialize ~/.ipython directory.
                "${EPYTHON}" -m IPython </dev/null >/dev/null || fail=1
                # Run tests (-v for more verbosity).
                PYTHONPATH="${PYTHONPATH}:$(pwd)"
                cd ${TEST_DIR}
                "${EPYTHON}" -c "import IPython; IPython.test()" || fail=1
        }

        VIRTUALX_COMMAND=run_tests virtualmake
}

@Ian Delaney: This might fix the test-suite.
Comment 17 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-07-30 15:18:43 UTC
(In reply to cel.gentoo from comment #16)
> python_test() {
>         distutils_install_for_testing
>         local fail

Unused.

>         run_tests() {
>                 # Initialize ~/.ipython directory.
>                 "${EPYTHON}" -m IPython </dev/null >/dev/null || fail=1

Why? Doesn't the 'import IPython' below do the same thing?

>                 # Run tests (-v for more verbosity).
>                 PYTHONPATH="${PYTHONPATH}:$(pwd)"

${PWD}? Why?

>                 cd ${TEST_DIR}

|| die

>                 "${EPYTHON}" -c "import IPython; IPython.test()" || fail=1
>         }
> 
>         VIRTUALX_COMMAND=run_tests virtualmake
> }
> 
> @Ian Delaney: This might fix the test-suite.
Comment 18 cel.gentoo 2014-07-30 15:39:30 UTC
(In reply to Michał Górny from comment #17)
> (In reply to cel.gentoo from comment #16)
> > python_test() {
> >         distutils_install_for_testing
> >         local fail
> 
> Unused.
Yes. I copied the skeleton verbatim from the old ipython ebuild. 
there should be something like:[[ ${fail} ]] && die "Tests fail with ${EPYTHON}"
> 
> >         run_tests() {
> >                 # Initialize ~/.ipython directory.
> >                 "${EPYTHON}" -m IPython </dev/null >/dev/null || fail=1
> 
> Why? Doesn't the 'import IPython' below do the same thing?
Probably, I don't know. But making this implicit is a really bad idea.
> 
> >                 # Run tests (-v for more verbosity).
> >                 PYTHONPATH="${PYTHONPATH}:$(pwd)"
> 
> ${PWD}? Why?
It works :) - No idea what's the correct way to do this. Let me know!
> 
> >                 cd ${TEST_DIR}
> 
> || die
Good catch.
> 
> >                 "${EPYTHON}" -c "import IPython; IPython.test()" || fail=1
> >         }
> > 
> >         VIRTUALX_COMMAND=run_tests virtualmake
> > }
> > 
> > @Ian Delaney: This might fix the test-suite.
Comment 19 Ian Delaney (RETIRED) gentoo-dev 2014-07-30 23:48:52 UTC
(In reply to Michał Górny from comment #17)
> (In reply to cel.gentoo from comment #16)
> > python_test() {
> >         distutils_install_for_testing
> >         local fail
> 
> Unused.
> 

Actually it is. (|| fail=1)

> >         run_tests() {
> >                 # Initialize ~/.ipython directory.
> >                 "${EPYTHON}" -m IPython </dev/null >/dev/null || fail=1
> 
> Why? Doesn't the 'import IPython' below do the same thing?
> 

This is a 'good' point. Remember bicatali wrote this long ago.  You can always ask him, however, mb it was redundant then.  I for one am happy to see it go if un-needed. It's not exactly pretty.

> >                 # Run tests (-v for more verbosity).
> >                 PYTHONPATH="${PYTHONPATH}:$(pwd)"
> 
> ${PWD}? Why?
> 

Because the testsuite is a clunky mess???. But it works

> >                 cd ${TEST_DIR}
> 
> || die
> 
> >                 "${EPYTHON}" -c "import IPython; IPython.test()" || fail=1
> >         }
> > 
> >         VIRTUALX_COMMAND=run_tests virtualmake
> > }
> > 
> > @Ian Delaney: This might fix the test-suite.

getting there.  Comes close
Comment 20 Ian Delaney (RETIRED) gentoo-dev 2014-07-31 01:42:01 UTC
A breakthrough of sorts.  The test that hangs for me is test_octave_plot() in IPython/extensions/tests/test_octavemagic.py. Once that is skipped over, from

dev-python/ipython $ PYTHON_TARGETS=python2_7 ebuild ipython-2.1.0.ebuild test

I get

---------------------------------------------------------------

Test group: extensions
/usr/lib64/python2.7/site-packages/nose/plugins/manager.py:395: RuntimeWarning: Unable to load plugin openstack.nose_plugin = openstack.nose_plugin:Openstack: colorama
  RuntimeWarning)
.............F..EEE..

--------------------------------------------------------------

Test group: parallel ----------------------------------------- NOT RUN
Test group: js/base ------------------------------------------ NOT RUN
Test group: js/notebook -------------------------------------- NOT RUN
Test group: js/services -------------------------------------- NOT RUN
Test group: js/tree ------------------------------------------ NOT RUN
Test group: js/widgets --------------------------------------- NOT RUN
______________________________________________________________________
Test suite completed for system with the following information:
IPython version: 2.1.0
IPython commit : 681fd77 (installation)
IPython package: /mnt/gen2/TmpDir/portage/dev-python/ipython-2.1.0/work/ipython-2.1.0-python2_7/build/test/lib/IPython
Python version : 2.7.6 (default, May  5 2014, 09:24:40) [GCC 4.8.2]
sys.executable : /usr/bin/python2.7
Platform       : Linux-3.13.2-tuxonice-x86_64-AMD_Athlon-tm-_II_X4_645_Processor-with-gentoo-2.2

Tools and libraries available at test time:
   curses cython jinja2 matplotlib numpy oct2py pexpect pygments pymongo qt requests rpy2 sphinx sqlite3 tornado zmq

Tools and libraries NOT available at test time:
   casperjs

Status: ERROR - 1 out of 14 test groups failed (extensions). Took 184.415s.

which is quite manageable. test_rmagic.py is the culprit for the F..EEE, however this appears it's local to my system. Need more cross testing.
Comment 21 Ian Delaney (RETIRED) gentoo-dev 2014-08-01 03:28:41 UTC
*ipython-2.1.0 (01 Aug 2014)

  01 Aug 2014; Ian Delaney <idella4@gentoo.org>
  +files/2.1.0-disable-tests.patch, +ipython-2.1.0.ebuild:
  major version bump: extensive re-write; add py3.4 support, drop keywords arm
  ia64 ppc ppc64 (which will be requested for re-addition), re-write of doc
  build, test phase, patch by cel1, thanks to cel1 for cross testing, fixes Bug
  507410

While masking for testing is an option, leaving open for now and set Resolved Test-request, however testing has already been extensive.  The py3.2 factor may still warrant it being masked which is fine.
Comment 22 Ian Delaney (RETIRED) gentoo-dev 2014-08-05 15:23:48 UTC
Created attachment 382324 [details, diff]
diff -u of ebuild in portage and upgraded ebuild

drop inherit of elisp-common eclass
Add IUSE cython and rpy for optional deps
Reduce REQUIRED_USE to "doc? ( cython matplotlib mongodb octave rpy )"
Substitute 2.1.0-disable-tests.patch with 3 new patches
Remove outdated sed statements in python_prepare_all
Upgrade test phase with "${PYTHON}" -m IPython.testing.iptestcontroller --all
Upgrade python_install

Changes based on, but not cloned from ebuild from, https://gist.github.com/cel4/5315eb2b76fab0156f9c by cel1.  New IUSE flag sympy held back for now due to concerns raised by minor test failures for py3.4 in sympy testsuite.  'Magic' IUSE flags converted to regular IUSE flags.
Also added doc build deps will require extension of list of packages requiring added keywording; numpydoc, fabric, matplotlib, pymongo, rpy
Comment 23 Ian Delaney (RETIRED) gentoo-dev 2014-08-05 15:31:18 UTC
Created attachment 382328 [details, diff]
3 test patches

Three substitute patches for testsuite
Comment 24 cel.gentoo 2014-08-05 19:07:16 UTC
One of the patches is broken, I'm currently fixing this. This should not break any tests. So please do test the new ebuild. The ebuild has changed a lot.
Please test the test suite, octavemagic, rmagic and mongodb support in particular.
Comment 25 Ian Delaney (RETIRED) gentoo-dev 2014-08-07 05:18:33 UTC
Created attachment 382434 [details, diff]
diff -u of ebuild in portage and upgraded ebuild

IUSE flags adjusted/ reduced
doc? deps revised
See https://github.com/ipython/ipython/commit/bc12c3eb5bceb83b1bd7f460e99ed90eb944104a
for substitute ${FILESDIR}/test.patch
Remove broken test_ files
Upgrade test phase, python install.

The testsuite is now adequately fine
The major issue remaining is that the insource files of 
IPython/extensions/rmagic.py
and
IPython/extensions/octavemagic.py
are according to cel underdone. For now it's necessary to work with the source that comes and around those seemingly flawed files.
Comment 26 Ian Delaney (RETIRED) gentoo-dev 2014-08-07 14:57:54 UTC
  07 Aug 2014; Ian Delaney <idella4@gentoo.org>
  +files/2.1.0-substitute-files.patch, ipython-2.1.0.ebuild:
  add doc deps, upgrade deps, shed redundant sed statements of prior versions,
  add patch to fix test phase, patch by cel1 now merged upstram, update install
  phase, add msgs in postinst relating to optional features, thanks to cel1 for
  cross testing and patches