# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI="4" inherit eutils java-pkg-2 java-ant-2 DESCRIPTION="Netbeans IDE" HOMEPAGE="http://netbeans.org/" SLOT="8.0" SOURCE_URL="http://download.netbeans.org/netbeans/8.0.2/final/zip/netbeans-8.0.2-201411181905-src.zip" PATCHES_URL="https://dev.gentoo.org/~fordfrog/distfiles/netbeans-8.0.2-build.xml.patch.bz2" L10N_URL="https://dev.gentoo.org/~fordfrog/distfiles/netbeans-l10n-8.0.1-20141110.tar.bz2" ALL_URLS="${SOURCE_URL} ${PATCHES_URL} ${L10N_URL}" SRC_URI="l10n_af? ( ${ALL_URLS} ) l10n_ar? ( ${ALL_URLS} ) l10n_bg? ( ${ALL_URLS} ) l10n_ca? ( ${ALL_URLS} ) l10n_cs? ( ${ALL_URLS} ) l10n_de? ( ${ALL_URLS} ) l10n_el? ( ${ALL_URLS} ) l10n_es? ( ${ALL_URLS} ) l10n_fil? ( ${ALL_URLS} ) l10n_fr? ( ${ALL_URLS} ) l10n_gl? ( ${ALL_URLS} ) l10n_hi? ( ${ALL_URLS} ) l10n_id? ( ${ALL_URLS} ) l10n_it? ( ${ALL_URLS} ) l10n_ja? ( ${ALL_URLS} ) l10n_ko? ( ${ALL_URLS} ) l10n_lt? ( ${ALL_URLS} ) l10n_nl? ( ${ALL_URLS} ) l10n_pl? ( ${ALL_URLS} ) l10n_pt-BR? ( ${ALL_URLS} ) l10n_pt-PT? ( ${ALL_URLS} ) l10n_ro? ( ${ALL_URLS} ) l10n_ru? ( ${ALL_URLS} ) l10n_si? ( ${ALL_URLS} ) l10n_sq? ( ${ALL_URLS} ) l10n_sr? ( ${ALL_URLS} ) l10n_sv? ( ${ALL_URLS} ) l10n_ta? ( ${ALL_URLS} ) l10n_tr? ( ${ALL_URLS} ) l10n_vi? ( ${ALL_URLS} ) l10n_zh-CN? ( ${ALL_URLS} ) l10n_zh-TW? ( ${ALL_URLS} ) " LICENSE="|| ( CDDL GPL-2-with-linking-exception )" KEYWORDS="amd64 x86" IUSE_NETBEANS_MODULES=" +netbeans_modules_apisupport netbeans_modules_cnd netbeans_modules_dlight netbeans_modules_enterprise netbeans_modules_ergonomics netbeans_modules_extide netbeans_modules_groovy +netbeans_modules_java netbeans_modules_javacard +netbeans_modules_javafx netbeans_modules_mobility netbeans_modules_php +netbeans_modules_profiler netbeans_modules_webcommon +netbeans_modules_websvccommon" IUSE_L10N=" l10n_af l10n_ar l10n_bg l10n_ca l10n_cs l10n_de l10n_el l10n_es l10n_fil l10n_fr l10n_gl l10n_hi l10n_id l10n_it l10n_ja l10n_ko l10n_lt l10n_nl l10n_pl l10n_pt-BR l10n_pt-PT l10n_ro l10n_ru l10n_si l10n_sq l10n_sr l10n_sv l10n_ta l10n_tr l10n_vi l10n_zh-CN l10n_zh-TW" IUSE="doc ${IUSE_NETBEANS_MODULES} ${IUSE_L10N}" S="${WORKDIR}" DEPEND="virtual/jdk:1.7 dev-java/javahelp:0" RDEPEND=">=virtual/jdk-1.7 ~dev-java/netbeans-harness-${PV} ~dev-java/netbeans-ide-${PV} ~dev-java/netbeans-nb-${PV} ~dev-java/netbeans-platform-${PV} netbeans_modules_apisupport? ( ~dev-java/netbeans-apisupport-${PV} ) netbeans_modules_cnd? ( ~dev-java/netbeans-cnd-${PV} ) netbeans_modules_dlight? ( ~dev-java/netbeans-dlight-${PV} ) netbeans_modules_enterprise? ( ~dev-java/netbeans-enterprise-${PV} ) netbeans_modules_ergonomics? ( ~dev-java/netbeans-ergonomics-${PV} ) netbeans_modules_extide? ( ~dev-java/netbeans-extide-${PV} ) netbeans_modules_groovy? ( ~dev-java/netbeans-groovy-${PV} ) netbeans_modules_java? ( ~dev-java/netbeans-java-${PV} ) netbeans_modules_javacard? ( ~dev-java/netbeans-javacard-${PV} ) netbeans_modules_javafx? ( ~dev-java/netbeans-javafx-${PV} ) netbeans_modules_mobility? ( ~dev-java/netbeans-mobility-${PV} ) netbeans_modules_php? ( ~dev-java/netbeans-php-${PV} ) netbeans_modules_profiler? ( ~dev-java/netbeans-profiler-${PV} ) netbeans_modules_webcommon? ( ~dev-java/netbeans-webcommon-${PV} ) netbeans_modules_websvccommon? ( ~dev-java/netbeans-websvccommon-${PV} ) doc? ( ~dev-java/netbeans-javadoc-${PV} )" JAVA_PKG_BSFIX="off" NBLOCALES="" pkg_setup() { for lingua in ${IUSE_L10N} ; do local lang=${lingua/l10n_/} lang=${lang/-/_} case ${lang} in ar) lang="ar_EG,ar_SA" ;; es) lang="es,es_CO" ;; fil) lang="fil_PH" ;; gl) lang="gl_ES" ;; hi) lang="hi_IN" ;; id) lang="in_ID" ;; nl) lang="nl_BE,nl_NL" ;; ta) lang="ta_IN" ;; esac if use ${lingua} ; then if [ -z "${NBLOCALES}" ] ; then NBLOCALES="${lang}" else NBLOCALES="${NBLOCALES},${lang}" fi fi done java-pkg-2_pkg_setup } src_unpack() { if [ -n "${NBLOCALES}" ] ; then unpack $(basename ${SOURCE_URL}) unpack $(basename ${L10N_URL}) einfo "Deleting bundled jars..." find -name "*.jar" -type f -delete unpack netbeans-8.0.2-build.xml.patch.bz2 fi } src_prepare() { if [ -n "${NBLOCALES}" ] ; then einfo "Deleting bundled class files..." find -name "*.class" -type f | xargs rm -vf epatch netbeans-8.0.2-build.xml.patch # Support for custom patches if [ -n "${NETBEANS80_PATCHES_DIR}" -a -d "${NETBEANS80_PATCHES_DIR}" ] ; then local files=`find "${NETBEANS80_PATCHES_DIR}" -type f` if [ -n "${files}" ] ; then einfo "Applying custom patches:" for file in ${files} ; do epatch "${file}" done fi fi einfo "Symlinking external libraries..." java-pkg_jar-from --build-only --into javahelp/external javahelp jhall.jar jhall-2.0_05.jar fi java-pkg-2_src_prepare } src_compile() { if [ -n "${NBLOCALES}" ] ; then einfo "Compiling support for locales: ${NBLOCALES}" eant -f nbbuild/build.xml bootstrap || die eant -Dlocales=${NBLOCALES} -Ddist.dir=../nbbuild/netbeans -Dnbms.dir="" -Dnbms.dist.dir="" \ -Dpermit.jdk7.builds=true -f l10n/build.xml build || die fi } src_install() { if [ -n "${NBLOCALES}" ] ; then pushd "${S}"/nbbuild/netbeans >/dev/null || die for cluster in apisupport cnd dlight enterprise ergonomics groovy harness ide java javacard javafx mobility php platform profiler webcommon websvccommon ; do if [ -d "${cluster}" ] ; then insinto /usr/share/netbeans-${cluster}-${SLOT} doins -r ${cluster}/* fi done if [ -d nb ] ; then insinto /usr/share/netbeans-nb-${SLOT}/nb doins -r nb/* fi popd >/dev/null || die fi } pkg_postinst() { if [ -n "${NBLOCALES}" ] ; then einfo "Netbeans automatically starts with the locale you have set in your user profile, if" einfo "the locale is built for Netbeans." einfo "If you want to force specific locale, use --locale argument, for example:" einfo "${PN}-${SLOT} --locale de" einfo "${PN}-${SLOT} --locale pt:BR" fi if use l10n_ar ; then einfo einfo "You selected Arabic locale so you can choose either ar:EG or ar:SA variant." fi if use l10n_es ; then einfo einfo "You selected Spanish locale so you can choose either es or es:CO variant." fi if use l10n_id ; then einfo einfo "You selected Indonesian locale which has locale code in:ID in Netbeans." fi if use l10n_nl ; then einfo einfo "You selected Dutch locale so you can choose either nl:BE or nl:NL variant." fi }