add ipe-7.1.1's missing ebuild
[shuber-gentoo-overlay.git] / media-gfx / ipe / ipe-7.1.1.ebuild
diff --git a/media-gfx/ipe/ipe-7.1.1.ebuild b/media-gfx/ipe/ipe-7.1.1.ebuild
new file mode 100644 (file)
index 0000000..ef2a927
--- /dev/null
@@ -0,0 +1,95 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+inherit eutils toolchain-funcs qt4-r2
+
+DESCRIPTION="A drawing editor which creates figures for inclusion in LaTeX documents and makes PDF presentations."
+HOMEPAGE="http://ipe7.sourceforge.net/"
+SRC_URI="mirror://sourceforge/ipe7/ipe/${P}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="mirror"
+# highprec: applies patch in order to write coordinates with higher precision
+IUSE="highprec"
+
+DEPEND="
+       app-text/texlive-core
+       >=dev-lang/lua-5.1
+       media-libs/freetype:2
+       sys-libs/zlib
+       >=x11-libs/cairo-1.8.0
+       x11-libs/qt-core:4
+       x11-libs/qt-gui:4
+       "
+
+S=${S}/src
+COMMONDIR=/usr/share/ipe/common
+
+
+search_urw_fonts() {
+       local texmfdist="$(kpsewhich -var-value=TEXMFDIST)"     # colon-separated list of paths
+       local urwdir=fonts/type1/urw    # according to TeX directory structure
+       local IFS="${IFS}:"             # add colon as field separator
+       for dir in ${texmfdist}; do
+               if [[ -d "${dir}/${urwdir}" ]]; then
+                       URWFONTDIR="${dir}/${urwdir}"
+                       return 0
+               fi
+       done
+
+       return 1
+}
+
+src_prepare() {
+       if use highprec; then
+               einfo "Adding patch for higher output precision"
+               epatch "${FILESDIR}"/${PN}-outputprecision.patch
+       fi
+}
+
+pkg_setup() {
+       if search_urw_fonts; then
+               einfo "URW fonts found in ${URWFONTDIR}."
+       else
+               ewarn "Could not find directory containing URW fonts.  Ipe will not"
+               ewarn "function properly without them."
+       fi
+}
+
+src_compile() {
+       # fix detection of lua
+       sed -i -e 's/lua5.1/lua/g' config.mak || die
+       # don't strip installed binaries
+       sed -i -e 's/install -s/install/' common.mak || die
+       # use moc instead of moc-qt4
+       sed -i -e 's/moc-qt4/moc/' config.mak || die
+
+       # -j1, since there are no deps in the Makefiles on libipe
+       emake -j1 CXX=$(tc-getCXX) IPEPREFIX="/usr" \
+               IPEDOCDIR="/usr/share/doc/${PF}" || die "emake failed"
+}
+
+src_install() {
+       emake install IPEPREFIX="/usr" IPEDOCDIR="/usr/share/doc/${PF}" \
+               INSTALL_ROOT="${D}" || die "emake install failed"
+       dodoc ../{news,readme}.txt || die
+
+       # Link style sheets
+       if [ -d $COMMONDIR/styles ]; then
+               einfo "Linking common style sheets from $COMMONDIR"
+               for f in $COMMONDIR/styles/*; do
+                       einfo "  Linking ${f##*/}"
+                       dosym $f usr/share/ipe/${PV}/styles/${f##*/}
+               done
+
+               elog "Style sheets from $COMMONDIR/styles have been symlinked to"
+               elog "the style sheet directory of ${P}. If you add additional"
+               elog "style sheets later to $COMMONDIR/styles you may symlink"
+               elog "them by hand to '/usr/share/ipe/${PV}/styles/'."
+       fi
+}
+