238 lines
6.1 KiB
Bash
238 lines
6.1 KiB
Bash
# 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="
|
|
https://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.bz2
|
|
https://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}
|
|
>=dev-python/PyQt4-4.11.3[X,${PYTHON_USEDEP}]
|
|
)"
|
|
DEPEND="${CDEPEND}
|
|
virtual/pkgconfig
|
|
python? ( >=dev-python/sip-4.16.5[${PYTHON_USEDEP}] )
|
|
doc? (
|
|
>=app-text/docbook-sgml-utils-0.6.14-r1
|
|
>=app-text/docbook-xml-dtd-4.4-r2:4.4 )"
|
|
|
|
RDEPEND="${CDEPEND}"
|
|
|
|
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.11.3.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
|
|
optfeature "Enhanced python support" \
|
|
dev-python/pygsl dev-python/rpy sci-libs/scipy dev-python/sympy
|
|
fi
|
|
|
|
fdo-mime_desktop_database_update
|
|
}
|
|
|
|
pkg_postrm() {
|
|
fdo-mime_desktop_database_update
|
|
}
|