blob: f4a3b2eeb5ff99cf06a0744ef356c7f2238dc0fc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
# 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
}
|