diff options
Diffstat (limited to 'sci-visualization/hippodraw')
6 files changed, 276 insertions, 7 deletions
diff --git a/sci-visualization/hippodraw/ChangeLog b/sci-visualization/hippodraw/ChangeLog index 1578b6244bfc..4452492bffe8 100644 --- a/sci-visualization/hippodraw/ChangeLog +++ b/sci-visualization/hippodraw/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for sci-visualization/hippodraw # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-visualization/hippodraw/ChangeLog,v 1.5 2008/07/08 01:31:12 markusle Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-visualization/hippodraw/ChangeLog,v 1.6 2008/07/17 17:15:14 bicatali Exp $ + +*hippodraw-1.21.3-r1 (17 Jul 2008) + + 17 Jul 2008; Sébastien Fabbro <bicatali@gentoo.org> + files/hippodraw-1.21.3-gcc4.3.patch, + +files/hippodraw-1.21.3-minuit2.patch, + +files/hippodraw-1.21.3-wcslib.patch, metadata.xml, + +hippodraw-1.21.3-r1.ebuild: + Revision to add WCS support, added qt4 support, fixed some configure + options to avoid automagics, and various sed fixes. Also added use local + flag in metadata.xml 08 Jul 2008; Markus Dittrich <markusle@gentoo.org> +files/hippodraw-1.21.3-test-fix.patch, hippodraw-1.21.3.ebuild: diff --git a/sci-visualization/hippodraw/files/hippodraw-1.21.3-gcc4.3.patch b/sci-visualization/hippodraw/files/hippodraw-1.21.3-gcc4.3.patch index f57c994841c8..647148d9365a 100644 --- a/sci-visualization/hippodraw/files/hippodraw-1.21.3-gcc4.3.patch +++ b/sci-visualization/hippodraw/files/hippodraw-1.21.3-gcc4.3.patch @@ -199,3 +199,13 @@ diff -Naur HippoDraw-1.21.3/qt/QtViewImp.cxx HippoDraw-1.21.3.new/qt/QtViewImp.c using namespace hippodraw; +--- HippoDraw-1.21.3/transforms/PeriodicBinaryTransform.cxx 2008-07-15 22:48:51.000000000 +0100 ++++ HippoDraw-1.21.3/transforms/PeriodicBinaryTransform.cxx 2008-07-15 22:49:25.000000000 +0100 +@@ -32,6 +32,7 @@ + #include <stdexcept> + #include <sstream> + #include <cassert> ++#include <cstring> + + using namespace hippodraw; + diff --git a/sci-visualization/hippodraw/files/hippodraw-1.21.3-minuit2.patch b/sci-visualization/hippodraw/files/hippodraw-1.21.3-minuit2.patch new file mode 100644 index 000000000000..8713b2ea46a6 --- /dev/null +++ b/sci-visualization/hippodraw/files/hippodraw-1.21.3-minuit2.patch @@ -0,0 +1,45 @@ +--- config/m4/pfkeb_have_minuit2.m4.orig 2008-07-15 18:39:21.000000000 +0100 ++++ config/m4/pfkeb_have_minuit2.m4 2008-07-15 18:40:47.000000000 +0100 +@@ -44,7 +44,7 @@ + [pfk_minuit2_include="/usr/local/include"]) + + AC_ARG_WITH([minuit2-lib], +- [ --with-minuit2-lib=DIR Minuit2 libMinuit2Base.so file is in DIR ++ [ --with-minuit2-lib=DIR Minuit2 libMinuit2.so file is in DIR + (default:/usr/local/lib:/usr/lib)], + [pfk_minuit2_lib=$with_minuit2_lib], + [pfk_minuit2_lib="/usr/local/lib"]) +@@ -54,9 +54,9 @@ + else + MINUIT2_CXXFLAGS="-I$pfk_minuit2_include" + if test x$enable_rpath = xno; then +- MINUIT2_LDFLAGS="-L$pfk_minuit2_lib -lMinuit2Base" ++ MINUIT2_LDFLAGS="-L$pfk_minuit2_lib -lMinuit2" + else +- MINUIT2_LDFLAGS="-L$pfk_minuit2_lib -lMinuit2Base -R$pfk_minuit2_lib" ++ MINUIT2_LDFLAGS="-L$pfk_minuit2_lib -lMinuit2 -R$pfk_minuit2_lib" + fi + AC_MSG_NOTICE([checking Minuit2 install with + MINUIT2_CXXFLAGS=$MINUIT2_CXXFLAGS +@@ -65,18 +65,18 @@ + PFK_SHARED_SUFFIX + no_good=no + AC_CHECK_FILE($pfk_minuit2_include/Minuit2/FCNBase.h,, no_good=yes ) +- AC_CHECK_FILE($pfk_minuit2_lib/libMinuit2Base.$pfk_so,, no_good=yes ) ++ AC_CHECK_FILE($pfk_minuit2_lib/libMinuit2.$pfk_so,, no_good=yes ) + + if test x$no_good = xyes; then + MINUIT2_CXXFLAGS="-I/usr/include" +- MINUIT2_LDFLAGS="-L/usr/lib -lMinuit2Base" ++ MINUIT2_LDFLAGS="-L/usr/lib -lMinuit2" + AC_MSG_NOTICE([checking Minuit2 install with + MINUIT2_CXXFLAGS=$MINUIT2_CXXFLAGS + MINUIT2_LDFLAGS=$MINUIT2_LDFLAGS]) + + no_good=no + AC_CHECK_FILE(/usr/include/Minuit2/FCNBase.h,, no_good=yes ) +- AC_CHECK_FILE(/usr/lib/libMinuit2Base.$pfk_so,, no_good=yes ) ++ AC_CHECK_FILE(/usr/lib/libMinuit2.$pfk_so,, no_good=yes ) + if test x$no_good = xyes; then + have_minuit2=no + else diff --git a/sci-visualization/hippodraw/files/hippodraw-1.21.3-wcslib.patch b/sci-visualization/hippodraw/files/hippodraw-1.21.3-wcslib.patch new file mode 100644 index 000000000000..6e1d9af082ce --- /dev/null +++ b/sci-visualization/hippodraw/files/hippodraw-1.21.3-wcslib.patch @@ -0,0 +1,31 @@ +--- qt/CanvasView.cxx.orig 2007-07-02 19:17:16.000000000 +0100 ++++ qt/CanvasView.cxx 2008-07-15 23:20:57.000000000 +0100 +@@ -67,9 +67,7 @@ + #undef PACKAGE_TARNAME + #undef PACKAGE_VERSION + #ifdef _WIN32 +-#include "wcslib/C/config.h" + #else +-#include "wcslib/config.h" + #endif + #endif + +@@ -2850,7 +2848,6 @@ + + #ifdef HAVE_WCSLIB + about += "<li> WCSlib "; +- about += PACKAGE_VERSION; + #endif + about += "</ul>"; + +--- config/m4/pfkeb_have_wcslib.m4.orig 2008-07-16 16:11:34.000000000 +0100 ++++ config/m4/pfkeb_have_wcslib.m4 2008-07-16 16:11:50.000000000 +0100 +@@ -61,7 +61,7 @@ + pfk_save_libs=$LIBS + LDFLAGS=$WCSLIB_LDFLAGS + AC_CHECK_FILE($pfk_wcslib_include/wcslib/wcs.h,, no_good=yes ) +- AC_CHECK_LIB(wcs, wcsset, no_good=no, no_good=yes ) ++ AC_CHECK_LIB(wcs, wcsset, , no_good=yes ) + LDFLAGS=$pfk_save_ldflags + # do not want -lwcs in LIBS + LIBS=$pfk_save_libs diff --git a/sci-visualization/hippodraw/hippodraw-1.21.3-r1.ebuild b/sci-visualization/hippodraw/hippodraw-1.21.3-r1.ebuild new file mode 100644 index 000000000000..1751b232c871 --- /dev/null +++ b/sci-visualization/hippodraw/hippodraw-1.21.3-r1.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2008 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-r1.ebuild,v 1.1 2008/07/17 17:15:14 bicatali Exp $ + +EAPI=1 + +inherit eutils autotools multilib qt3 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 qt4 root wcs" + +CDEPEND="dev-libs/boost + virtual/latex-base + media-libs/netpbm + fits? ( sci-libs/cfitsio ) + numpy? ( dev-python/numpy ) + qt4? ( || ( >=x11-libs/qt-4.2:4 + ( x11-libs/qt-gui:4 x11-libs/qt-qt3support:4 ) ) ) + !qt4? ( $(qt_min_version 3.1) ) + 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 ) )" + +S="${WORKDIR}/${MY_PN}-${PV}" + +QT4_BUILT_WITH_USE_CHECK="qt3support" + +pkg_setup() { + # need python threads (see bug #224269) + if ! built_with_use dev-lang/python threads; then + die "hippodraw needs dev-lang/python with USE=\"threads\"" + fi + use qt4 && qt4_pkg_setup +} + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-gcc4.3.patch + epatch "${FILESDIR}"/${P}-numarray.patch + epatch "${FILESDIR}"/${P}-test-fix.patch + epatch "${FILESDIR}"/${P}-minuit2.patch + epatch "${FILESDIR}"/${P}-wcslib.patch + + # fix the install doc directory to gentoo's one + local docdir=/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:' \ + {.,doc,examples,qt}/Makefile.am || die "sed for docdir failed" + + AT_M4DIR=config/m4 eautoreconf +} + +src_compile() { + local myconf=" + --disable-numarraybuild + $(use_enable numpy numpybuild) + $(use_enable doc help)" + # All these longuish conf options are necessary + # or else a huge patch + if use qt4; then + 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=/usr/include/qt4" + myconf="${myconf} --with-qt4-lib=/usr/$(get_libdir)/qt4" + myconf="${myconf} --with-qt4-dir=/usr" + else + myconf="${myconf} --with-Qt-include-dir=/usr/qt/3/include" + myconf="${myconf} --with-Qt-lib-dir=/usr/qt/3/$(get_libdir)" + myconf="${myconf} --with-Qt-bin-dir=/usr/qt/3/bin" + myconf="${myconf} --with-qt4-include=no" + myconf="${myconf} --with-qt4-lib=no" + myconf="${myconf} --with-qt4-dir=no" + fi + + 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=/usr/include" + myconf="${myconf} --with-minuit2-lib=/usr/$(get_libdir)" + myconf="${myconf} --with-root-lib=no" + fi + + if use fits; then + myconf="${myconf} --with-cfitsio-include=/usr/include" + myconf="${myconf} --with-cfitsio-lib=/usr/$(get_libdir)" + else + myconf="${myconf} --with-cfitsio-lib=no" + fi + + if use wcs; then + myconf="${myconf} --with-wcslib-include=/usr/include" + myconf="${myconf} --with-wcslib-lib=/usr/$(get_libdir)" + else + myconf="${myconf} --with-wcslib-include=no" + myconf="${myconf} --with-wcslib-lib=no" + fi + + econf ${myconf} || die "econf failed" + + emake || die "emake failed" + if use doc; then + emake docs || die "emake docs failed" + fi +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + 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}* + else + # these are automatically installed + rm -rf "${D}"usr/share/doc/${PF}/examples || die + fi +} diff --git a/sci-visualization/hippodraw/metadata.xml b/sci-visualization/hippodraw/metadata.xml index cc4b9a869ff4..8976f69d4d3b 100644 --- a/sci-visualization/hippodraw/metadata.xml +++ b/sci-visualization/hippodraw/metadata.xml @@ -3,11 +3,42 @@ <pkgmetadata> <herd>sci</herd> <longdescription lang="en"> -HippoDraw provides a highly interactive data analysis environment. It -is written in C++ with the Qt library. HippoDraw can be used as a -stand-alone application or a Python extension module. In the latter -case, Python is effectively the scripting language for HippoDraw. It -was made for high energy astrophysics, but it is not specific. It -contains good support for histograms and fitting. + HippoDraw provides a highly interactive data analysis environment. It + is written in C++ with the Qt library. HippoDraw can be used as a + stand-alone application or a Python extension module. In the latter + case, Python is effectively the scripting language for HippoDraw. It + was made for high energy astrophysics, but it is not specific. It + contains good support for histograms and fitting. </longdescription> +<use> + <flag name="fits"> + Enable HippoDraw's built-in support for reading FITS files, + by using the CFITSIO library. FITS binary and ASCII tables are + supported as well as images. When combine with numpy flag, it can + also use the pyfits package. + </flag> + <flag name="numarray"> + Enable support for the obsolete numerical python array package + numarray. Should not be used, since it's being deprecated. + See bug #, and switch to numpy. + </flag> + <flag name="numpy"> + Enable support for the numerical array manipulation and + computational capabilities of numpy in python. + HippoDraw can return a numerical array to Python from any of the type + of objects that are supported. One can also import data + to a HippoDraw from a numpy array. + </flag> + <flag name="root"> + Adds support for ROOT input/ouput system, storing a table of data + as TBranch objects each with a single TLeaf. Files of this type + can be imported by HippoDraw as a RootNTuple. Also if root flag is + selected, it can use root::minuit for minimization instead of + standalone minuit library. + </flag> + <flag name="wcs"> + Adds 10 built-in transforms to HippoDraw via the World Coordinate + System library for FITS files. + </flag> +</use> </pkgmetadata> |