blob: 5176a35cf52feddc07580ade369a42b49df1206a [file] [log] [blame]
# Copyright 1999-2016 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="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_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_tl? ( ${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_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_tl
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
}