Fix for Python ABI #316253, PREFIX fixes
authorJustin Lecher <jlec@gentoo.org>
Fri, 21 May 2010 19:08:31 +0000 (19:08 +0000)
committerJustin Lecher <jlec@gentoo.org>
Fri, 21 May 2010 19:08:31 +0000 (19:08 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

sci-visualization/hippodraw/ChangeLog
sci-visualization/hippodraw/Manifest
sci-visualization/hippodraw/hippodraw-1.21.3-r3.ebuild [new file with mode: 0644]

index 007576d5039f274456c26c6dfbfdaa2558bb382f..9378241a6358797f48643a09d642ec035ff772dc 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for sci-visualization/hippodraw
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-visualization/hippodraw/ChangeLog,v 1.15 2010/01/12 04:46:24 markusle Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-visualization/hippodraw/ChangeLog,v 1.16 2010/05/21 19:08:31 jlec Exp $
+
+*hippodraw-1.21.3-r3 (21 May 2010)
+
+  21 May 2010; Justin Lecher <jlec@gentoo.org> +hippodraw-1.21.3-r3.ebuild:
+  Fix for Python ABI #316253, PREFIX fixes
 
 *hippodraw-1.21.3-r2 (12 Jan 2010)
 
index 54eb7032fc6e6fb2404d0d4a9d1acd5520279334..99c1fab65072c3b0179c0d658c17c74b72cec374 100644 (file)
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
 AUX hippodraw-1.21.3-autoconf-2.64.patch 1729 RMD160 2c0ebb3c3a3387049672e351cea0aa1fe485acf9 SHA1 fd7bcaf5ecc24939c5617759555bd45f14668266 SHA256 e60f8da1021c522e3b6d9e87f2d333fac6787c27baa649482142b78e2a1c7675
 AUX hippodraw-1.21.3-gcc4.3.patch 7310 RMD160 7fd794311627f762e476ba0e3cb0190600038e87 SHA1 35abf03f3d704891fa6d4bbf8bd9725045396eb3 SHA256 4945521437e9e8c211b743bcc4f5078629d35c1b56989734ecfbcd21c142d225
 AUX hippodraw-1.21.3-gcc4.4.patch 364 RMD160 e4bed68dde832ca010114049026272e047fca603 SHA1 b3a4f0fe5f20c0ec5fbfb3971116d00108c4119b SHA256 6e884d769ac1bf8d2c50370b4abd3f234c43d1fd590a47d91990fe518bb7bfd7
@@ -8,5 +11,13 @@ AUX hippodraw-1.21.3-test-fix.patch 539 RMD160 3658745e4f8e449e845031ff561c5753a
 AUX hippodraw-1.21.3-wcslib.patch 879 RMD160 d339517136249a0a5c56edeb69abe652c82a9b06 SHA1 b7dde32740a1395ea2400be999e3b03edfb628c6 SHA256 49444a17b22b4448944c9b3e419c1fecb5ab551790705a1ac75bf5cd2957b670
 DIST HippoDraw-1.21.3.tar.gz 9087353 RMD160 33ab867739feda0caef29da9160c3e410de5fc35 SHA1 6959c564c0c366260b5b7ad81cce6efd2d30846b SHA256 a649dd51b4316ba54fad03cb7b39035ecd2d0efeea0cbff1a17d4790f7df0e28
 EBUILD hippodraw-1.21.3-r2.ebuild 3764 RMD160 d2d7d6dea9efdf13ddb0f2a0083296344ecab097 SHA1 bec34b48b2878bc9eac6a5b2da6697a1125d2479 SHA256 040644516fd8e3fac7a7a21a8761b21572358197f69495d47cf9305b13ee1732
-MISC ChangeLog 3227 RMD160 f3976710e2dfc284fca90dfbd134845f3504a374 SHA1 0b6d9a6ed36412d005b3e6d5a619bb1b26c93e22 SHA256 9179ade99fec22953993b63d6f5b72e464da3ea694625751a55ba33bed5574bf
+EBUILD hippodraw-1.21.3-r3.ebuild 4767 RMD160 cabcbd74fa3b64abeff9102999d75a4424351f40 SHA1 7a8d98aa379f5d6d04b4311ca89f84935cc62b72 SHA256 149638ea0c000bfa21b4c3c426fcd6284fe41a0dba4401860558564972610fa3
+MISC ChangeLog 3379 RMD160 fba3b48a61fee94cb681bbb68917eebb21a16b07 SHA1 f19ba265cf6d25ec8a6765a3c2757bf88693d80e SHA256 2cdf50b7e57419276e18cd29d7b2bcf7eeed8e4683ba5dfee5faf61a66d79256
 MISC metadata.xml 1670 RMD160 8dcfaa588e742cd7c806b2d89f5cdbb229ae785d SHA1 4b7c09771725382bb56d37f8833b49e9ee85ca4f SHA256 612109583191964b5558caaa1748e12761fc4d51c491f9f1bb79e27394bac67d
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+iEYEARECAAYFAkv22jQACgkQgAnW8HDreRYPywCdFdzVi2+fLt8vkw7NINlTcYo5
+bp4AoM1083siL41c0oA4VipZFz6CAFEg
+=bLOs
+-----END PGP SIGNATURE-----
diff --git a/sci-visualization/hippodraw/hippodraw-1.21.3-r3.ebuild b/sci-visualization/hippodraw/hippodraw-1.21.3-r3.ebuild
new file mode 100644 (file)
index 0000000..4f04199
--- /dev/null
@@ -0,0 +1,160 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-visualization/hippodraw/hippodraw-1.21.3-r3.ebuild,v 1.1 2010/05/21 19:08:31 jlec Exp $
+
+EAPI=3
+
+PYTHON_DEPEND="*"
+PYTHON_USE_WITH="threads"
+SUPPORT_PYTHON_ABIS="1"
+
+inherit autotools eutils multilib python qt4
+
+MY_PN=HippoDraw
+
+DESCRIPTION="Highly interactive data analysis Qt environment for C++ and python"
+HOMEPAGE="http://www.slac.stanford.edu/grp/ek/hippodraw/"
+SRC_URI="ftp://ftp.slac.stanford.edu/users/pfkeb/${PN}/${MY_PN}-${PV}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc examples +fits +numpy root wcs"
+
+CDEPEND="dev-libs/boost[python]
+       virtual/latex-base
+       media-libs/netpbm
+       fits? ( sci-libs/cfitsio )
+       numpy? ( dev-python/numpy )
+       x11-libs/qt-gui:4
+       x11-libs/qt-qt3support:4
+       x11-libs/qt-assistant:4
+       root? ( >=sci-physics/root-5 )
+       !root? ( sci-libs/minuit )
+       wcs? ( sci-astronomy/wcslib )"
+
+DEPEND="${CDEPEND}
+       doc? ( app-doc/doxygen )"
+
+RDEPEND="${CDEPEND}
+       numpy? ( fits? ( dev-python/pyfits ) )"
+RESTRICT_PYTHON_ABIS="3.*"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+src_prepare() {
+       epatch "${FILESDIR}"/${P}-gcc4.3.patch
+       epatch "${FILESDIR}"/${P}-gcc4.4.patch
+       epatch "${FILESDIR}"/${P}-numarray.patch
+       epatch "${FILESDIR}"/${P}-test-fix.patch
+       epatch "${FILESDIR}"/${P}-minuit2.patch
+       epatch "${FILESDIR}"/${P}-wcslib.patch
+       epatch "${FILESDIR}"/${P}-qt4.patch
+       epatch "${FILESDIR}"/${P}-autoconf-2.64.patch
+
+       echo "#!${EPREFIX}/bin/sh" > config/py-compile
+
+       # fix the install doc directory to gentoo's one
+       local docdir="${EPREFIX}"/usr/share/doc/${PF}
+       sed -i \
+               -e "s:\(docdir\).*=.*:\1= ${docdir}:" \
+               -e "s:\(INSTALLDIR\).*=.*:\1= \$(DESTDIR)${docdir}/html:" \
+               -e "/^DOCS_STR/s:\(DOCS_STR\).*=.*:\1 = \\\\\"${docdir}/html\\\\\":" \
+               -e "s:\$(pkgdatadir)/examples:${docdir}/examples:" \
+               -e 's:LICENSE:README:' \
+               -e "s:BOOSTDIR = python:BOOSTDIR =:g" \
+               {.,doc,examples,qt}/Makefile.am || die "sed for docdir failed"
+
+       AT_M4DIR=config/m4 eautoreconf
+}
+
+src_configure() {
+       local myconf="
+               --disable-numarraybuild
+               $(use_enable numpy numpybuild)
+               $(use_enable doc help)"
+       # All these longuish conf options are necessary
+       # or else a huge patch
+       myconf="${myconf} --with-Qt-include-dir=no"
+       myconf="${myconf} --with-Qt-lib-dir=no"
+       myconf="${myconf} --with-Qt-bin-dir=no"
+       myconf="${myconf} --with-qt4-include=${EPREFIX}/usr/include/qt4"
+       myconf="${myconf} --with-qt4-lib=${EPREFIX}/usr/$(get_libdir)/qt4"
+       myconf="${myconf} --with-qt4-dir=${EPREFIX}/usr"
+
+       if use root; then
+               myconf="${myconf} --with-root-include=$(root-config --incdir)"
+               myconf="${myconf} --with-root-lib=$(root-config --libdir)"
+               myconf="${myconf} --with-minuit2-lib=no"
+       else
+               myconf="${myconf} --with-minuit2-include=${EPREFIX}/usr/include"
+               myconf="${myconf} --with-minuit2-lib=${EPREFIX}/usr/$(get_libdir)"
+               myconf="${myconf} --with-root-lib=no"
+       fi
+
+       if use fits; then
+               myconf="${myconf} --with-cfitsio-include=${EPREFIX}/usr/include"
+               myconf="${myconf} --with-cfitsio-lib=${EPREFIX}/usr/$(get_libdir)"
+       else
+               myconf="${myconf} --with-cfitsio-lib=no"
+       fi
+
+       if use wcs; then
+               myconf="${myconf} --with-wcslib-include=${EPREFIX}/usr/include"
+               myconf="${myconf} --with-wcslib-lib=${EPREFIX}/usr/$(get_libdir)"
+       else
+               myconf="${myconf} --with-wcslib-include=no"
+               myconf="${myconf} --with-wcslib-lib=no"
+       fi
+
+       econf ${myconf} || die "econf failed"
+}
+
+src_compile() {
+       emake || die "emake failed"
+       if use doc; then
+               emake docs || die "emake docs failed"
+       fi
+       python_copy_sources python
+       compilation() {
+       emake \
+               PYTHON_INCLUDES="$(python_get_includedir)" \
+               PYTHON_SITE_PACKAGES="$(python_get_sitedir)" \
+               NUMARRAY_INCLUDE="$(python_get_sitedir)/numpy/core/include" \
+               PY_INCLUDE="$(python_get_includedir)"
+       }
+       python_execute_function -s --source-dir python compilation
+}
+
+src_install() {
+       emake DESTDIR="${D}" install || die "emake install failed"
+       installation() {
+               emake DESTDIR="${D}" \
+               PYTHON_SITE_PACKAGES="$(python_get_sitedir)" \
+               docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
+               exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
+               install
+       }
+       python_execute_function -s --source-dir python installation
+       python_clean_installation_image
+
+       dosym ../${MY_PN}/hippoApp.png /usr/share/pixmaps/hippoApp.png
+       make_desktop_entry hippodraw HippoDraw hippoApp
+       if use examples; then
+               insinto /usr/share/doc/${PF}/testsuite
+               doins testsuite/*.py || die "examples install failed"
+               insinto /usr/share/doc/${PF}/examples
+               doins examples/*.{fits,tnt,data,baddata}* || die
+       else
+               # these are automatically installed
+               rm -rf "${D}"usr/share/doc/${PF}/examples || die
+       fi
+}
+
+pkg_postinst() {
+       python_mod_optimize ${MY_PN}
+}
+
+pkg_postrm() {
+       python_mod_cleanup ${MY_PN}
+}