| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| 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="linguas_af? ( ${ALL_URLS} ) |
| linguas_ar? ( ${ALL_URLS} ) |
| linguas_bg? ( ${ALL_URLS} ) |
| linguas_ca? ( ${ALL_URLS} ) |
| linguas_cs? ( ${ALL_URLS} ) |
| linguas_de? ( ${ALL_URLS} ) |
| linguas_el? ( ${ALL_URLS} ) |
| linguas_es? ( ${ALL_URLS} ) |
| linguas_fr? ( ${ALL_URLS} ) |
| linguas_gl? ( ${ALL_URLS} ) |
| linguas_hi_IN? ( ${ALL_URLS} ) |
| linguas_id? ( ${ALL_URLS} ) |
| linguas_it? ( ${ALL_URLS} ) |
| linguas_ja? ( ${ALL_URLS} ) |
| linguas_ko? ( ${ALL_URLS} ) |
| linguas_lt? ( ${ALL_URLS} ) |
| linguas_nl? ( ${ALL_URLS} ) |
| linguas_pl? ( ${ALL_URLS} ) |
| linguas_pt_BR? ( ${ALL_URLS} ) |
| linguas_pt_PT? ( ${ALL_URLS} ) |
| linguas_ro? ( ${ALL_URLS} ) |
| linguas_ru? ( ${ALL_URLS} ) |
| linguas_si? ( ${ALL_URLS} ) |
| linguas_sq? ( ${ALL_URLS} ) |
| linguas_sr? ( ${ALL_URLS} ) |
| linguas_sv? ( ${ALL_URLS} ) |
| linguas_ta_IN? ( ${ALL_URLS} ) |
| linguas_tl? ( ${ALL_URLS} ) |
| linguas_tr? ( ${ALL_URLS} ) |
| linguas_vi? ( ${ALL_URLS} ) |
| linguas_zh_CN? ( ${ALL_URLS} ) |
| linguas_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_LINGUAS=" |
| linguas_af |
| linguas_ar |
| linguas_bg |
| linguas_ca |
| linguas_cs |
| linguas_de |
| linguas_el |
| linguas_es |
| linguas_fr |
| linguas_gl |
| linguas_hi_IN |
| linguas_id |
| linguas_it |
| linguas_ja |
| linguas_ko |
| linguas_lt |
| linguas_nl |
| linguas_pl |
| linguas_pt_BR |
| linguas_pt_PT |
| linguas_ro |
| linguas_ru |
| linguas_si |
| linguas_sq |
| linguas_sr |
| linguas_sv |
| linguas_ta_IN |
| linguas_tl |
| linguas_tr |
| linguas_vi |
| linguas_zh_CN |
| linguas_zh_TW" |
| IUSE="doc ${IUSE_NETBEANS_MODULES} ${IUSE_LINGUAS}" |
| 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_LINGUAS} ; do |
| local lang=${lingua/linguas_/} |
| |
| if [[ "${lang}" = "ar" ]] ; then |
| lang="ar_EG,ar_SA" |
| elif [[ "${lang}" = "es" ]] ; then |
| lang="es,es_CO" |
| elif [[ "${lang}" = "gl" ]] ; then |
| lang="gl_ES" |
| elif [[ "${lang}" = "id" ]] ; then |
| lang="in_ID" |
| elif [[ "${lang}" = "nl" ]] ; then |
| lang="nl_BE,nl_NL" |
| elif [[ "${lang}" = "tl" ]] ; then |
| lang="fil_PH" |
| fi |
| |
| 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 linguas_ar ; then |
| einfo |
| einfo "You selected Arabic locale so you can choose either ar:EG or ar:SA variant." |
| fi |
| |
| if use linguas_es ; then |
| einfo |
| einfo "You selected Spanish locale so you can choose either es or es:CO variant." |
| fi |
| |
| if use linguas_gl ; then |
| einfo |
| einfo "You selected Galician locale which has locale code gl:ES in Netbeans." |
| fi |
| |
| if use linguas_id ; then |
| einfo |
| einfo "You selected Indonesian locale which has locale code in:ID in Netbeans." |
| fi |
| |
| if use linguas_nl ; then |
| einfo |
| einfo "You selected Dutch locale so you can choose either nl:BE or nl:NL variant." |
| fi |
| |
| if use linguas_tl ; then |
| einfo |
| einfo "You selected Tagalog locale which has for Filipino locale code fil:PH in Netbeans." |
| fi |
| } |