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/, dev-util/idea-community/files/
Date: Thu, 29 Apr 2021 19:20:18
Message-Id: 1619723965.447086095d836e6f2f93c8eb26000a659c9f76eb.mpagano@gentoo
1 commit: 447086095d836e6f2f93c8eb26000a659c9f76eb
2 Author: Mike Pagano <mpagano <AT> gentoo <DOT> org>
3 AuthorDate: Thu Apr 29 19:19:25 2021 +0000
4 Commit: Mike Pagano <mpagano <AT> gentoo <DOT> org>
5 CommitDate: Thu Apr 29 19:19:25 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=44708609
7
8 dev-util/idea-community: Version bump, drop old
9
10 Drop 2021*.3.1.203.6682.168-r3
11 Add 2021.3.1.211.6693.111
12
13 Thanks to Martin Eberle for reporting.
14
15 Closes: https://bugs.gentoo.org/786477
16 Package-Manager: Portage-3.0.18, Repoman-3.0.2
17 Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org>
18
19 dev-util/idea-community/Manifest | 2 +
20 .../idea-community/files/idea-community-jdk.patch | 10 +-
21 .../idea-community-2021.3.1.211.6693.111.ebuild | 138 +++++++++++++++++++++
22 3 files changed, 145 insertions(+), 5 deletions(-)
23
24 diff --git a/dev-util/idea-community/Manifest b/dev-util/idea-community/Manifest
25 index efa611895f9..f06e3e3bf00 100644
26 --- a/dev-util/idea-community/Manifest
27 +++ b/dev-util/idea-community/Manifest
28 @@ -1,2 +1,4 @@
29 DIST ideaIC-3.1.203.6682.168.tar.gz 577542631 BLAKE2B d47d017b76fa9106a55805b558bd49d6d45dd216ac28151f03cc2a7f3a751707b62fa49623bb04b426d90cfd1cce4e04b2490bb91ec01dfeccdf4a80f1694f7e SHA512 71849f9440c34359a23af1f4735c3b0ac6378f6ab8ddf5799ad7e26036dc87b4abbc234043bd368a7698daf91f83cf989539054db7e1fb9ea95ebf7d756ac068
30 +DIST ideaIC-3.1.211.6693.111.tar.gz 652142239 BLAKE2B 7ce39420fd42c829ce1e742be20f37a255c3452740e77ee276495932dcab2db50aad1ce43a27aff6d02821a5e9d9c69d782c6a35ce7621d6b2abf14e29c45808 SHA512 cb7e8bf31f7ce87ab29483086ed3cbb5bd2a638c9179f9131de0344d97947950abecd5aec1d98e881434bb2f72aafd440cafc358829db3516d0e960eae722da0
31 +DIST jbr-11_0_10-linux-x64-b1304.4.tar.gz 201507596 BLAKE2B aa83f396dd37a96c769806c3f95a4c78bcc31e9c8eda047903cbee932a84029ad7133fc03496a248c017795ec45ff42f30f3860780a00d9d766ac7b262019905 SHA512 0de75baac30dad42927fa0cef3b78dc183f4dd317f8426021dd51cf1288680bbc65ed934e867dfa3ca9397d9bd5cff4b4d6896eb4878323c8b0aaa2b39d33d82
32 DIST jbr-11_0_8-linux-x64-b1098.1.tar.gz 191689225 BLAKE2B 0da0f0e834709c89820f2e7e1c447dc33ea1c59c7dfb573aa47bc205f7920ccf485454f79931d42d4e6eb4de1017589bb908808d6a80cc586659757abc9958d3 SHA512 a455d8bd3332622592186cd7ae3995a9148a47717a81c274497f5408f1e89ef637c7478321b4ccd5dbe97c2e246a16ac8956c5ce475f8a4156232647f0ea7737
33
34 diff --git a/dev-util/idea-community/files/idea-community-jdk.patch b/dev-util/idea-community/files/idea-community-jdk.patch
35 index b89e6773fd0..5556729fdd4 100644
36 --- a/dev-util/idea-community/files/idea-community-jdk.patch
37 +++ b/dev-util/idea-community/files/idea-community-jdk.patch
38 @@ -1,11 +1,11 @@
39 ---- a/bin/idea.sh 2020-12-30 15:51:43.743936660 -0500
40 -+++ b/bin/idea.sh 2020-12-30 17:58:16.759719538 -0500
41 -@@ -66,6 +66,8 @@ PATHS_SELECTOR="IdeaIC2020.3"
42 +--- a/bin/idea.sh 2021-04-29 14:52:57.173162184 -0400
43 ++++ b/bin/idea.sh 2021-04-29 14:54:40.733748978 -0400
44 +@@ -52,6 +52,8 @@ PATHS_SELECTOR="IdeaIC2021.1"
45 # shellcheck disable=SC2154
46 if [ -n "$IDEA_JDK" ] && [ -x "$IDEA_JDK/bin/java" ]; then
47 - JDK="$IDEA_JDK"
48 + JRE="$IDEA_JDK"
49 +else
50 + JDK="/opt/openjdk-bin-11" && [[ -d "/opt/openjdk-11" ]] && JDK="/usr/lib64/openjdk-bin-11"
51 fi
52
53 - if [ -z "$JDK" ] && [ -s "${XDG_CONFIG_HOME:-$HOME/.config}/${PRODUCT_VENDOR}/${PATHS_SELECTOR}/idea.jdk" ]; then
54 + BITS=""
55
56 diff --git a/dev-util/idea-community/idea-community-2021.3.1.211.6693.111.ebuild b/dev-util/idea-community/idea-community-2021.3.1.211.6693.111.ebuild
57 new file mode 100644
58 index 00000000000..35a6a1bcf8e
59 --- /dev/null
60 +++ b/dev-util/idea-community/idea-community-2021.3.1.211.6693.111.ebuild
61 @@ -0,0 +1,138 @@
62 +# Copyright 1999-2021 Gentoo Authors
63 +# Distributed under the terms of the GNU General Public License v2
64 +
65 +EAPI=7
66 +inherit eutils desktop
67 +
68 +SLOT="0"
69 +PV_STRING="$(ver_cut 2-6)"
70 +MY_PV="$(ver_cut 1-1).$(ver_cut 3-3)"
71 +MY_PN="idea"
72 +# Using the most recent Jetbrains Runtime binaries available at the time of writing
73 +# ( jre 11.0.10 build 1304.4 )
74 +JRE11_BASE="11_0_10"
75 +JRE11_VER="1304.4"
76 +IDEA_VER="2.111705284.1737970125.1619718960-2104634719.1619551776"
77 +
78 +# distinguish settings for official stable releases and EAP-version releases
79 +if [[ "$(ver_cut 7)"x = "prex" ]]
80 +then
81 + # upstream EAP
82 + SRC_URI="https://download.jetbrains.com/idea/${MY_PN}IC-${MY_PV}.tar.gz?_ga=${IDEA_VER}"
83 +else
84 + # upstream stable
85 + KEYWORDS="~amd64 ~arm64"
86 + SRC_URI="https://download.jetbrains.com/idea/${MY_PN}IC-${MY_PV}-no-jbr.tar.gz?_ga=${IDEA_VER} -> ${MY_PN}IC-${PV_STRING}.tar.gz
87 + 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 )"
88 +fi
89 +
90 +DESCRIPTION="A complete toolset for web, mobile and enterprise development"
91 +HOMEPAGE="https://www.jetbrains.com/idea"
92 +
93 +LICENSE="Apache-2.0 BSD BSD-2 CC0-1.0 CC-BY-2.5 CDDL-1.1
94 + codehaus-classworlds CPL-1.0 EPL-1.0 EPL-2.0
95 + GPL-2 GPL-2-with-classpath-exception ISC
96 + JDOM LGPL-2.1 LGPL-2.1+ LGPL-3-with-linking-exception MIT
97 + MPL-1.0 MPL-1.1 OFL ZLIB"
98 +
99 +DEPEND="
100 + || (
101 + >=dev-java/openjdk-11.0.11_p9-r1:11
102 + >=dev-java/openjdk-bin-11.0.11_p9-r1:11
103 + )"
104 +RDEPEND="${DEPEND}
105 + dev-java/jansi-native
106 + dev-libs/libdbusmenu
107 + media-libs/harfbuzz
108 + =dev-util/lldb-10*"
109 +
110 +BDEPEND="dev-util/patchelf"
111 +RESTRICT="splitdebug"
112 +S="${WORKDIR}/${MY_PN}-IC-$(ver_cut 4-6)"
113 +
114 +QA_PREBUILT="opt/${PN}-${MY_PV}/*"
115 +
116 +PATCHES=(
117 + "${FILESDIR}/${PN}-jdk.patch"
118 +)
119 +
120 +src_unpack() {
121 + default_src_unpack
122 + mkdir jre64 && cd jre64 && unpack jbr-${JRE11_BASE}-linux-x64-b${JRE11_VER}.tar.gz
123 +}
124 +
125 +src_prepare() {
126 +
127 + default_src_prepare
128 +
129 + if use amd64; then
130 + JRE_DIR=jre64
131 + else
132 + JRE_DIR=jre
133 + fi
134 +
135 + PLUGIN_DIR="${S}/${JRE_DIR}/lib/"
136 +
137 + rm -vf ${PLUGIN_DIR}/libavplugin*
138 + rm -vf "${S}"/plugins/maven/lib/maven3/lib/jansi-native/*/libjansi*
139 + rm -vrf "${S}"/lib/pty4j-native/linux/ppc64le
140 + rm -vf "${S}"/bin/libdbm64*
141 + rm -vf "${S}"/lib/pty4j-native/linux/mips64el/libpty.so
142 +
143 + if [[ -d "${S}"/"${JRE_DIR}" ]]; then
144 + for file in "${PLUGIN_DIR}"/{libfxplugins.so,libjfxmedia.so}
145 + do
146 + if [[ -f "$file" ]]; then
147 + patchelf --set-rpath '$ORIGIN' $file || die
148 + fi
149 + done
150 + fi
151 +
152 + patchelf --replace-needed liblldb.so liblldb.so.10 "${S}"/plugins/Kotlin/bin/linux/LLDBFrontend || die "Unable to patch LLDBFrontend for lldb"
153 + if use arm64; then
154 + patchelf --replace-needed libc.so libc.so.6 "${S}"/lib/pty4j-native/linux/aarch64/libpty.so || die "Unable to patch libpty for libc"
155 + else
156 + rm -vf "${S}"/lib/pty4j-native/linux/aarch64/libpty.so
157 + fi
158 +
159 + sed -i \
160 + -e "\$a\\\\" \
161 + -e "\$a#-----------------------------------------------------------------------" \
162 + -e "\$a# Disable automatic updates as these are handled through Gentoo's" \
163 + -e "\$a# package manager. See bug #704494" \
164 + -e "\$a#-----------------------------------------------------------------------" \
165 + -e "\$aide.no.platform.update=Gentoo" bin/idea.properties
166 +
167 + eapply_user
168 +}
169 +
170 +src_install() {
171 + local dir="/opt/${PN}-${MY_PV}"
172 +
173 + insinto "${dir}"
174 + doins -r *
175 + fperms 755 "${dir}"/bin/{format.sh,idea.sh,inspect.sh,printenv.py,restart.py,fsnotifier{,64}}
176 + if use amd64; then
177 + JRE_DIR=jre64
178 + else
179 + JRE_DIR=jre
180 + fi
181 +
182 + JRE_BINARIES="jaotc java javapackager jjs jrunscript keytool pack200 rmid rmiregistry unpack200"
183 + if [[ -d ${JRE_DIR} ]]; then
184 + for jrebin in $JRE_BINARIES; do
185 + fperms 755 "${dir}"/"${JRE_DIR}"/bin/"${jrebin}"
186 + done
187 + fi
188 +
189 + make_wrapper "${PN}" "${dir}/bin/${MY_PN}.sh"
190 + newicon "bin/${MY_PN}.png" "${PN}.png"
191 + make_desktop_entry "${PN}" "IntelliJ Idea Community" "${PN}" "Development;IDE;"
192 +
193 + # recommended by: https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit
194 + mkdir -p "${D}/etc/sysctl.d/" || die
195 + echo "fs.inotify.max_user_watches = 524288" > "${D}/etc/sysctl.d/30-idea-inotify-watches.conf" || die
196 +
197 + # remove bundled harfbuzz
198 + rm -f "${D}"/lib/libharfbuzz.so || die
199 +}