Diff pycharm-professional-2021.1.2-r1 with a pycharm-professional-2021.3.2-r1

/usr/portage/dev-util/pycharm-professional/pycharm-professional-2021.3.2-r1.ebuild 2023-10-09 14:52:30.992368388 +0300
1 1
# Copyright 1999-2022 Gentoo Authors
2 2
# Distributed under the terms of the GNU General Public License v2
3 3

  
4
EAPI=7
4
EAPI=8
5 5

  
6
inherit desktop readme.gentoo-r1 wrapper xdg-utils
6
inherit desktop readme.gentoo-r1 wrapper
7 7

  
8
MY_PN=${PN/-professional/}
8 9
DESCRIPTION="Intelligent Python IDE with unique code assistance and analysis"
9 10
HOMEPAGE="https://www.jetbrains.com/pycharm/"
10 11
SRC_URI="https://download.jetbrains.com/python/${P}.tar.gz"
12
S="${WORKDIR}/${MY_PN}-${PV}"
11 13

  
12 14
LICENSE="PyCharm_Academic PyCharm_Classroom PyCharm PyCharm_OpenSource PyCharm_Preview"
13 15
SLOT="0"
14
KEYWORDS="amd64 x86"
16
KEYWORDS="~amd64 ~x86"
15 17
IUSE="+bundled-jdk"
16

  
17
BDEPEND="dev-util/patchelf"
18
RESTRICT="mirror"
18 19

  
19 20
RDEPEND="!bundled-jdk? ( >=virtual/jre-1.8 )
20
	app-arch/brotli
21
	app-arch/zstd
22
	app-crypt/p11-kit
23
	dev-libs/fribidi
24
	dev-libs/glib
25
	dev-libs/json-c
26
	dev-libs/libbsd
27
	dev-libs/libdbusmenu
28
	dev-libs/nss
29 21
	dev-python/pip
30 22
	media-fonts/dejavu
31
	media-gfx/graphite2
23
	|| (
24
		>=app-accessibility/at-spi2-core-2.46.0:2
25
		( app-accessibility/at-spi2-atk dev-libs/atk )
26
	)
27
	dev-libs/expat
28
	dev-libs/glib:2
29
	dev-libs/nspr
30
	dev-libs/nss
32 31
	media-libs/alsa-lib
33
	media-libs/fontconfig
34
	media-libs/freetype:2=
35
	media-libs/harfbuzz
36
	media-libs/libglvnd
37
	media-libs/libpng:0=
38
	net-libs/gnutls
32
	media-libs/freetype
33
	media-libs/mesa[gbm(+)]
39 34
	net-print/cups
40 35
	sys-apps/dbus
41
	sys-libs/libcap
42 36
	sys-libs/zlib
43
	virtual/jpeg:0=
37
	x11-libs/libdrm
44 38
	x11-libs/libX11
45 39
	x11-libs/libxcb
40
	x11-libs/libXcomposite
41
	x11-libs/libXcursor
42
	x11-libs/libXdamage
46 43
	x11-libs/libXext
44
	x11-libs/libXfixes
47 45
	x11-libs/libXi
46
	x11-libs/libxkbcommon
48 47
	x11-libs/libXrandr
49 48
	x11-libs/libXrender
49
	x11-libs/libxshmfence
50 50
	x11-libs/libXtst
51
	x11-libs/pango
51
	x11-libs/libXxf86vm
52 52
"
53
BDEPEND="dev-util/patchelf"
53 54

  
54
RESTRICT="mirror"
55

  
56
QA_PREBUILT="opt/${P}/*"
57

  
58
MY_PN=${PN/-professional/}
59
S="${WORKDIR}/${MY_PN}-${PV}"
55
QA_PREBUILT="opt/${PN}/*"
60 56

  
61 57
src_prepare() {
62 58
	default
59
	local remove_me=(
60
		help/ReferenceCardForMac.pdf
61
		lib/pty4j-native/linux/aarch64
62
		lib/pty4j-native/linux/arm
63
		lib/pty4j-native/linux/mips64el
64
		lib/pty4j-native/linux/ppc64le
65
		lib/pty4j-native/linux/$(usex amd64 x86 x86_64)
66
		plugins/remote-dev-server/selfcontained
67
		plugins/performanceTesting/bin/libyjpagent.so
68
		plugins/performanceTesting/bin/*.dll
69
		plugins/performanceTesting/bin/libyjpagent.dylib
70
		plugins/python/helpers/pydev/pydevd_attach_to_process/attach_linux_x86.so
71
		plugins/wsl-fs-helper
72
	)
63 73

  
64
	rm -vf "${S}"/help/ReferenceCardForMac.pdf || die
65

  
66
	rm -vf "${S}"/bin/fsnotifier || die
67
	rm -vf "${S}"/bin/phpstorm.vmoptions || die
68

  
69
	rm -vf "${S}"/plugins/performanceTesting/bin/libyjpagent.so || die
70
	rm -vf "${S}"/plugins/performanceTesting/bin/*.dll || die
71
	rm -vf "${S}"/plugins/performanceTesting/bin/libyjpagent.dylib || die
72
	rm -vrf "${S}"/lib/pty4j-native/linux/{aarch64,mips64el,ppc64le,x86} || die
73
	rm -vf "${S}"/plugins/python-ce/helpers/pydev/pydevd_attach_to_process/attach_linux_x86.so
74
	rm -rv "${remove_me[@]}" || die
74 75

  
75 76
	sed -i \
76 77
		-e "\$a\\\\" \
......
78 79
		-e "\$a# Disable automatic updates as these are handled through Gentoo's" \
79 80
		-e "\$a# package manager. See bug #704494" \
80 81
		-e "\$a#-----------------------------------------------------------------------" \
81
		-e "\$aide.no.platform.update=Gentoo" bin/idea.properties
82
		-e "\$aide.no.platform.update=Gentoo" \
83
		bin/idea.properties || die
82 84

  
83
	for file in "jbr/lib/"/{libjcef.so,jcef_helper}
84
	do
85
		if [[ -f "${file}" ]]; then
85
	local file
86
	for file in jbr/lib/{libjcef.so,jcef_helper}; do
87
		if [[ -f ${file} ]]; then
86 88
			patchelf --set-rpath '$ORIGIN' ${file} || die
87 89
		fi
88 90
	done
89 91
}
90 92

  
91 93
src_install() {
92
	local DIR="/opt/${PN}"
93
	local JRE_DIR="jbr"
94
	local dir="/opt/${PN}"
95
	local jre_dir="jbr"
94 96

  
95
	insinto ${DIR}
97
	insinto ${dir}
96 98
	doins -r *
97 99

  
98 100
	if ! use bundled-jdk; then
99
		rm -r "${JRE_DIR}" || die
101
		rm -r "${jre_dir}" || die
100 102
	fi
101 103

  
102
	fperms 755 "${DIR}"/bin/{format.sh,fsnotifier64,inspect.sh,ltedit.sh,pycharm.sh,printenv.py,restart.py}
104
	fperms 755 ${dir}/bin/{format.sh,fsnotifier,inspect.sh,ltedit.sh,printenv.py,pycharm.sh,restart.py}
103 105

  
104
	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}
105
	fperms 755 "${DIR}"/"${JRE_DIR}"/lib/{chrome-sandbox,jcef_helper,jexec,jspawnhelper}
106
	fperms 755 ${dir}/${jre_dir}/bin/{jaotc,java,javac,jcmd,jdb,jfr,jhsdb,jinfo,jjs,jmap,jps,jrunscript,jstack,jstat,keytool,pack200,rmid,rmiregistry,serialver,unpack200}
107
	fperms 755 ${dir}/${jre_dir}/lib/{chrome-sandbox,jcef_helper,jexec,jspawnhelper}
106 108

  
107
	make_wrapper "${PN}" "${DIR}/bin/pycharm.sh"
109
	make_wrapper ${PN} ${dir}/bin/pycharm.sh
108 110
	newicon bin/${MY_PN}.png ${PN}.png
109 111
	make_desktop_entry ${PN} ${PN} ${PN}
110 112

  
111 113
	readme.gentoo_create_doc
112 114

  
113 115
	# recommended by: https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit
114
	dodir /etc/sysctl.d/
115
	echo "fs.inotify.max_user_watches = 524288" > "${D}/etc/sysctl.d/30-idea-inotify-watches.conf" || die
116
	insinto /usr/lib/sysctl.d
117
	newins - 30-idea-inotify-watches.conf <<<"fs.inotify.max_user_watches = 524288"
116 118
}
117 119

  
118 120
pkg_postinst() {
119
	xdg_icon_cache_update
120
}
121

  
122
pkg_postrm() {
123
	xdg_icon_cache_update
121
	readme.gentoo_print_elog
124 122
}
Thank you!