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: Thu, 01 Dec 2022 13:13:50
Message-Id: 1669900400.06657c3ba2d9f799484b012e2bb9764e0d06dd2e.mpagano@gentoo
1 commit: 06657c3ba2d9f799484b012e2bb9764e0d06dd2e
2 Author: Mike Pagano <mpagano <AT> gentoo <DOT> org>
3 AuthorDate: Thu Dec 1 13:13:20 2022 +0000
4 Commit: Mike Pagano <mpagano <AT> gentoo <DOT> org>
5 CommitDate: Thu Dec 1 13:13:20 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06657c3b
7
8 dev-util/idea-community: add 2022.3
9
10 Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org>
11
12 dev-util/idea-community/Manifest | 1 +
13 .../idea-community/idea-community-2022.3.ebuild | 138 +++++++++++++++++++++
14 2 files changed, 139 insertions(+)
15
16 diff --git a/dev-util/idea-community/Manifest b/dev-util/idea-community/Manifest
17 index 3085cf45eea7..50d23d367b91 100644
18 --- a/dev-util/idea-community/Manifest
19 +++ b/dev-util/idea-community/Manifest
20 @@ -1 +1,2 @@
21 DIST idea-community-2022.2.4.tar.gz 862568767 BLAKE2B 4abb509221b4e029d8b0fdd76be98bf26d60cbfe3af79a4c344e1a3c0a62298acc3c43b64dd209090edf330f4c67eb00555032ec64e873a9ac426032312997ea SHA512 0abdab96e092b96f63047cad44bb8146b961b2a237e0cb0f39a1f41a5193b663a54bcaffcc5dbf55f80d9db74822017c919ff8a8203c7fef04690968ea97463a
22 +DIST idea-community-2022.3.tar.gz 947236841 BLAKE2B 94fa1d46366b5131cdecdcabc089e1a2199c9b32b29b4aa7d78696e234ead788a83f70e86dfd4a1e7538d1a6738a966f6d420ab69f62e609f4b35a51a6cb3c71 SHA512 80795d8a48854d9b983efbc3e3b0b47fa5240fd668a17234224a5d8bc092d4a65085a3c2bbd960b37efa81776805a8d1534fa760d45c5a907b132f6c8b3359da
23
24 diff --git a/dev-util/idea-community/idea-community-2022.3.ebuild b/dev-util/idea-community/idea-community-2022.3.ebuild
25 new file mode 100644
26 index 000000000000..683d2f5d76de
27 --- /dev/null
28 +++ b/dev-util/idea-community/idea-community-2022.3.ebuild
29 @@ -0,0 +1,138 @@
30 +# Copyright 1999-2022 Gentoo Authors
31 +# Distributed under the terms of the GNU General Public License v2
32 +
33 +EAPI=8
34 +inherit desktop wrapper
35 +
36 +DESCRIPTION="A complete toolset for web, mobile and enterprise development"
37 +HOMEPAGE="https://www.jetbrains.com/idea"
38 +SRC_URI="https://download.jetbrains.com/idea/ideaIC-${PV}.tar.gz -> ${P}.tar.gz"
39 +
40 +LICENSE="Apache-2.0 BSD BSD-2 CC0-1.0 CC-BY-2.5 CDDL-1.1
41 + codehaus-classworlds CPL-1.0 EPL-1.0 EPL-2.0
42 + GPL-2 GPL-2-with-classpath-exception ISC
43 + JDOM LGPL-2.1 LGPL-2.1+ LGPL-3-with-linking-exception MIT
44 + MPL-1.0 MPL-1.1 OFL ZLIB"
45 +
46 +SLOT="0"
47 +KEYWORDS="~amd64 ~arm64"
48 +
49 +DEPEND="
50 + || (
51 + >=dev-java/openjdk-17.0.3_p7-r1:17
52 + >=dev-java/openjdk-bin-17.0.3_p7:17
53 + )"
54 +
55 +RDEPEND="${DEPEND}
56 + sys-libs/glibc
57 + media-libs/harfbuzz
58 + dev-java/jansi-native
59 + dev-libs/libdbusmenu"
60 +
61 +BDEPEND="dev-util/patchelf"
62 +RESTRICT="splitdebug"
63 +S="${WORKDIR}/idea-IC-${PV}"
64 +
65 +QA_PREBUILT="opt/${PN}/*"
66 +
67 +PATCHES=(
68 + "${FILESDIR}/${PN}-jdk.patch"
69 +)
70 +
71 +src_unpack() {
72 +
73 + default_src_unpack
74 + if [ ! -d "$S" ]; then
75 + einfo "Renaming source directory to predictable name..."
76 + mv $(ls "${WORKDIR}") "idea-IC-${PV}" || die
77 + fi
78 +}
79 +
80 +src_prepare() {
81 +
82 + default_src_prepare
83 +
84 + if use amd64; then
85 + JRE_DIR=jre64
86 + else
87 + JRE_DIR=jre
88 + fi
89 +
90 + PLUGIN_DIR="${S}/${JRE_DIR}/lib/"
91 +
92 + # rm LLDBFrontEnd after licensing questions with Gentoo License Team
93 + rm -vf "${S}"/plugins/Kotlin/bin/linux/LLDBFrontend
94 + rm -vf ${PLUGIN_DIR}/libavplugin*
95 + rm -vf "${S}"/plugins/maven/lib/maven3/lib/jansi-native/*/libjansi*
96 + rm -vrf "${S}"/lib/pty4j-native/linux/ppc64le
97 + rm -vf "${S}"/bin/libdbm64*
98 + rm -vf "${S}"/lib/pty4j-native/linux/mips64el/libpty.so
99 + rm -vf "${S}"/plugins/cwm-plugin/quiche-native/linux-aarch64/libquiche.so
100 +
101 + if [[ -d "${S}"/"${JRE_DIR}" ]]; then
102 + for file in "${PLUGIN_DIR}"/{libfxplugins.so,libjfxmedia.so}
103 + do
104 + if [[ -f "$file" ]]; then
105 + patchelf --set-rpath '$ORIGIN' $file || die
106 + fi
107 + done
108 + fi
109 +
110 + if use arm64; then
111 + patchelf --replace-needed libc.so libc.so.6 "${S}"/lib/pty4j-native/linux/aarch64/libpty.so ||
112 + die "Unable to patch libpty for libc"
113 + else
114 + rm -vf "${S}"/lib/pty4j-native/linux/{aarch64,arm,x86}/libpty.so
115 + fi
116 +
117 + sed -i \
118 + -e "\$a\\\\" \
119 + -e "\$a#-----------------------------------------------------------------------" \
120 + -e "\$a# Disable automatic updates as these are handled through Gentoo's" \
121 + -e "\$a# package manager. See bug #704494" \
122 + -e "\$a#-----------------------------------------------------------------------" \
123 + -e "\$aide.no.platform.update=Gentoo" bin/idea.properties
124 +
125 + eapply_user
126 +}
127 +
128 +src_install() {
129 + local dir="/opt/${PN}"
130 + local dst="${D}${dir}"
131 +
132 + insinto "${dir}"
133 + doins -r *
134 + fperms 755 "${dir}"/bin/{format.sh,idea.sh,inspect.sh,restart.py,fsnotifier}
135 + if use amd64; then
136 + JRE_DIR=jre64
137 + else
138 + JRE_DIR=jre
139 + fi
140 +
141 + JRE_BINARIES="jaotc java javapackager jjs jrunscript keytool pack200 rmid rmiregistry unpack200"
142 + if [[ -d ${JRE_DIR} ]]; then
143 + for jrebin in $JRE_BINARIES; do
144 + fperms 755 "${dir}"/"${JRE_DIR}"/bin/"${jrebin}"
145 + done
146 + fi
147 +
148 + # bundled script is always lowercase, and doesn't have -ultimate, -professional suffix.
149 + local bundled_script_name="${PN%-*}.sh"
150 + make_wrapper "${PN}" "${dir}/bin/$bundled_script_name" || die
151 +
152 + local pngfile="$(find ${dst}/bin -maxdepth 1 -iname '*.png')"
153 + newicon $pngfile "${PN}.png" || die "we died"
154 +
155 + make_desktop_entry "${PN}" "IntelliJ Idea Community Edition" "${PN}" "Development;IDE;"
156 +
157 + # recommended by: https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit
158 + mkdir -p "${D}/etc/sysctl.d/" || die
159 + echo "fs.inotify.max_user_watches = 524288" > "${D}/etc/sysctl.d/30-idea-inotify-watches.conf" || die
160 +
161 + # remove bundled harfbuzz
162 + rm -f "${D}"/lib/libharfbuzz.so || die "Unable to remove bundled harfbuzz"
163 +
164 + # remove bundled java
165 + rm -r ${dst}/jbr || die "Unable to remove bundled java"
166 +
167 +}