dev-util/gdbus-codegen: stable 2.56.4 for hppa, bug #668474
[gentoo.git] / dev-util / idea-ultimate / idea-ultimate-2017.3.1.173.3942.27.ebuild
1 # Copyright 1999-2017 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5 inherit eutils versionator
6
7 SLOT="0"
8 PV_STRING="$(get_version_component_range 4-6)"
9 MY_PV="$(get_version_component_range 1-3)"
10 MY_PN="idea"
11
12 # distinguish settings for official stable releases and EAP-version releases
13 if [[ "$(get_version_component_range 7)x" = "prex" ]]
14 then
15         # upstream EAP
16         KEYWORDS=""
17         SRC_URI="
18         !custom-jdk? ( https://download-cf.jetbrains.com/idea/${MY_PN}IU-${PV_STRING}-no-jdk.tar.gz )
19         custom-jdk? ( https://download-cf.jetbrains.com/idea/${MY_PN}IU-${PV_STRING}.tar.gz )
20         "
21 else
22         # upstream stable
23         KEYWORDS="~amd64 ~x86"
24         SRC_URI="
25         !custom-jdk? ( https://download-cf.jetbrains.com/idea/${MY_PN}IU-${MY_PV}-no-jdk.tar.gz -> ${MY_PN}IU-${PV_STRING}-no-jdk.tar.gz )
26         custom-jdk? ( https://download-cf.jetbrains.com/idea/${MY_PN}IU-${MY_PV}.tar.gz -> ${MY_PN}IU-${PV_STRING}.tar.gz )
27         "
28 fi
29
30 DESCRIPTION="A complete toolset for web, mobile and enterprise development"
31 HOMEPAGE="https://www.jetbrains.com/idea"
32
33 LICENSE="IDEA
34         || ( IDEA_Academic IDEA_Classroom IDEA_OpenSource IDEA_Personal )"
35 IUSE="-custom-jdk"
36
37 DEPEND="!dev-util/${PN}:14
38         !dev-util/${PN}:15"
39 RDEPEND="${DEPEND}
40         >=virtual/jdk-1.7:*"
41 S="${WORKDIR}/${MY_PN}-IU-${PV_STRING}"
42
43 QA_PREBUILT="opt/${PN}-${MY_PV}/*"
44
45 src_prepare() {
46         eapply_user
47         if ! use amd64; then
48                 rm -r plugins/tfsIntegration/lib/native/linux/x86_64 || die
49         fi
50         if ! use arm; then
51                 rm bin/fsnotifier-arm || die
52                 rm -r plugins/tfsIntegration/lib/native/linux/arm || die
53         fi
54         if ! use ppc; then
55                 rm -r plugins/tfsIntegration/lib/native/linux/ppc || die
56         fi
57         if ! use x86; then
58                 rm -r plugins/tfsIntegration/lib/native/linux/x86 || die
59         fi
60         if ! use custom-jdk; then
61                 if [[ -d jre ]]; then
62                         rm -r jre || die
63                 fi
64         fi
65         rm -r plugins/tfsIntegration/lib/native/solaris || die
66         rm -r plugins/tfsIntegration/lib/native/hpux || die
67 }
68
69 src_install() {
70         local dir="/opt/${PN}-${MY_PV}"
71
72         insinto "${dir}"
73         doins -r *
74         fperms 755 "${dir}"/bin/{idea.sh,fsnotifier{,64}}
75
76         if use custom-jdk; then
77                 if [[ -d jre ]]; then
78                 fperms 755 "${dir}"/jre/jre/bin/{java,jjs,keytool,orbd,pack200,policytool,rmid,rmiregistry,servertool,tnameserv,unpack200}
79                 fi
80         fi
81
82         make_wrapper "${PN}" "${dir}/bin/${MY_PN}.sh"
83         newicon "bin/${MY_PN}.png" "${PN}.png"
84         make_desktop_entry "${PN}" "IntelliJ Idea Ultimate" "${PN}" "Development;IDE;"
85
86         # recommended by: https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit
87         mkdir -p "${D}/etc/sysctl.d/" || die
88         echo "fs.inotify.max_user_watches = 524288" > "${D}/etc/sysctl.d/30-idea-inotify-watches.conf" || die
89 }