summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-visualization/qtiplot/qtiplot-0.9.8.9-r2.ebuild')
-rw-r--r--sci-visualization/qtiplot/qtiplot-0.9.8.9-r2.ebuild240
1 files changed, 240 insertions, 0 deletions
diff --git a/sci-visualization/qtiplot/qtiplot-0.9.8.9-r2.ebuild b/sci-visualization/qtiplot/qtiplot-0.9.8.9-r2.ebuild
new file mode 100644
index 000000000000..c2f255af2a36
--- /dev/null
+++ b/sci-visualization/qtiplot/qtiplot-0.9.8.9-r2.ebuild
@@ -0,0 +1,240 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils qt4-r2 fdo-mime python-single-r1 toolchain-funcs
+
+DESCRIPTION="Qt based clone of the Origin plotting package"
+HOMEPAGE="http://soft.proindependent.com/qtiplot.html
+ http://www.staff.science.uu.nl/~zeven101/qtiplot.html"
+SRC_URI="
+ http://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.bz2
+ http://dev.gentoo.org/~dilfridge/distfiles/${P}-origin.patch.bz2"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="bindist doc mono latex python"
+
+LANGS="cn cz de es fr ja ro ru sv"
+for l in ${LANGS}; do
+ lu=${l/cz/cs}
+ lu=${lu/cn/zh_CN}
+ IUSE="${IUSE} linguas_${lu}"
+done
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# qwtplot3d much modified from original upstream
+# >=x11-libs/qwt-5.3 they are using trunk checkouts
+CDEPEND="
+ media-libs/libemf
+ dev-qt/qthelp:4
+ dev-qt/qtgui:4
+ dev-qt/qtopengl:4
+ dev-qt/qt3support:4
+ dev-qt/qthelp:4[compat]
+ dev-qt/qtsvg:4
+ >=x11-libs/gl2ps-1.3.5[png]
+ >=dev-cpp/muParser-1.32
+ >=dev-libs/boost-1.35.0:=
+ dev-libs/quazip
+ media-libs/libpng:=
+ sci-libs/alglib
+ sci-libs/gsl
+ sci-libs/tamu_anova
+ latex? ( dev-tex/qtexengine )
+ mono? ( dev-dotnet/libgdiplus )
+ python? ( ${PYTHON_DEPS} )"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig
+ python? ( >=dev-python/sip-4.9[${PYTHON_USEDEP}] )
+ doc? (
+ >=app-text/docbook-sgml-utils-0.6.14-r1
+ >=app-text/docbook-xml-dtd-4.4-r2:4.4 )"
+
+RDEPEND="${CDEPEND}
+ python? ( dev-python/PyQt4[X,${PYTHON_USEDEP}] )"
+
+PATCHES=(
+ "${DISTDIR}"/${P}-origin.patch.bz2
+ "${FILESDIR}"/${P}-origin-2.patch
+ "${FILESDIR}"/${P}-qt48.patch
+ "${FILESDIR}"/${PN}-0.9.8.8-system-gl2ps.patch
+ "${FILESDIR}"/${PN}-0.9.7.10-dont-install-qwt.patch
+ "${FILESDIR}"/${PN}-0.9.8.6-gold.patch
+ "${FILESDIR}"/${PN}-0.9.8.7-kde.patch
+ "${FILESDIR}"/${P}-set_col_values.patch
+ "${FILESDIR}"/${P}-adopt_to_alglib3.patch
+ "${FILESDIR}"/${P}-crasher_without_internet.patch
+ "${FILESDIR}"/${P}-private.patch
+ "${FILESDIR}"/${P}-sip-4.15.patch
+ "${FILESDIR}"/${P}-PyQt4-4.10.patch
+ )
+
+RESTRICT="!bindist? ( bindist )"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ local mylibs
+
+ qt4-r2_src_prepare
+
+ rm -rf 3rdparty/{liborigin,QTeXEngine,/qwtplot3d/3rdparty/gl2ps/,boost,alglib} || die
+ sed \
+ -e "s:dll:static:g" \
+ -e "/INSTALLS/d" \
+ -i 3rdparty/qwtplot3d/*.pro
+
+ mylibs="${mylibs} -lquazip"
+ use mono && mylibs="${mylibs} $($(tc-getPKG_CONFIG) --libs libgdiplus)"
+
+ # Check build.conf for changes on bump.
+ cat > build.conf <<-EOF
+ # Automatically generated by Gentoo ebuild
+ isEmpty( QTI_ROOT ) {
+ message( "each file including this config needs to set QTI_ROOT to the dir containing this file!" )
+ }
+
+ MUPARSER_LIBS = $($(tc-getPKG_CONFIG) --libs muparser)
+ GSL_LIBS = $($(tc-getPKG_CONFIG) --libs gsl)
+ QWT_INCLUDEPATH = \$\$QTI_ROOT/3rdparty/qwt/src
+ QWT_LIBS = \$\$QTI_ROOT/3rdparty/qwt/lib/libqwt.a
+ QWT3D_INCLUDEPATH = \$\$QTI_ROOT/3rdparty/qwtplot3d/include
+ QWT3D_LIBS = \$\$QTI_ROOT/3rdparty/qwtplot3d/lib/libqwtplot3d.a
+ EMF_INCLUDEPATH = "${EPREFIX}/usr/include/libEMF
+ SYS_LIBS = -lgl2ps ${mylibs} -lGLU
+
+ LUPDATE = lupdate
+ LRELEASE = lrelease
+
+ SCRIPTING_LANGS += muParser
+
+ CONFIG += release
+ CONFIG += CustomInstall
+ DEFINES += SCRIPTING_CONSOLE
+
+ LIBPNG_LIBS = $($(tc-getPKG_CONFIG) --libs libpng)
+ TAMUANOVA_LIBS = -ltamuanova
+ TAMUANOVA_INCLUDEPATH = "${EPREFIX}/usr/include/tamu_anova"
+ ALGLIB_LIBS = -lalglib
+
+ EOF
+
+ use bindist && echo "DEFINES += QTIPLOT_SUPPORT" >> build.conf
+ use bindist || echo "DEFINES += QTIPLOT_PRO" >> build.conf
+ use python && echo "SCRIPTING_LANGS += Python" >> build.conf
+ use python && echo "PYTHON = ${EPYTHON}" >> build.conf
+ use latex && echo "TEX_ENGINE_LIBS = -lQTeXEngine" >> build.conf
+
+ sed \
+ -e "s:doc/${PN}/manual:doc/${PN}/html:" \
+ -e '/INSTALLS.*documentation/d' \
+ -e '/INSTALLS.*manual/d' \
+ -e "/INSTALLBASE/s: /usr: ${EPREFIX}/usr:g" \
+ -e 's:/usr/local/qtiplot:$$INSTALLBASE:g' \
+ -i qtiplot/qtiplot.pro || die
+
+ if use python; then
+ sed \
+ -e "s:/usr/local/${PN}:${EPREFIX}$(python_get_sitedir)/qtiplot:" \
+ -i qtiplot/qtiplot.pro || die
+ fi
+
+ sed \
+ -e "/^target.path/s:/usr:${EPREFIX}/usr:g" \
+ -i fitPlugins/*/*.pro || die
+
+ sed -e '/manual/d' -i qtiplot.pro || die
+
+ sed -e "s:QTIPLOT_PRO:QTIPLOT_PROFESSIONAL:g" -i qtiplot/src/core/main.cpp || die
+
+ # Drop langs only if LINGUAS is not empty
+ if [[ -n ${LINGUAS} ]]; then
+ for l in ${LANGS}; do
+ lu=${l/cz/cs}
+ lu=${lu/cn/zh_CN}
+ use linguas_${lu} || \
+ sed -e "s:translations/qtiplot_${l}.[tq][sm]::" \
+ -i qtiplot/qtiplot.pro || die
+ done
+ fi
+
+ sed \
+ -e "s:d_python_config_folder + \":\"${EPREFIX}/usr/share/qtiplot:g" \
+ -i qtiplot/src/core/ApplicationWindow.cpp || die
+
+ chmod -x qtiplot/qti_wordlist.txt
+
+ # sed out debian paths
+ sed -e 's:\(/usr/share/sgml/\)docbook/stylesheet/dsssl/modular\(/html/docbook.dsl\):\1stylesheets/dsssl/docbook\2:' \
+ -i manual/qtiplot.dsl || die
+ sed -e 's:\(/usr/share/\)xml/docbook/stylesheet/nwalsh\(/html/chunk.xsl\):\1sgml/docbook/xsl-stylesheets\2:' \
+ -i manual/qtiplot_html.xsl || die
+
+ sed \
+ -e '1i#define OF(x) x' \
+ -i 3rdparty/zlib/minigzip.c || die
+}
+
+src_configure() {
+ use amd64 && export QMAKESPEC="linux-g++-64"
+ eqmake4
+}
+
+src_compile() {
+ emake
+ lrelease qtiplot/qtiplot.pro || die
+ if use doc; then
+ cd manual
+ emake web
+ fi
+}
+
+src_install() {
+ qt4-r2_src_install
+
+ insinto /usr/share/qtiplot
+ doins qtiplot/qti_wordlist.txt
+
+ newicon qtiplot_logo.png qtiplot.png
+ make_desktop_entry qtiplot "QtiPlot Scientific Plotting" qtiplot
+
+ use doc && dohtml -r manual/html/*
+
+ use python && python_optimize
+
+ if [[ -n ${LINGUAS} ]]; then
+ insinto /usr/share/${PN}/translations
+ for l in ${LANGS}; do
+ lu=${l/cz/cs}
+ lu=${lu/cn/zh_CN}
+ use linguas_${lu} && \
+ doins qtiplot/translations/qtiplot_${l}.qm
+ done
+ fi
+}
+
+pkg_postinst() {
+ if use python; then
+ elog "You might want to emerge"
+ elog "\t dev-python/pygsl"
+ elog "\t dev-python/rpy"
+ elog "\t sci-libs/scipy and"
+ elog "\t dev-python/sympy"
+ elog "to gain full python support."
+ fi
+
+ fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}