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() { |