Gentoo Archives: gentoo-commits

From: Mike Pagano <mpagano@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/idea-community/
Date: Sat, 02 Jan 2021 23:55:16
Message-Id: 1609631700.4583173d1d3c9d9c954d80609326c63c4f33f0b3.mpagano@gentoo
1 commit: 4583173d1d3c9d9c954d80609326c63c4f33f0b3
2 Author: Mike Pagano <mpagano <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jan 2 23:55:00 2021 +0000
4 Commit: Mike Pagano <mpagano <AT> gentoo <DOT> org>
5 CommitDate: Sat Jan 2 23:55:00 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4583173d
7
8 dev-util/idea-community: Version bump
9
10 Package-Manager: Portage-3.0.12, Repoman-3.0.2
11 Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org>
12
13 dev-util/idea-community/Manifest | 1 +
14 .../idea-community-2020.3.1.203.6682.168.ebuild | 143 +++++++++++++++++++++
15 2 files changed, 144 insertions(+)
16
17 diff --git a/dev-util/idea-community/Manifest b/dev-util/idea-community/Manifest
18 index 43064fc9e25..73b010497c0 100644
19 --- a/dev-util/idea-community/Manifest
20 +++ b/dev-util/idea-community/Manifest
21 @@ -1,2 +1,3 @@
22 DIST ideaIC-3.0.203.5981.155.tar.gz 582023182 BLAKE2B 671fbba0c2173e3780a99d0d3b106af75c4ef6df4198ced3653c1b74a7bbb055a29b1fc31eb89823bfd56e6737c7788f78a90fe7ef46e52ab410c0dff18868e9 SHA512 35d569c5e13ec620d0a476cc52c005d29ea3c7c3c1ab0614a1a73255309635c84ee00820c50584ca19af634165138c77d8d712cfe0d367b9525956ad33aafe77
23 +DIST ideaIC-3.1.203.6682.168.tar.gz 577542631 BLAKE2B d47d017b76fa9106a55805b558bd49d6d45dd216ac28151f03cc2a7f3a751707b62fa49623bb04b426d90cfd1cce4e04b2490bb91ec01dfeccdf4a80f1694f7e SHA512 71849f9440c34359a23af1f4735c3b0ac6378f6ab8ddf5799ad7e26036dc87b4abbc234043bd368a7698daf91f83cf989539054db7e1fb9ea95ebf7d756ac068
24 DIST jbr-11_0_8-linux-x64-b1098.1.tar.gz 191689225 BLAKE2B 0da0f0e834709c89820f2e7e1c447dc33ea1c59c7dfb573aa47bc205f7920ccf485454f79931d42d4e6eb4de1017589bb908808d6a80cc586659757abc9958d3 SHA512 a455d8bd3332622592186cd7ae3995a9148a47717a81c274497f5408f1e89ef637c7478321b4ccd5dbe97c2e246a16ac8956c5ce475f8a4156232647f0ea7737
25
26 diff --git a/dev-util/idea-community/idea-community-2020.3.1.203.6682.168.ebuild b/dev-util/idea-community/idea-community-2020.3.1.203.6682.168.ebuild
27 new file mode 100644
28 index 00000000000..1199297e91d
29 --- /dev/null
30 +++ b/dev-util/idea-community/idea-community-2020.3.1.203.6682.168.ebuild
31 @@ -0,0 +1,143 @@
32 +# Copyright 1999-2021 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=7
36 +inherit eutils desktop
37 +
38 +SLOT="0"
39 +PV_STRING="$(ver_cut 2-6)"
40 +MY_PV="$(ver_cut 1-3)"
41 +MY_PN="idea"
42 +# Using the most recent Jetbrains Runtime binaries available at the time of writing
43 +# ( jre 11.0.8 build 1098.1 )
44 +JRE11_BASE="11_0_8"
45 +JRE11_VER="1098.1"
46 +
47 +echo "PV_String IS ${PV_STRING}"
48 +echo "MY_PN S ${MY_PN}"
49 +
50 +# distinguish settings for official stable releases and EAP-version releases
51 +if [[ "$(ver_cut 7)"x = "prex" ]]
52 +then
53 + # upstream EAP
54 + KEYWORDS="~arm64"
55 + SRC_URI="https://download.jetbrains.com/idea/${MY_PN}IC-${PV_STRING}.tar.gz"
56 +else
57 + # upstream stable
58 + KEYWORDS="~amd64 ~arm64"
59 + SRC_URI="https://download.jetbrains.com/idea/${MY_PN}IC-${MY_PV}-no-jbr.tar.gz -> ${MY_PN}IC-${PV_STRING}.tar.gz
60 + amd64? ( https://bintray.com/jetbrains/intellij-jbr/download_file?file_path=jbr-${JRE11_BASE}-linux-x64-b${JRE11_VER}.tar.gz -> jbr-${JRE11_BASE}-linux-x64-b${JRE11_VER}.tar.gz )"
61 +fi
62 +
63 +echo "SRC_URI is ${SRC_URI}"
64 +
65 +DESCRIPTION="A complete toolset for web, mobile and enterprise development"
66 +HOMEPAGE="https://www.jetbrains.com/idea"
67 +
68 +LICENSE="Apache-2.0 BSD BSD-2 CC0-1.0 CC-BY-2.5 CDDL-1.1
69 + codehaus-classworlds CPL-1.0 EPL-1.0 EPL-2.0
70 + GPL-2 GPL-2-with-classpath-exception ISC
71 + JDOM LGPL-2.1 LGPL-2.1+ LGPL-3-with-linking-exception MIT
72 + MPL-1.0 MPL-1.1 OFL ZLIB"
73 +
74 +DEPEND="!dev-util/${PN}:14
75 + !dev-util/${PN}:15
76 + || (
77 + dev-java/openjdk:11
78 + dev-java/openjdk-bin:11
79 + )"
80 +RDEPEND="${DEPEND}
81 + dev-java/jansi-native
82 + dev-libs/libdbusmenu
83 + =dev-util/lldb-10*
84 + || (
85 + dev-java/openjdk:11
86 + dev-java/openjdk-bin:11
87 + )"
88 +BDEPEND="dev-util/patchelf"
89 +RESTRICT="splitdebug"
90 +S="${WORKDIR}/${MY_PN}-IC-$(ver_cut 4-6)"
91 +
92 +QA_PREBUILT="opt/${PN}-${MY_PV}/*"
93 +
94 +PATCHES=(
95 + "${FILESDIR}/${PN}-jdk.patch"
96 +)
97 +
98 +src_unpack() {
99 + default_src_unpack
100 + mkdir jre64 && cd jre64 && unpack jbr-${JRE11_BASE}-linux-x64-b${JRE11_VER}.tar.gz
101 +}
102 +
103 +src_prepare() {
104 +
105 + default_src_prepare
106 +
107 + if use amd64; then
108 + JRE_DIR=jre64
109 + else
110 + JRE_DIR=jre
111 + fi
112 +
113 + PLUGIN_DIR="${S}/${JRE_DIR}/lib/"
114 +
115 + rm -vf ${PLUGIN_DIR}/libavplugin*
116 + rm -vf "${S}"/plugins/maven/lib/maven3/lib/jansi-native/*/libjansi*
117 + rm -vrf "${S}"/lib/pty4j-native/linux/ppc64le
118 + rm -vf "${S}"/bin/libdbm64*
119 + rm -vf "${S}"/lib/pty4j-native/linux/mips64el/libpty.so
120 +
121 + if [[ -d "${S}"/"${JRE_DIR}" ]]; then
122 + for file in "${PLUGIN_DIR}"/{libfxplugins.so,libjfxmedia.so}
123 + do
124 + if [[ -f "$file" ]]; then
125 + patchelf --set-rpath '$ORIGIN' $file || die
126 + fi
127 + done
128 + fi
129 +
130 + patchelf --replace-needed liblldb.so liblldb.so.10 "${S}"/plugins/Kotlin/bin/linux/LLDBFrontend || die "Unable to patch LLDBFrontend for lldb"
131 + if use arm64; then
132 + patchelf --replace-needed libc.so libc.so.6 "${S}"/lib/pty4j-native/linux/aarch64/libpty.so || die "Unable to patch libpty for libc"
133 + else
134 + rm -vf "${S}"/lib/pty4j-native/linux/aarch64/libpty.so
135 + fi
136 +
137 + sed -i \
138 + -e "\$a\\\\" \
139 + -e "\$a#-----------------------------------------------------------------------" \
140 + -e "\$a# Disable automatic updates as these are handled through Gentoo's" \
141 + -e "\$a# package manager. See bug #704494" \
142 + -e "\$a#-----------------------------------------------------------------------" \
143 + -e "\$aide.no.platform.update=Gentoo" bin/idea.properties
144 +
145 + eapply_user
146 +}
147 +
148 +src_install() {
149 + local dir="/opt/${PN}-${MY_PV}"
150 +
151 + insinto "${dir}"
152 + doins -r *
153 + fperms 755 "${dir}"/bin/{format.sh,idea.sh,inspect.sh,printenv.py,restart.py,fsnotifier{,64}}
154 + if use amd64; then
155 + JRE_DIR=jre64
156 + else
157 + JRE_DIR=jre
158 + fi
159 +
160 + JRE_BINARIES="jaotc java javapackager jjs jrunscript keytool pack200 rmid rmiregistry unpack200"
161 + if [[ -d ${JRE_DIR} ]]; then
162 + for jrebin in $JRE_BINARIES; do
163 + fperms 755 "${dir}"/"${JRE_DIR}"/bin/"${jrebin}"
164 + done
165 + fi
166 +
167 + make_wrapper "${PN}" "${dir}/bin/${MY_PN}.sh"
168 + newicon "bin/${MY_PN}.png" "${PN}.png"
169 + make_desktop_entry "${PN}" "IntelliJ Idea Community" "${PN}" "Development;IDE;"
170 +
171 + # recommended by: https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit
172 + mkdir -p "${D}/etc/sysctl.d/" || die
173 + echo "fs.inotify.max_user_watches = 524288" > "${D}/etc/sysctl.d/30-idea-inotify-watches.conf" || die
174 +}