# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=5 inherit eutils versionator SLOT="0" PV_STRING="$(get_version_component_range 4-6)" # Always name EAP-versions with '_pre' for clarity! MY_PV="$(get_version_component_range 1-3)" MY_PN="idea" DESCRIPTION="A complete toolset for web, mobile and enterprise development" HOMEPAGE="http://www.jetbrains.com/idea" SRC_URI="https://download.jetbrains.com/idea/${MY_PN}IU-${PV_STRING}.tar.gz" LICENSE="IDEA IDEA_Academic IDEA_Classroom IDEA_OpenSource IDEA_Personal" IUSE="" KEYWORDS="~amd64 ~x86" # No keywords for EAP versions. Code quality sucks. DEPEND="!dev-util/${PN}:14 !dev-util/${PN}:15" RDEPEND="${DEPEND} >=virtual/jdk-1.7" S="${WORKDIR}/${MY_PN}-IU-${PV_STRING}" QA_TEXTRELS="opt/${PN}-${MY_PV}/bin/libbreakgen.so" QA_PRESTRIPPED="opt/${PN}-${MY_PV}/lib/libpty/linux/x86/libpty.so opt/${PN}-${MY_PV}/lib/libpty/linux/x86_64/libpty.so opt/${PN}-${MY_PV}/bin/libyjpagent-linux.so opt/${PN}-${MY_PV}/bin/libyjpagent-linux64.so" QA_WX_LOAD=" opt/${PN}-${MY_PV}/bin/fsnotifier-arm opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/linux/ppc/libnative_auth.so opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/linux/ppc/libnative_console.so opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/linux/ppc/libnative_filesystem.so opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/linux/ppc/libnative_misc.so opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/linux/ppc/libnative_synchronization.so opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/sparc/libnative_auth.so opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/sparc/libnative_console.so opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/sparc/libnative_filesystem.so opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/sparc/libnative_misc.so opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/sparc/libnative_synchronization.so opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/x86/libnative_auth.so opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/x86/libnative_console.so opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/x86/libnative_filesystem.so opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/x86/libnative_misc.so opt/${PN}-${MY_PV}/plugins/tfsIntegration/lib/native/solaris/x86/libnative_synchronization.so" src_prepare() { if ! use amd64; then rm -rf plugins/tfsIntegration/lib/native/linux/x86_64 fi if ! use arm; then rm bin/fsnotifier-arm rm -rf plugins/tfsIntegration/lib/native/linux/arm fi if ! use ppc; then rm -rf plugins/tfsIntegration/lib/native/linux/ppc fi if ! use x86; then rm -rf plugins/tfsIntegration/lib/native/linux/x86 fi rm -rf plugins/tfsIntegration/lib/native/solaris rm -rf plugins/tfsIntegration/lib/native/hpux } src_install() { local dir="/opt/${PN}-${MY_PV}" insinto "${dir}" doins -r * fperms 755 "${dir}"/bin/{idea.sh,fsnotifier{,64}} make_wrapper "${PN}" "${dir}/bin/${MY_PN}.sh" # recommended by: https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit mkdir -p "${D}/etc/sysctl.d/" echo "fs.inotify.max_user_watches = 524288" > "${D}/etc/sysctl.d/30-idea-inotify-watches.conf" } pkg_postinst() { if [[ "$(get_version_component_range 7)x" = "prex" ]] then ewarn "Be aware, this is a release from their EAP. According to JetBrains, the code" ewarn "quality of such releases may be considerably below of what you might usually" ewarn "be used to from beta releases." ewarn "Don't use it for critical tasks. You have been warned." fi }