# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=4 PYTHON_DEPEND="python? 2" LANGS="de fr ja ru uk zh_TW" inherit eutils python qt4-r2 DESCRIPTION="Cross platform 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 examples html perl php python ruby xml" DEPEND="dev-qt/qtcore:4 dev-qt/qtgui:4 dev-qt/qtscript:4 x11-libs/qscintilla " RDEPEND="${DEPEND} dev-util/astyle dev-util/bcpp dev-util/indent html? ( app-text/htmltidy perl? ( dev-lang/perl ) ) perl? ( dev-perl/perltidy ) php? ( dev-php/PEAR-PHP_Beautifier ) ruby? ( dev-lang/ruby ) xml? ( dev-util/xmlindent ) " DOCS="CHANGELOG.txt readme.html" pkg_setup() { if use python; then python_set_active_version 2 python_pkg_setup fi } src_prepare() { # correct translation binaries sed -e "s/lupdate-qt4/lupdate/" \ -e "s/lrelease-qt4/lrelease/" \ -i UniversalIndentGUI.pro || die "sed pro translation binary" if use debug; then sed -i -e 's:release,:debug,:g' UniversalIndentGUI.pro || die fi # patch .pro file according to our use flags # basic support UEXAMPLES="cpp sh" local UINDENTERS="shellindent.awk" local 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" python_convert_shebangs -r 2 . 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 local IFILES= I= 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 -e "/^unix:indenters.files +=/d" UniversalIndentGUI.pro || die ".pro patching failed" sed -i -e "s:indenters/uigui_\*\.ini:${IFILES}:" UniversalIndentGUI.pro || die ".pro patching failed" local lang for lang in ${LANGS}; do if ! use linguas_${lang}; then sed -e "/_${lang}.ts/d" -e "/_${lang}.qm/d" \ -i UniversalIndentGUI.pro || die "failed while disabling ${lang}" fi done qt4-r2_src_prepare } src_install() { qt4-r2_src_install doman doc/${PN}.1.gz if use examples; then insinto /usr/share/doc/${PF}/examples local I for I in ${UEXAMPLES}; do doins indenters/example.${I} done fi newicon resources/universalIndentGUI_512x512.png ${PN} make_desktop_entry ${PN} UniversalIndentGUI ${PN} "Qt;Development" }