144 lines
3.3 KiB
Bash
144 lines
3.3 KiB
Bash
# Copyright 1999-2012 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/dev-util/universalindentgui/universalindentgui-1.2.0.ebuild,v 1.2 2012/04/16 13:27:29 wired Exp $
|
|
|
|
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="x11-libs/qt-core:4
|
|
x11-libs/qt-gui:4
|
|
x11-libs/qt-script: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
|
|
|
|
doicon resources/universalIndentGUI.png
|
|
make_desktop_entry ${PN} UniversalIndentGUI universalIndentGUI "Qt;Development"
|
|
}
|