Gentoo Archives: gentoo-commits

From: Mikle Kolyada <zlogene@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/pycharm-community/, dev-util/pycharm-professional/
Date: Sat, 17 Jul 2021 13:51:52
Message-Id: 1626529895.b68efb6ec1f063f6451c24b21af0abfc165f3f5e.zlogene@gentoo
1 commit: b68efb6ec1f063f6451c24b21af0abfc165f3f5e
2 Author: INODE64 <ffelix <AT> inode64 <DOT> com>
3 AuthorDate: Thu Jul 1 13:47:55 2021 +0000
4 Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
5 CommitDate: Sat Jul 17 13:51:35 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b68efb6e
7
8 Massive update for dev-util/pycharm-professional and dev-util/pycharm-community
9
10 * Fix rpath_security_checks
11 * Fix crash when opening a markdown
12 * Remove files from other architectures
13 * Include missing deps
14 * Use wrapper
15 * Include recommended fs.inotify.max_user_watches
16
17 Closes: https://bugs.gentoo.org/798765 https://bugs.gentoo.org/798762 https://bugs.gentoo.org/795258 https://bugs.gentoo.org/792516 https://bugs.gentoo.org/792459 https://bugs.gentoo.org/792393 https://bugs.gentoo.org/787536 https://bugs.gentoo.org/763879 https://bugs.gentoo.org/733058 https://bugs.gentoo.org/733042
18
19 Package-Manager: Portage-3.0.20, Repoman-3.0.2
20 Signed-off-by: INODE64 <ffelix <AT> inode64.com>
21 Closes: https://github.com/gentoo/gentoo/pull/21499
22 Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
23
24 .../pycharm-community-2021.1.2.ebuild | 101 ++++++++++++++++----
25 .../pycharm-professional-2021.1.2.ebuild | 103 +++++++++++++++++----
26 2 files changed, 167 insertions(+), 37 deletions(-)
27
28 diff --git a/dev-util/pycharm-community/pycharm-community-2021.1.2.ebuild b/dev-util/pycharm-community/pycharm-community-2021.1.2.ebuild
29 index 6954ddae2fa..c9c849340bf 100644
30 --- a/dev-util/pycharm-community/pycharm-community-2021.1.2.ebuild
31 +++ b/dev-util/pycharm-community/pycharm-community-2021.1.2.ebuild
32 @@ -3,7 +3,7 @@
33
34 EAPI=7
35
36 -inherit desktop readme.gentoo-r1 xdg-utils
37 +inherit desktop readme.gentoo-r1 wrapper xdg-utils
38
39 DESCRIPTION="Intelligent Python IDE with unique code assistance and analysis"
40 HOMEPAGE="http://www.jetbrains.com/pycharm/"
41 @@ -14,39 +14,104 @@ SLOT="0"
42 KEYWORDS="amd64 x86"
43 IUSE="+bundled-jdk"
44
45 +BDEPEND="dev-util/patchelf"
46 +
47 RDEPEND="!bundled-jdk? ( >=virtual/jre-1.8 )
48 + app-arch/brotli
49 + app-arch/zstd
50 + app-crypt/p11-kit
51 + dev-libs/fribidi
52 + dev-libs/glib
53 + dev-libs/json-c
54 + dev-libs/libbsd
55 dev-libs/libdbusmenu
56 - dev-python/pip"
57 -
58 -RESTRICT="mirror strip"
59 -
60 -QA_PREBUILT="*"
61 + dev-libs/nss
62 + dev-python/pip
63 + media-fonts/dejavu
64 + media-gfx/graphite2
65 + media-libs/alsa-lib
66 + media-libs/fontconfig
67 + media-libs/freetype:2=
68 + media-libs/harfbuzz
69 + media-libs/libglvnd
70 + media-libs/libpng:0=
71 + net-libs/gnutls
72 + net-print/cups
73 + sys-apps/dbus
74 + sys-libs/libcap
75 + sys-libs/zlib
76 + virtual/jpeg:0=
77 + x11-libs/libX11
78 + x11-libs/libxcb
79 + x11-libs/libXext
80 + x11-libs/libXi
81 + x11-libs/libXrandr
82 + x11-libs/libXrender
83 + x11-libs/libXtst
84 + x11-libs/pango
85 +"
86 +
87 +RESTRICT="mirror"
88 +
89 +QA_PREBUILT="opt/${P}/*"
90
91 MY_PN=${PN/-community/}
92
93 +src_prepare() {
94 + default
95 +
96 + rm -vf "${S}"/help/ReferenceCardForMac.pdf || die
97 +
98 + rm -vf "${S}"/bin/fsnotifier || die
99 + rm -vf "${S}"/bin/phpstorm.vmoptions || die
100 +
101 + rm -vf "${S}"/plugins/performanceTesting/bin/libyjpagent.so || die
102 + rm -vf "${S}"/plugins/performanceTesting/bin/*.dll || die
103 + rm -vf "${S}"/plugins/performanceTesting/bin/libyjpagent.dylib || die
104 + rm -vrf "${S}"/lib/pty4j-native/linux/{aarch64,mips64el,ppc64le,x86} || die
105 + rm -vf "${S}"/plugins/python-ce/helpers/pydev/pydevd_attach_to_process/attach_linux_x86.so
106 +
107 + sed -i \
108 + -e "\$a\\\\" \
109 + -e "\$a#-----------------------------------------------------------------------" \
110 + -e "\$a# Disable automatic updates as these are handled through Gentoo's" \
111 + -e "\$a# package manager. See bug #704494" \
112 + -e "\$a#-----------------------------------------------------------------------" \
113 + -e "\$aide.no.platform.update=Gentoo" bin/idea.properties
114 +
115 + for file in "jbr/lib/"/{libjcef.so,jcef_helper}
116 + do
117 + if [[ -f "${file}" ]]; then
118 + patchelf --set-rpath '$ORIGIN' ${file} || die
119 + fi
120 + done
121 +}
122 +
123 src_install() {
124 - insinto /opt/${PN}
125 + local DIR="/opt/${PN}"
126 + local JRE_DIR="jbr"
127 +
128 + insinto ${DIR}
129 doins -r *
130
131 - if use bundled-jdk; then
132 - fperms -R a+x /opt/pycharm-community/jbr/bin/
133 - else
134 - rm -r "${D}"/opt/pycharm-community/jbr/ || die
135 + if ! use bundled-jdk; then
136 + rm -r "${JRE_DIR}" || die
137 fi
138
139 - local rub
140 + fperms 755 "${DIR}"/bin/{format.sh,fsnotifier64,inspect.sh,ltedit.sh,pycharm.sh,printenv.py,restart.py}
141
142 - for rub in aarch64 mips64el ppc64le; do
143 - rm -r "${D}"/opt/pycharm-community/lib/pty4j-native/linux/${rub} || die
144 - done
145 + fperms 755 "${DIR}"/"${JRE_DIR}"/bin/{jaotc,java,javac,jcmd,jdb,jfr,jhsdb,jjs,jmap,jps,jrunscript,jstack,jstat,keytool,pack200,rmid,rmiregistry,serialver,unpack200}
146 + fperms 755 "${DIR}"/"${JRE_DIR}"/lib/{chrome-sandbox,jcef_helper,jexec,jspawnhelper}
147
148 - fperms a+x /opt/${PN}/bin/{pycharm.sh,fsnotifier{,64},inspect.sh}
149 -
150 - dosym ../../opt/${PN}/bin/pycharm.sh /usr/bin/${PN}
151 + make_wrapper "${PN}" "${DIR}/bin/pycharm.sh"
152 newicon bin/${MY_PN}.png ${PN}.png
153 make_desktop_entry ${PN} ${PN} ${PN}
154
155 readme.gentoo_create_doc
156 +
157 + # recommended by: https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit
158 + dodir /etc/sysctl.d/
159 + echo "fs.inotify.max_user_watches = 524288" > "${D}/etc/sysctl.d/30-idea-inotify-watches.conf" || die
160 }
161
162 pkg_postinst() {
163
164 diff --git a/dev-util/pycharm-professional/pycharm-professional-2021.1.2.ebuild b/dev-util/pycharm-professional/pycharm-professional-2021.1.2.ebuild
165 index 3f340f7deba..e720741472c 100644
166 --- a/dev-util/pycharm-professional/pycharm-professional-2021.1.2.ebuild
167 +++ b/dev-util/pycharm-professional/pycharm-professional-2021.1.2.ebuild
168 @@ -3,7 +3,7 @@
169
170 EAPI=7
171
172 -inherit desktop readme.gentoo-r1 xdg-utils
173 +inherit desktop readme.gentoo-r1 wrapper xdg-utils
174
175 DESCRIPTION="Intelligent Python IDE with unique code assistance and analysis"
176 HOMEPAGE="http://www.jetbrains.com/pycharm/"
177 @@ -14,40 +14,105 @@ SLOT="0"
178 KEYWORDS="amd64 x86"
179 IUSE="+bundled-jdk"
180
181 +BDEPEND="dev-util/patchelf"
182 +
183 RDEPEND="!bundled-jdk? ( >=virtual/jre-1.8 )
184 + app-arch/brotli
185 + app-arch/zstd
186 + app-crypt/p11-kit
187 + dev-libs/fribidi
188 + dev-libs/glib
189 + dev-libs/json-c
190 + dev-libs/libbsd
191 dev-libs/libdbusmenu
192 - dev-python/pip"
193 -
194 -RESTRICT="mirror strip"
195 -
196 -QA_PREBUILT="*"
197 + dev-libs/nss
198 + dev-python/pip
199 + media-fonts/dejavu
200 + media-gfx/graphite2
201 + media-libs/alsa-lib
202 + media-libs/fontconfig
203 + media-libs/freetype:2=
204 + media-libs/harfbuzz
205 + media-libs/libglvnd
206 + media-libs/libpng:0=
207 + net-libs/gnutls
208 + net-print/cups
209 + sys-apps/dbus
210 + sys-libs/libcap
211 + sys-libs/zlib
212 + virtual/jpeg:0=
213 + x11-libs/libX11
214 + x11-libs/libxcb
215 + x11-libs/libXext
216 + x11-libs/libXi
217 + x11-libs/libXrandr
218 + x11-libs/libXrender
219 + x11-libs/libXtst
220 + x11-libs/pango
221 +"
222 +
223 +RESTRICT="mirror"
224 +
225 +QA_PREBUILT="opt/${P}/*"
226
227 MY_PN=${PN/-professional/}
228 S="${WORKDIR}/${MY_PN}-${PV}"
229
230 +src_prepare() {
231 + default
232 +
233 + rm -vf "${S}"/help/ReferenceCardForMac.pdf || die
234 +
235 + rm -vf "${S}"/bin/fsnotifier || die
236 + rm -vf "${S}"/bin/phpstorm.vmoptions || die
237 +
238 + rm -vf "${S}"/plugins/performanceTesting/bin/libyjpagent.so || die
239 + rm -vf "${S}"/plugins/performanceTesting/bin/*.dll || die
240 + rm -vf "${S}"/plugins/performanceTesting/bin/libyjpagent.dylib || die
241 + rm -vrf "${S}"/lib/pty4j-native/linux/{aarch64,mips64el,ppc64le,x86} || die
242 + rm -vf "${S}"/plugins/python-ce/helpers/pydev/pydevd_attach_to_process/attach_linux_x86.so
243 +
244 + sed -i \
245 + -e "\$a\\\\" \
246 + -e "\$a#-----------------------------------------------------------------------" \
247 + -e "\$a# Disable automatic updates as these are handled through Gentoo's" \
248 + -e "\$a# package manager. See bug #704494" \
249 + -e "\$a#-----------------------------------------------------------------------" \
250 + -e "\$aide.no.platform.update=Gentoo" bin/idea.properties
251 +
252 + for file in "jbr/lib/"/{libjcef.so,jcef_helper}
253 + do
254 + if [[ -f "${file}" ]]; then
255 + patchelf --set-rpath '$ORIGIN' ${file} || die
256 + fi
257 + done
258 +}
259 +
260 src_install() {
261 - insinto /opt/${PN}
262 + local DIR="/opt/${PN}"
263 + local JRE_DIR="jbr"
264 +
265 + insinto ${DIR}
266 doins -r *
267
268 - if use bundled-jdk; then
269 - fperms -R a+x /opt/pycharm-professional/jbr/bin/
270 - else
271 - rm -r "${D}"/opt/pycharm-professional/jbr/ || die
272 + if ! use bundled-jdk; then
273 + rm -r "${JRE_DIR}" || die
274 fi
275
276 - fperms a+x /opt/${PN}/bin/{pycharm.sh,fsnotifier{,64},inspect.sh}
277 + fperms 755 "${DIR}"/bin/{format.sh,fsnotifier64,inspect.sh,ltedit.sh,pycharm.sh,printenv.py,restart.py}
278 +
279 + fperms 755 "${DIR}"/"${JRE_DIR}"/bin/{jaotc,java,javac,jcmd,jdb,jfr,jhsdb,jjs,jmap,jps,jrunscript,jstack,jstat,keytool,pack200,rmid,rmiregistry,serialver,unpack200}
280 + fperms 755 "${DIR}"/"${JRE_DIR}"/lib/{chrome-sandbox,jcef_helper,jexec,jspawnhelper}
281
282 - dosym ../../opt/${PN}/bin/pycharm.sh /usr/bin/${PN}
283 + make_wrapper "${PN}" "${DIR}/bin/pycharm.sh"
284 newicon bin/${MY_PN}.png ${PN}.png
285 make_desktop_entry ${PN} ${PN} ${PN}
286
287 - local rub
288 -
289 - for rub in aarch64 mips64el ppc64le; do
290 - rm -r "${D}"/opt/pycharm-professional/lib/pty4j-native/linux/${rub} || die
291 - done
292 -
293 readme.gentoo_create_doc
294 +
295 + # recommended by: https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit
296 + dodir /etc/sysctl.d/
297 + echo "fs.inotify.max_user_watches = 524288" > "${D}/etc/sysctl.d/30-idea-inotify-watches.conf" || die
298 }
299
300 pkg_postinst() {