# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sci-visualization/gnuplot/gnuplot-4.6.1.ebuild,v 1.14 2013/03/02 23:27:51 hwoarang Exp $ EAPI=4 inherit elisp-common flag-o-matic multilib readme.gentoo toolchain-funcs wxwidgets DESCRIPTION="Command-line driven interactive plotting program" HOMEPAGE="http://www.gnuplot.info/" if [[ -z ${PV%%*9999} ]]; then inherit autotools cvs ECVS_SERVER="gnuplot.cvs.sourceforge.net:/cvsroot/gnuplot" ECVS_MODULE="gnuplot" ECVS_BRANCH="branch-4-6-stable" ECVS_USER="anonymous" ECVS_CVS_OPTIONS="-dP" MY_P="${PN}" SRC_URI="" else MY_P="${P/_/.}" SRC_URI="mirror://sourceforge/gnuplot/${MY_P}.tar.gz" fi LICENSE="gnuplot GPL-2 bitmap? ( free-noncomm )" SLOT="0" KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 s390 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" IUSE="bitmap cairo doc emacs examples +gd ggi latex lua plotutils qt4 readline svga thin-splines wxwidgets X xemacs" RDEPEND=" cairo? ( x11-libs/cairo x11-libs/pango ) emacs? ( virtual/emacs ) gd? ( media-libs/gd[png] ) ggi? ( media-libs/libggi ) latex? ( virtual/latex-base lua? ( dev-tex/pgf >=dev-texlive/texlive-latexrecommended-2008-r2 ) ) lua? ( dev-lang/lua ) plotutils? ( media-libs/plotutils ) qt4? ( >=dev-qt/qtcore-4.5:4 >=dev-qt/qtgui-4.5:4 >=dev-qt/qtsvg-4.5:4 ) readline? ( sys-libs/readline ) svga? ( media-libs/svgalib ) wxwidgets? ( x11-libs/wxGTK:2.8[X] x11-libs/cairo x11-libs/pango x11-libs/gtk+:2 ) X? ( x11-libs/libXaw ) xemacs? ( app-editors/xemacs app-xemacs/xemacs-base )" DEPEND="${RDEPEND} virtual/pkgconfig doc? ( virtual/latex-base dev-texlive/texlive-latexextra app-text/ghostscript-gpl ) !emacs? ( xemacs? ( app-xemacs/texinfo ) )" if [[ -z ${PV%%*9999} ]]; then # The live ebuild always needs an Emacs for building of gnuplot.texi DEPEND="${DEPEND} !emacs? ( !xemacs? ( || ( virtual/emacs app-xemacs/texinfo ) ) )" fi S="${WORKDIR}/${MY_P}" GP_VERSION="${PV%.*}" E_SITEFILE="50${PN}-gentoo.el" TEXMF="${EPREFIX}/usr/share/texmf-site" src_prepare() { if [[ -z ${PV%%*9999} ]]; then local dir for dir in config demo m4 term tutorial; do emake -C "$dir" -f Makefile.am.in Makefile.am done eautoreconf fi # Add special version identification as required by provision 2 # of the gnuplot license sed -i -e "1s/.*/& (Gentoo revision ${PR})/" PATCHLEVEL || die # hacky workaround # Please hack the buildsystem if you like if use prefix && use qt4; then append-ldflags -Wl,-rpath,"${EPREFIX}"/usr/$(get_libdir)/qt4 fi DOC_CONTENTS="Gnuplot no longer links against pdflib, see the ChangeLog for details. You can use the \"pdfcairo\" terminal for PDF output." use cairo || DOC_CONTENTS+=" It is available with USE=\"cairo\"." use svga && DOC_CONTENTS+=" In order to enable ordinary users to use SVGA console graphics gnuplot needs to be set up as setuid root. Please note that this is usually considered to be a security hazard. As root, manually \"chmod u+s /usr/bin/gnuplot\"." use gd && DOC_CONTENTS+=" For font support in png/jpeg/gif output, you may have to set the GDFONTPATH and GNUPLOT_DEFAULT_GDFONT environment variables. See the FAQ file in /usr/share/doc/${PF}/ for more information." } src_configure() { if ! use latex; then sed -i -e '/SUBDIRS/s/LaTeX//' share/Makefile.in || die fi if use wxwidgets; then WX_GTK_VER="2.8" need-wxwidgets unicode fi tc-export CC CXX #453174 local myconf myconf="${myconf} --without-lisp-files" myconf="${myconf} --without-pdf" myconf="${myconf} --enable-stats" #extra command save to be enabled myconf="${myconf} --with-texdir=${TEXMF}/tex/latex/${PN}" myconf="${myconf} $(use_with bitmap bitmap-terminals)" myconf="${myconf} $(use_with cairo)" myconf="${myconf} $(use_with doc tutorial)" myconf="${myconf} $(use_with gd)" myconf="${myconf} $(use_with ggi ggi ${EPREFIX}/usr/$(get_libdir))" myconf="${myconf} $(use_with ggi xmi ${EPREFIX}/usr/$(get_libdir))" myconf="${myconf} $(use_with lua)" myconf="${myconf} $(use_with plotutils plot "${EPREFIX}"/usr/$(get_libdir))" myconf="${myconf} $(use_with svga linux-vga)" myconf="${myconf} $(use_enable thin-splines)" myconf="${myconf} $(use_enable wxwidgets)" myconf="${myconf} $(use_with X x)" myconf="${myconf} $(use_enable qt4 qt)" use readline \ && myconf="${myconf} --with-readline=gnu" \ || myconf="${myconf} --with-readline=builtin" local emacs=$(usev emacs || usev xemacs || echo no) if [[ -z ${PV%%*9999} && ${emacs} = no ]]; then # Live ebuild needs an Emacs to build gnuplot.texi if has_version virtual/emacs; then emacs=emacs elif has_version app-xemacs/texinfo; then emacs=xemacs; fi fi econf ${myconf} \ DIST_CONTACT="http://bugs.gentoo.org/" \ EMACS=${emacs} if use xemacs; then einfo "Configuring gnuplot-mode for XEmacs ..." use emacs && cp -Rp lisp lisp-xemacs || ln -s lisp lisp-xemacs cd "${S}/lisp-xemacs" econf --with-lispdir="${EPREFIX}/usr/lib/xemacs/site-packages/${PN}" EMACS=xemacs fi if use emacs; then einfo "Configuring gnuplot-mode for GNU Emacs ..." cd "${S}/lisp" econf --with-lispdir="${EPREFIX}${SITELISP}/${PN}" EMACS=emacs fi } src_compile() { # Prevent access violations, see bug 201871 VARTEXFONTS="${T}/fonts" # We believe that the following line is no longer needed. # In case of problems file a bug report at bugs.gentoo.org. #addwrite /dev/svga:/dev/mouse:/dev/tts/0 emake all info if use xemacs; then cd "${S}/lisp-xemacs" emake fi if use emacs; then cd "${S}/lisp" emake fi if use doc; then # Avoid sandbox violation in epstopdf/ghostscript addpredict /var/cache/fontconfig cd "${S}/docs" emake pdf cd "${S}/tutorial" emake pdf if use emacs || use xemacs; then cd "${S}/lisp" emake pdf fi fi } src_install () { emake -j1 DESTDIR="${D}" install if use xemacs; then cd "${S}/lisp-xemacs" emake DESTDIR="${D}" install fi if use emacs; then cd "${S}/lisp" emake DESTDIR="${D}" install # info-look* is included with >=emacs-21 rm -f "${ED}${SITELISP}/${PN}"/info-look* # Gentoo emacs site-lisp configuration echo "(add-to-list 'load-path \"@SITELISP@\")" > ${E_SITEFILE} sed '/^;; move/,+3 d' dotemacs >> ${E_SITEFILE} || die elisp-site-file-install ${E_SITEFILE} || die fi cd "${S}" dodoc BUGS ChangeLog NEWS PGPKEYS PORTING README* newdoc term/PostScript/README README-ps newdoc term/js/README README-js use lua && newdoc term/lua/README README-lua if use examples; then # Demo files insinto /usr/share/${PN}/${GP_VERSION} doins -r demo rm -f "${ED}"/usr/share/${PN}/${GP_VERSION}/demo/Makefile* rm -f "${ED}"/usr/share/${PN}/${GP_VERSION}/demo/binary* fi if use doc; then # Manual dodoc docs/gnuplot.pdf # Tutorial dodoc tutorial/{tutorial.dvi,tutorial.pdf} # FAQ dodoc FAQ.pdf # Documentation for making PostScript files docinto psdoc dodoc docs/psdoc/{*.doc,*.tex,*.ps,*.gpi,README} fi if use emacs || use xemacs; then docinto emacs dodoc lisp/ChangeLog lisp/README use doc && dodoc lisp/gpelcard.pdf fi readme.gentoo_create_doc } src_test() { GNUTERM="unknown" default_src_test } pkg_postinst() { use emacs && elisp-site-regen use latex && texmf-update readme.gentoo_print_elog } pkg_postrm() { use emacs && elisp-site-regen use latex && texmf-update }