You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-util/universalindentgui/universalindentgui-1.1.0-r3...

153 lines
3.8 KiB

# 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-r3.ebuild,v 1.1 2010/07/19 19:43:38 wired Exp $
EAPI="2"
PYTHON_DEPEND="python? 2"
inherit eutils qt4-r2 python
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 )
ruby? ( dev-lang/ruby )
xml? ( dev-util/xmlindent )
"
pkg_setup() {
use python && python_set_active_version 2
}
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"
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
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
# bug #325811
epatch "${FILESDIR}"/"${P}"-astyle_pwd_fix.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"
}