diff options
author | 2014-02-12 08:55:14 +0000 | |
---|---|---|
committer | 2014-02-12 08:55:14 +0000 | |
commit | ad8ac585493dc71a6307f8aca15c548d3d14b360 (patch) | |
tree | 7659464f9ab9f5c3a4d617783ba8e0864a453f36 /dev-python/ipython | |
parent | Depend on virtual/pkgconfig too (diff) | |
download | historical-ad8ac585493dc71a6307f8aca15c548d3d14b360.tar.gz historical-ad8ac585493dc71a6307f8aca15c548d3d14b360.tar.bz2 historical-ad8ac585493dc71a6307f8aca15c548d3d14b360.zip |
Create versioned IPython symlinks alike Debian, bug #496010.
Package-Manager: portage-2.2.8-r1/cvs/Linux x86_64
Manifest-Sign-Key: 0xEFB4464E!
Diffstat (limited to 'dev-python/ipython')
-rw-r--r-- | dev-python/ipython/ChangeLog | 9 | ||||
-rw-r--r-- | dev-python/ipython/Manifest | 21 | ||||
-rw-r--r-- | dev-python/ipython/ipython-1.1.0-r2.ebuild | 221 |
3 files changed, 245 insertions, 6 deletions
diff --git a/dev-python/ipython/ChangeLog b/dev-python/ipython/ChangeLog index bfb9f55843dd..f5be180a4bd3 100644 --- a/dev-python/ipython/ChangeLog +++ b/dev-python/ipython/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for dev-python/ipython -# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-python/ipython/ChangeLog,v 1.131 2013/12/07 19:22:15 pacho Exp $ +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-python/ipython/ChangeLog,v 1.132 2014/02/12 08:55:12 mgorny Exp $ + +*ipython-1.1.0-r2 (12 Feb 2014) + + 12 Feb 2014; Michał Górny <mgorny@gentoo.org> +ipython-1.1.0-r2.ebuild: + Create versioned IPython symlinks alike Debian, bug #496010. 07 Dec 2013; Pacho Ramos <pacho@gentoo.org> ipython-1.0.0.ebuild: x86 stable, bug #488738 diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest index b01c8b8f01f7..d9348116a8a4 100644 --- a/dev-python/ipython/Manifest +++ b/dev-python/ipython/Manifest @@ -16,13 +16,26 @@ EBUILD ipython-0.12-r1.ebuild 3981 SHA256 2cda10555e8f6e5521c1de8922a4354cbb9470 EBUILD ipython-0.13.2.ebuild 5432 SHA256 f822dcab3ca1d5bb5862ad6109396f6280ccc7a43e22649b9c6e969c4e08b082 SHA512 427961107e31b3a9f1a24867acbd2f46f84588fedb315556ddcf0500a0f02443f321ed5c03f4c582f7bc533e07c95768e0189b3e5c7de496ce6cb9c4e876b6ff WHIRLPOOL 642e1bf2b361d4c4d0e80e7d35e8228950989687bd641a37b121e7340ce08fc1adc25a14e54011c5c72b3ee14a632397f788e309db7d6dfc4cba9e169e86ed6d EBUILD ipython-1.0.0.ebuild 5714 SHA256 7067d92514fd4ccd29de454fd7ecedae851ac92d5d4c2612788cdc5e7c249932 SHA512 be5d39fd4917f1abdd5ad70e36c767647f7de46ae361853b242684ba0c067849c54e232901c035cb635d17cb553dea4270dd75f7716f092a08effce2587d959f WHIRLPOOL dde1b52e1fcaa18ca627bd15e40a20de0e321ed4c1e3ac3988efc0a813f298cc0e2f7868a1c3d729f367a72eca957931385c1c60d92e855d67eee00f4c03ac48 EBUILD ipython-1.1.0-r1.ebuild 5722 SHA256 5537d1837290b6eb326e5bcbd80d56197a28b5ec484157aa6dc791b5f1780edd SHA512 0c2d5938c6958b88f224106c7bce6261d7c45f478c434d85cca6aa82569dad8d0f270b7e48be5db23a8781e4782866ada9364a4995c3280b9313c31636914785 WHIRLPOOL 3cccd6052b794870a25cde1bb39f088388c19772e5be4105dd70d5828250f681ef01aa97365a3d3d1f0ce05edf69280800435db6c5c4506e064c3c2be5611548 +EBUILD ipython-1.1.0-r2.ebuild 5982 SHA256 6e9a4b816ec22bd1ca97bfb14641b80f92b81d2fc6903933e8e90c5a7da75177 SHA512 da9e4f508c75423cab43a38777863da0afc1935115ea012bfcf376d602625ada60bd175a7dcc75e27c069511cde2d5138423fd0a64156954783f4861aa87d90d WHIRLPOOL 642a26705d4447169f4454e8b4c6b05ccf4d0d82f36197690acbe3a687910994c11bda21c2ef0c37f1341ede049a4a892b50968f5c818786c4e9f3bb17e1851e EBUILD ipython-1.1.0.ebuild 5717 SHA256 f755ee639243fe96eb728fbb4f530bd3fd05cc0e011153463e18e5b49ff99b63 SHA512 6be04744fa3b1bd4ddfcde97e370c28e3b3945377c9c96d3f9261e8836cf5996aeefdfba76e90dbf0272ea7e825dc2b92b0af18635f964e846d2f45e9a2667f6 WHIRLPOOL 87edc3f7f98229b69ee1f2ea562ef0028c6e4a76f6f7faabae4028d077d354147485b6109e59d607305fb60836df2a3287feb8ff420b91d57585a7ebbcacace1 -MISC ChangeLog 19799 SHA256 887d002bb0612603b6806a3e3f08f5269a64a3a9f7d01a89bf2540ec21465e0a SHA512 68458827ae5752457607503f517c2ad6bf009e9ddc10d533fcfb380ad10821f8258050ef98df460f8c97edd92cc141044c56627ec888eac2ce85d071d2ee8b48 WHIRLPOOL f853f8d922282286f90924d34dcf10ca495edb92c0ab1203a0432cfb2999e4a0138d193be24eee274782ead7872b61a9a7c4bfab66c2a056bee54c576e11d478 +MISC ChangeLog 19973 SHA256 ae6f1206a846243f183f9960acfa18d14bdab065b6d59f45c3a3da0a0723682f SHA512 e5192c44a939b856e317f0834c603d3d783a39abacac14bd61a2c873a268189dd62378a68cc1de54b5ba7d3025ddb2334ca4df42a8afc9593e4870a50f7a1679 WHIRLPOOL ca5d06b55496d7ef7e87b7b986c4e114f18ace9cbf35c08a896ef9c87b46f24f0250c44e146c5c9c919747a22760d900cc3058d13e5c91f9d0fbd15812b416fb MISC metadata.xml 2803 SHA256 6cec3ab4d81eaf8b6019d93d68e53efcbfdc88ccf52588e8dcc447f2d00d999f SHA512 3f4a6296f4d08d149af0dd85b6198134b8b68bd2972c01a148cd091414c1818a01a498d30ade1a3a56d98f4f8fd64f7898f3992500713fe33e59f2527353ac87 WHIRLPOOL 84b96e09a6d40bf77079b12c1c3e8a7e1f56cd52b8e9795cb748c60e295444ed9d9e0e909e9da961c02e76975d0f0f8125bddf90ebe0e0e2f8d8233239749364 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) -iEYEAREIAAYFAlKjdWkACgkQCaWpQKGI+9RXlACfe6NgGo71IVWR5JEu2KccNEbI -d58AmgKZR0T2gMHIankvFuG7Iv1NQDEk -=PlFJ +iQJ8BAEBCABmBQJS+zbxXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w +ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2REJCMDdDQzRGMERBRDA2RUEwQUZFNDFC +MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZOxDYQAKPXSHX1ho1Mr7nnY/hJAdyS +L3hiCwiRdqINkA9HMxBeCYJQ6lsCIqZDmDl8m8FgRxT6FfYiMcKfZb3OgcqebQ6P +BNhc6uTVLS30MciOKaFUgEycxbLiTXFmHQJW2xwzEUEB6Eo0zihkcx7WT1QBF4Bn +MXtwUK6Wig639V+HhJEkL7rQGmvph2/8Kclv7DClkFi9yQSP0AuNEkGzKtHsKi3j +TVZ7SjGGVkdW0lxhjQbDiDpfM8Rbe6CDM2uJaMx8p+LTBboAsy/ofA8mTpEItNAl +18iE+8u19CT5RprKE3B0PNWEuYOO2Xr5IPPtrZkzxBPsHdP42NdXCIy4Zx8H6HGu +3G16w4fOLIHDpoeBkGw3EKTZMarTK8sQoUfOppdMHMERFzGlguUpb8fifbgksiq7 +d4kSVk+a8vU4iEnaDeyFucS5HgWAAjfETtRcwpSqu71aEYA+vkdprn1gl2K9tr3c +s2r2JEcSD+J2frU0DAAgs/XX0zp1vSnWQsLoaULkVWJoONbpZ0MlxdQy/wcyXLUe +vpX21+3VyQP4SdRcHq2eHItMLkMmGaBXQ2Q0Kiy09tlInSLZsqR0GfWd/hgSXXMF +Vk+tE/Ob+e4S7axom6lSrhIZcex/NVR6w7pdS1VYg5em4pEHx1h4TfSpH1iT5QP+ +hN8BNgkBWb7rA55t8oD1 +=jPDz -----END PGP SIGNATURE----- diff --git a/dev-python/ipython/ipython-1.1.0-r2.ebuild b/dev-python/ipython/ipython-1.1.0-r2.ebuild new file mode 100644 index 000000000000..c3a8dbde8628 --- /dev/null +++ b/dev-python/ipython/ipython-1.1.0-r2.ebuild @@ -0,0 +1,221 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-python/ipython/ipython-1.1.0-r2.ebuild,v 1.1 2014/02/12 08:55:12 mgorny Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} ) +PYTHON_REQ_USE='readline,sqlite' + +inherit distutils-r1 elisp-common eutils virtualx + +DISTUTILS_IN_SOURCE_BUILD=1 + +DESCRIPTION="Advanced interactive shell for Python" +HOMEPAGE="http://ipython.org/" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/rel-${PV}/${P}.tar.gz" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="doc emacs examples matplotlib mongodb notebook nbconvert octave + qt4 +smp test wxwidgets" + +PY2_USEDEP=$(python_gen_usedep 'python2*') + +gen_python_deps() { + local flag + for flag in $(python_gen_useflags '*'); do + echo "${flag}? ( ${1}[${flag}(-)] )" + done +} + +CDEPEND=" + dev-python/decorator[${PYTHON_USEDEP}] + dev-python/pexpect[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/simplegeneric[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + virtual/python-argparse[${PYTHON_USEDEP}] + emacs? ( app-emacs/python-mode virtual/emacs ) + matplotlib? ( dev-python/matplotlib[${PYTHON_USEDEP}] ) + mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] ) + octave? ( dev-python/oct2py[${PY2_USEDEP}] ) + smp? ( dev-python/pyzmq[${PYTHON_USEDEP}] ) + wxwidgets? ( dev-python/wxpython[${PY2_USEDEP}] )" +RDEPEND="${CDEPEND} + notebook? ( + >=www-servers/tornado-2.1[${PY2_USEDEP}] + dev-python/pygments[${PYTHON_USEDEP}] + dev-python/pyzmq[${PYTHON_USEDEP}] + dev-libs/mathjax + $(gen_python_deps dev-python/jinja) + ) + nbconvert? ( + app-text/pandoc + dev-python/pygments[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + $(gen_python_deps dev-python/jinja) + ) + qt4? ( || ( dev-python/PyQt4[${PYTHON_USEDEP}] dev-python/pyside[${PYTHON_USEDEP}] ) + dev-python/pygments[${PYTHON_USEDEP}] + dev-python/pyzmq[${PYTHON_USEDEP}] )" +DEPEND="${CDEPEND} + test? ( dev-python/nose[${PYTHON_USEDEP}] )" + +PY2_REQUSE="|| ( $(python_gen_useflags python2* ) )" +REQUIRED_USE=" + mongodb? ( ${PY2_REQUSE} ) + notebook? ( ${PY2_REQUSE} ) + octave? ( ${PY2_REQUSE} ) + wxwidgets? ( ${PY2_REQUSE} )" + +PATCHES=( + "${FILESDIR}/ipython-1.0.0-setuptools.patch" +) + +python_prepare_all() { + # fix for gentoo python scripts + sed -i \ + -e "/ipython_cmd/s/ipython3/ipython/g" \ + IPython/terminal/console/tests/test_console.py \ + IPython/lib/irunner.py \ + IPython/testing/tools.py || die + + sed -i \ + -e "s/find_scripts(True, suffix='3')/find_scripts(True)/" \ + setup.py || die + + # fix gentoo installation directory for documentation + sed -i \ + -e "/docdirbase = pjoin/s/ipython/${PF}/" \ + -e "/pjoin(docdirbase,'manual')/s/manual/html/" \ + setupbase.py || die "sed failed" + + if ! use doc; then + sed -i \ + -e "/(pjoin(docdirbase, 'extensions'), igridhelpfiles),/d" \ + -e 's/ + manual_files//' \ + setupbase.py || die + fi + + if ! use examples; then + sed -i \ + -e 's/+ example_files//' \ + setupbase.py || die + fi + + distutils-r1_python_prepare_all +} + +python_compile_all() { + use emacs && elisp-compile docs/emacs/ipython.el +} + +src_test() { + # virtualx has trouble with parallel runs. + local DISTUTILS_NO_PARALLEL_BUILD=1 + distutils-r1_src_test +} + +python_test() { + # https://github.com/ipython/ipython/issues/2083 + unset PYTHONWARNINGS + + # ipython skips mongodb tests only if it's not running. + # since we want the widest test range, and don't want it to fiddle + # with user-running mongodb, we always run it if it's available. + + local DB_IP=127.0.0.1 + local DB_PORT=-1 # disable + + pushd "${BUILD_DIR}"/../IPython/scripts/ > /dev/null + + if has_version dev-db/mongodb; then + # please keep in sync with dev-python/pymongo + + local dbpath=${TMPDIR}/mongo.db + local logpath=${TMPDIR}/mongod.log + + # prefer starting with non-default one + DB_PORT=27018 + + mkdir -p "${dbpath}" || die + while true; do + ebegin "Trying to start mongod on port ${DB_PORT}" + + LC_ALL=C \ + mongod --dbpath "${dbpath}" --smallfiles --nojournal \ + --bind_ip ${DB_IP} --port ${DB_PORT} \ + --unixSocketPrefix "${TMPDIR}" \ + --logpath "${logpath}" --fork \ + && sleep 2 + + # Now we need to check if the server actually started... + if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then + # yay! + eend 0 + break + elif grep -q 'Address already in use' "${logpath}"; then + # ay, someone took our port! + eend 1 + : $(( DB_PORT += 1 )) + continue + else + eend 1 + ewarn "Unable to start mongod for tests." + break + fi + done + fi + + # No support for DB_IP and DB_PORT. + # https://github.com/ipython/ipython/pull/2910 + sed -i -e "s:Connection(:&host='${DB_IP}', port=${DB_PORT}:" \ + "${BUILD_DIR}"/lib/IPython/parallel/tests/test_mongodb.py \ + || die "Unable to sed mongod port into tests" + + local fail + run_tests() { + # Initialize ~/.ipython directory. + "${EPYTHON}" ipython </dev/null >/dev/null || fail=1 + # Run tests (-v for more verbosity). + PYTHONPATH=${PYTHONPATH}:. "${EPYTHON}" iptest -v || fail=1 + } + + VIRTUALX_COMMAND=run_tests virtualmake + + [[ ${DB_PORT} != -1 ]] && mongod --dbpath "${dbpath}" --shutdown + [[ ${fail} ]] && die "Tests fail with ${EPYTHON}" +} + +python_install() { + distutils-r1_python_install + ln -snf "${EPREFIX}"/usr/share/mathjax \ + "${D}$(python_get_sitedir)"/IPython/html/static/mathjax || die + + # Create ipythonX.Y symlinks. + # TODO: + # 1. do we want them for pypy? + # 2. handle it in the eclass instead (use _python_ln_rel). + if [[ ${EPYTHON} == python* ]]; then + dosym ../lib/python-exec/${EPYTHON}/ipython \ + /usr/bin/ipython${EPYTHON#python} + fi +} + +python_install_all() { + distutils-r1_python_install_all + if use emacs; then + cd docs/emacs || die + elisp-install ${PN} ${PN}.el* + elisp-site-file-install "${FILESDIR}"/62ipython-gentoo.el + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} |