summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2013-02-06 10:46:39 +0000
committerMichał Górny <mgorny@gentoo.org>2013-02-06 10:46:39 +0000
commitdf8303c8fa6c8e7d1c12f78a76b87af09c3553ed (patch)
tree18603e36a27603087b66f0ac9b6650c29c381d5e /dev-python/wxpython/wxpython-2.9.4.1-r1.ebuild
parentAdd qt-core dep (easiest way to fix bug #455812) (diff)
downloadgentoo-2-df8303c8fa6c8e7d1c12f78a76b87af09c3553ed.tar.gz
gentoo-2-df8303c8fa6c8e7d1c12f78a76b87af09c3553ed.tar.bz2
gentoo-2-df8303c8fa6c8e7d1c12f78a76b87af09c3553ed.zip
Migrate to distutils-r1. Reviewed by Ryan Hill in bug #455332.
(Portage version: 2.2.0_alpha161/cvs/Linux x86_64, signed Manifest commit with key 42B9401D)
Diffstat (limited to 'dev-python/wxpython/wxpython-2.9.4.1-r1.ebuild')
-rw-r--r--dev-python/wxpython/wxpython-2.9.4.1-r1.ebuild157
1 files changed, 157 insertions, 0 deletions
diff --git a/dev-python/wxpython/wxpython-2.9.4.1-r1.ebuild b/dev-python/wxpython/wxpython-2.9.4.1-r1.ebuild
new file mode 100644
index 000000000000..023d9de725d2
--- /dev/null
+++ b/dev-python/wxpython/wxpython-2.9.4.1-r1.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/wxpython/wxpython-2.9.4.1-r1.ebuild,v 1.1 2013/02/06 10:46:39 mgorny Exp $
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_6,2_7} )
+WX_GTK_VER="2.9"
+
+inherit alternatives distutils-r1 eutils fdo-mime flag-o-matic wxwidgets
+
+MY_PN="wxPython-src"
+
+DESCRIPTION="A blending of the wxWindows C++ class library with Python"
+HOMEPAGE="http://www.wxpython.org/"
+SRC_URI="mirror://sourceforge/wxpython/${MY_PN}-2.9.4.0.tar.bz2
+ examples? ( mirror://sourceforge/wxpython/wxPython-demo-2.9.4.0.tar.bz2 )
+ mirror://sourceforge/wxpython/${MY_PN}-2.9.4.1.patch"
+
+LICENSE="wxWinLL-3"
+SLOT="2.9"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="cairo examples opengl"
+
+RDEPEND="
+ >=x11-libs/wxGTK-${PV}:${WX_GTK_VER}[opengl?,tiff,X]
+ dev-libs/glib:2
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ media-libs/libpng:0
+ media-libs/tiff:0
+ virtual/jpeg
+ x11-libs/gtk+:2
+ x11-libs/pango[X]
+ cairo? ( >=dev-python/pycairo-1.8.4[${PYTHON_USEDEP}] )
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_PN}-2.9.4.0/wxPython"
+DOC_S="${WORKDIR}/wxPython-2.9.4.0"
+
+# The hacky build system seems to be broken with out-of-source builds,
+# and installs 'wx' package globally.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ sed -i "s:cflags.append('-O3'):pass:" config.py || die "sed failed"
+
+ cd .. || die
+ epatch "${DISTDIR}"/${MY_PN}-${PV}.patch
+
+ if use examples; then
+ cd "${DOC_S}"
+ epatch "${FILESDIR}"/${PN}-${SLOT}-wxversion-demo.patch
+ fi
+
+ cd "${S}" || die
+ local PATCHES=(
+ "${FILESDIR}"/${P}-wxversion-scripts.patch
+ # drop editra - we have it as a separate package now
+ "${FILESDIR}"/${PN}-2.8.11-drop-editra.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ need-wxwidgets unicode
+
+ mydistutilsargs=(
+ WX_CONFIG="${WX_CONFIG}"
+ WXPORT=gtk2
+ UNICODE=1
+ BUILD_GLCANVAS=$(usex opengl 1 0)
+ )
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # adjust the filenames for wxPython slots.
+ local file
+ for file in "${D}$(python_get_sitedir)"/wx{version.*,.pth}; do
+ mv "${file}" "${file}-${SLOT}" || die
+ done
+ cd "${ED}"usr/bin || die
+ for file in *-"${EPYTHON}"; do
+ local wrapper=${file%-${EPYTHON}}
+
+ mv "${file}" "${file/-/-${SLOT}-}" || die
+
+ # wrappers are common to all impls, so a parallel run may
+ # move it for us. ln+rm is more failure-proof.
+ ln -fs python-exec "${wrapper}-${SLOT}" || die
+ rm -f "${wrapper}"
+ done
+}
+
+python_install_all() {
+ dodoc docs/{CHANGES,PyManual,README,wxPackage,wxPythonManual}.txt
+
+ for x in {Py{AlaMode,Crust,Shell},XRCed}; do
+ newmenu distrib/${x}.desktop ${x}-${SLOT}.desktop
+ done
+ newicon wx/py/PyCrust_32.png PyCrust-${SLOT}.png
+ newicon wx/py/PySlices_32.png PySlices-${SLOT}.png
+ newicon wx/tools/XRCed/XRCed_32.png XRCed-${SLOT}.png
+
+ if use examples; then
+ docinto demo
+ dodoc -r "${DOC_S}"/demo/.
+ docinto samples
+ dodoc -r "${DOC_S}"/samples/.
+
+ [[ -e ${docdir}/samples/embedded/embedded ]] \
+ && rm -f "${docdir}"/samples/embedded/embedded
+
+ docompress -x /usr/share/doc/${PF}/{demo,samples}
+ fi
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+
+ create_symlinks() {
+ alternatives_auto_makesym "$(python_get_sitedir)/wx.pth" "$(python_get_sitedir)/wx.pth-[0-9].[0-9]"
+ alternatives_auto_makesym "$(python_get_sitedir)/wxversion.py" "$(python_get_sitedir)/wxversion.py-[0-9].[0-9]"
+ }
+ python_foreach_impl create_symlinks
+
+ echo
+ elog "Gentoo uses the Multi-version method for SLOT'ing."
+ elog "Developers, see this site for instructions on using"
+ elog "2.8 or 2.9 with your apps:"
+ elog "http://wiki.wxpython.org/index.cgi/MultiVersionInstalls"
+ if use examples; then
+ elog
+ elog "The demo.py app which contains demo modules with"
+ elog "documentation and source code has been installed at"
+ elog "/usr/share/doc/${PF}/demo/demo.py"
+ elog
+ elog "More example apps and modules can be found in"
+ elog "/usr/share/doc/${PF}/samples/"
+ fi
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+
+ update_symlinks() {
+ alternatives_auto_makesym "$(python_get_sitedir)/wx.pth" "$(python_get_sitedir)/wx.pth-[0-9].[0-9]"
+ alternatives_auto_makesym "$(python_get_sitedir)/wxversion.py" "$(python_get_sitedir)/wxversion.py-[0-9].[0-9]"
+ }
+ python_foreach_impl update_symlinks
+}