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