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.
153 lines
3.8 KiB
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"
|
|
}
|