diff options
author | Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> | 2010-02-06 14:13:41 +0000 |
---|---|---|
committer | Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> | 2010-02-06 14:13:41 +0000 |
commit | f67b19caefd9ad069ccdaaacb216a1fc8aa407e2 (patch) | |
tree | 679147c194cf653954b02e13f08541cfabf57672 /dev-python/matplotlib/matplotlib-0.99.1.1-r1.ebuild | |
parent | Stable on amd64 wrt bug #302473 (diff) | |
download | gentoo-2-f67b19caefd9ad069ccdaaacb216a1fc8aa407e2.tar.gz gentoo-2-f67b19caefd9ad069ccdaaacb216a1fc8aa407e2.tar.bz2 gentoo-2-f67b19caefd9ad069ccdaaacb216a1fc8aa407e2.zip |
Set SUPPORT_PYTHON_ABIS.
(Portage version: 15324-svn/cvs/Linux x86_64)
Diffstat (limited to 'dev-python/matplotlib/matplotlib-0.99.1.1-r1.ebuild')
-rw-r--r-- | dev-python/matplotlib/matplotlib-0.99.1.1-r1.ebuild | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/dev-python/matplotlib/matplotlib-0.99.1.1-r1.ebuild b/dev-python/matplotlib/matplotlib-0.99.1.1-r1.ebuild new file mode 100644 index 000000000000..6afea38347eb --- /dev/null +++ b/dev-python/matplotlib/matplotlib-0.99.1.1-r1.ebuild @@ -0,0 +1,192 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-python/matplotlib/matplotlib-0.99.1.1-r1.ebuild,v 1.1 2010/02/06 14:13:41 arfrever Exp $ + +EAPI="2" +PYTHON_DEPEND="2" +SUPPORT_PYTHON_ABIS="1" +WX_GTK_VER="2.8" + +inherit distutils wxwidgets + +PDOC="users_guide_${PV}" + +DESCRIPTION="Pure python plotting library with matlab like syntax" +HOMEPAGE="http://matplotlib.sourceforge.net/ http://pypi.python.org/pypi/matplotlib" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +IUSE="cairo doc excel examples fltk gtk latex qt4 traits tk wxwidgets" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +LICENSE="PYTHON BSD" + +CDEPEND=">=dev-python/numpy-1.1 + dev-python/python-dateutil + dev-python/pytz + media-libs/freetype:2 + media-libs/libpng + gtk? ( dev-python/pygtk ) + tk? ( dev-lang/python[tk] ) + wxwidgets? ( dev-python/wxpython:2.8 )" + +DEPEND="${CDEPEND} + dev-python/pycxx + dev-util/pkgconfig + doc? ( + >=dev-python/sphinx-0.5.1 + || ( + >=media-gfx/graphviz-2.24.0[cairo] + <media-gfx/graphviz-2.24.0[cairo,png] + ) + || ( ( dev-texlive/texlive-latexextra + dev-texlive/texlive-latexrecommended ) + ( app-text/ptex dev-tex/latex-unicode ) ) + app-text/dvipng + dev-python/imaging + dev-python/ipython )" + +RDEPEND="${CDEPEND} + || ( media-fonts/dejavu media-fonts/ttf-bitstream-vera ) + media-fonts/texcm-ttf + cairo? ( dev-python/pycairo ) + excel? ( dev-python/xlwt ) + fltk? ( dev-python/pyfltk ) + qt4? ( dev-python/PyQt4[X] ) + traits? ( dev-python/traits dev-python/configobj ) + latex? ( + virtual/latex-base + app-text/ghostscript-gpl + app-text/dvipng + virtual/poppler-utils + || ( dev-texlive/texlive-fontsrecommended + app-text/ptex ) )" +RESTRICT_PYTHON_ABIS="3.*" + +DOCS="INTERACTIVE" + +use_setup() { + local uword="${2}" + [ -z "${2}" ] && uword="${1}" + if use ${1}; then + echo "${uword} = True" + echo "${uword}agg = True" + else + echo "${uword} = False" + echo "${uword}agg = False" + fi +} + +src_prepare() { + # avoid to launch xv while building examples docs + epatch "${FILESDIR}"/${PN}-0.98.5.2-no-xv.patch + + # removes hardcoded lib paths, should not break non-Prefix, more + # likely to fix it in case of multilib + epatch "${FILESDIR}"/${P}-prefix.patch + epatch "${FILESDIR}"/${PN}-0.99.0-freebsd7+.patch + + # create setup.cfg (see setup.cfg.template for any changes) + cat > setup.cfg <<-EOF + [provide_packages] + pytz = False + dateutil = False + configobj = False + enthought.traits = False + [gui_support] + $(use_setup gtk) + $(use_setup tk) + $(use_setup wxwidgets wx) + $(use_setup qt4) + $(use_setup fltk) + $(use_setup cairo) + EOF + + # avoid checks needing a X display + sed -i \ + -e "s/check_for_gtk()/$(use gtk && echo True || echo False)/" \ + -e "s/check_for_tk()/$(use tk && echo True || echo False)/" \ + setup.py || die "sed setup.py failed" + + # respect FHS: + # - mpl-data in /usr/share/matplotlib + # - config files in /etc/matplotlib + sed -i \ + -e "/'mpl-data\/matplotlibrc',/d" \ + -e "/'mpl-data\/matplotlib.conf',/d" \ + -e "s:'lib/matplotlib/mpl-data/matplotlibrc':'matplotlibrc':" \ + -e "s:'lib/matplotlib/mpl-data/matplotlib.conf':'matplotlib.conf':" \ + setup.py \ + || die "sed setup.py for FHS failed" + + sed -i \ + -e "s:path = get_data_path():path = '${EPREFIX}/etc/matplotlib':" \ + -e "s:os.path.dirname(__file__):'${EPREFIX}/usr/share/${PN}':g" \ + lib/matplotlib/{__init__,config/cutils}.py \ + || die "sed init for FHS failed" + + # remove internal copies of fonts, pycxx, pyparsing + rm -rf \ + CXX \ + lib/matplotlib/mpl-data/fonts/{afm,pdfcorefonts} \ + lib/matplotlib/mpl-data/fonts/ttf/{Vera*,cm*,*.TXT} \ + || die "removed internal copies failed" + + # remove pyparsing only when upstream pyparsing included matplotlib + # fixes. See bug #260025 + #rm -f lib/matplotlib/pyparsing.py +} + +src_compile() { + unset DISPLAY # bug #278524 + + distutils_src_compile_pre_hook() { + ln -fs "${EPREFIX}/usr/share/python$(python_get_version)/CXX" . + } + distutils_src_compile + + if use doc; then + cd "${S}/doc" + export VARTEXFONTS="${T}"/fonts + # no die function here: broken compilation at the end, do it twice, + # result ok. + MATPLOTLIBDATA="${S}/lib/matplotlib/mpl-data" \ + PYTHONPATH=$(ls -d "${S}"/build-$(PYTHON -f --ABI)/lib*) \ + "$(PYTHON -f)" make.py html + MATPLOTLIBDATA="${S}/lib/matplotlib/mpl-data" \ + PYTHONPATH=$(ls -d "${S}"/build-$(PYTHON -f --ABI)/lib*) \ + "$(PYTHON -f)" make.py + fi +} + +src_test() { + einfo "Tests are quite long, be patient" + cd "${S}/examples/tests" + testing() { + PYTHONPATH=$(ls -d "${S}"/build-${PYTHON_ABI}/lib*) "$(PYTHON)" backend_driver.py agg || return 1 + PYTHONPATH=$(ls -d "${S}"/build-${PYTHON_ABI}/lib*) "$(PYTHON)" backend_driver.py --clean + } + python_execute_function testing +} + +src_install() { + [[ -z ${ED} ]] && local ED=${D} + distutils_src_install + + # Respect FHS + dodir /usr/share/${PN} + mv "${ED}$(python_get_sitedir -f)/${PN}/"{mpl-data,backends/Matplotlib.nib} "${ED}usr/share/${PN}" || die "Renaming failed" + rm -fr "${ED}"usr/lib*/python*/site-packages/${PN}/{mpl-data,backends/Matplotlib.nib} + + insinto /etc/matplotlib + doins matplotlibrc matplotlib.conf || die "installing config files failed" + + # doc and examples + insinto /usr/share/doc/${PF} + if use doc; then + doins doc/build/latex/Matplotlib.pdf || die + doins -r doc/build/html || die + fi + if use examples; then + doins -r examples || die + fi +} |