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 |
+} |