137 lines
3.1 KiB
Bash
137 lines
3.1 KiB
Bash
# Copyright 1999-2017 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=6
|
|
PYTHON_COMPAT=( python2_7 )
|
|
|
|
inherit eutils python-single-r1 qmake-utils
|
|
|
|
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[qt4(-)]
|
|
"
|
|
RDEPEND="${DEPEND}
|
|
dev-util/astyle
|
|
dev-util/bcpp
|
|
dev-util/indent
|
|
html? (
|
|
app-text/htmltidy
|
|
perl? ( dev-lang/perl )
|
|
)
|
|
perl? ( dev-perl/Perl-Tidy )
|
|
php? ( dev-php/PEAR-PHP_Beautifier )
|
|
python? ( ${PYTHON_DEPS} )
|
|
ruby? ( dev-lang/ruby )
|
|
xml? ( dev-util/xmlindent )
|
|
"
|
|
|
|
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
|
|
|
pkg_setup() {
|
|
use python && python-single-r1_pkg_setup
|
|
}
|
|
|
|
src_prepare() {
|
|
default
|
|
|
|
# correct translation binaries
|
|
sed -e "s|lupdate-qt4|$(qt4_get_bindir)/lupdate|" \
|
|
-e "s|lrelease-qt4|$(qt4_get_bindir)/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_fix_shebang .
|
|
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} || die
|
|
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"
|
|
}
|
|
|
|
src_configure() {
|
|
eqmake4 UniversalIndentGUI.pro
|
|
}
|
|
|
|
src_install() {
|
|
emake install INSTALL_ROOT="${D}"
|
|
dodoc CHANGELOG.txt readme.html
|
|
|
|
doman doc/${PN}.1.gz
|
|
|
|
if use examples; then
|
|
docinto examples
|
|
local I
|
|
for I in ${UEXAMPLES}; do
|
|
dodoc indenters/example.${I}
|
|
done
|
|
fi
|
|
|
|
newicon resources/universalIndentGUI_512x512.png ${PN}.png
|
|
make_desktop_entry ${PN} UniversalIndentGUI ${PN} "Qt;Development"
|
|
}
|