# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/dev-util/universalindentgui/universalindentgui-1.1.0-r2.ebuild,v 1.4 2010/05/24 22:03:39 wired Exp $ EAPI="2" inherit eutils qt4-r2 DESCRIPTION="Cross platform compatible GUI for several code formatters, beautifiers and indenters." HOMEPAGE="http://universalindent.sourceforge.net/" SRC_URI="mirror://sourceforge/universalindent/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="debug html perl php python ruby xml" LANGS="de fr ja ru uk zh_TW" for L in $LANGS; do IUSE="$IUSE linguas_$L" done DEPEND="x11-libs/qt-core:4 x11-libs/qt-gui:4 x11-libs/qt-script:4 x11-libs/qscintilla" RDEPEND="${DEPEND} dev-util/indent dev-util/astyle dev-util/bcpp html? ( app-text/htmltidy perl? ( dev-lang/perl ) ) perl? ( dev-perl/perltidy ) php? ( dev-php/PEAR-PHP_Beautifier ) python? ( dev-lang/python ) ruby? ( dev-lang/ruby ) xml? ( dev-util/xmlindent ) " src_prepare() { # .pro fixes sed -i "s:lupdate-qt4:lupdate:" UniversalIndentGUI.pro || die ".pro fix failed" sed -i "s:lrelease-qt4:lrelease:" UniversalIndentGUI.pro || die ".pro fix failed" sed -i "s:ja_jp.qm:ja_JP.qm:" UniversalIndentGUI.pro || die ".pro lang fix failed" if use debug; then sed -i "s:release,:debug,:g" UniversalIndentGUI.pro || die ".pro debug fix failed" fi # patch .pro file according to our use flags # basic support UEXAMPLES="cpp sh" UINDENTERS="shellindent.awk" UIGUIFILES="shellindent gnuindent bcpp astyle" if use html; then UEXAMPLES="${UEXAMPLES} html" UIGUIFILES="${UIGUIFILES} tidy" if use perl; then UINDENTERS="${UINDENTERS} hindent" UIGUIFILES="${UIGUIFILES} hindent" fi fi if use perl; then UEXAMPLES="${UEXAMPLES} pl" UIGUIFILES="${UIGUIFILES} perltidy" fi if use php; then UEXAMPLES="${UEXAMPLES} php" UINDENTERS="${UINDENTERS} phpStylist.php" UIGUIFILES="${UIGUIFILES} php_Beautifier phpStylist" fi if use python; then UEXAMPLES="${UEXAMPLES} py" UINDENTERS="${UINDENTERS} pindent.py" UIGUIFILES="${UIGUIFILES} pindent" fi if use ruby; then UEXAMPLES="${UEXAMPLES} rb" UINDENTERS="${UINDENTERS} rbeautify.rb ruby_formatter.rb" UIGUIFILES="${UIGUIFILES} rbeautify rubyformatter" fi if use xml; then UEXAMPLES="${UEXAMPLES} xml" UIGUIFILES="${UIGUIFILES} xmlindent" fi IFILES="" for I in ${UINDENTERS}; do IFILES="${IFILES} indenters/${I}" chmod +x indenters/${I} done for I in ${UIGUIFILES}; do IFILES="${IFILES} indenters/uigui_${I}.ini" done # apply fixes in .pro file sed -i "/^unix:indenters.files +=/d" UniversalIndentGUI.pro || die ".pro patching failed" sed -i "s:indenters/uigui_\*\.ini:${IFILES}:" UniversalIndentGUI.pro || die ".pro patching failed" for lang in ${LANGS}; do if [[ ! "${LINGUAS}" =~ "${lang}" ]]; then [[ ${lang} == "ja" ]] && lang="ja_JP" sed -i "/_${lang}.ts/d" UniversalIndentGUI.pro || die "failed while disabling $lang" sed -i "/_${lang}.qm/d" UniversalIndentGUI.pro || die "failed while disabling $lang" fi done epatch "${FILESDIR}"/${P}-gcc45.patch } src_configure() { eqmake4 UniversalIndentGUI.pro || die "eqmake4 failed" } src_compile() { emake || die "emake failed" } src_install() { emake INSTALL_ROOT="${D}" install || die "emake install failed" dodoc *.txt || die "doc installation failed" doman doc/"${PN}".1.gz || die "man page installation failed" insinto /usr/share/doc/${PF}/examples for I in ${UEXAMPLES}; do doins indenters/example.${I} done doicon resources/universalIndentGUI.png make_desktop_entry universalindentgui UniversalIndentGUI universalIndentGUI \ "Qt;Development" || die "menu installation failed" }