commit:     8d0ac996bc56b545e3226ba27c8b222d75a23cf5
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Mon Jan 29 19:21:22 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sat Feb 24 13:28:50 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8d0ac996

dev-util/pycharm-professional: add 2023.3.3

* Add license of bundled dependencies.
* Drop x86 as compatible libraries aren't included.
* Finally handle noise from prebuilt libraries.
* Remove README which is outdated, nowadays JetBrains prefers their own
  fork of OpenJDK over Oracle JDK.

Bug: https://bugs.gentoo.org/694272
Bug: https://bugs.gentoo.org/914287
Bug: https://bugs.gentoo.org/914285
Bug: https://bugs.gentoo.org/914286
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 dev-util/pycharm-professional/Manifest             |   2 +
 .../pycharm-professional-2023.3.3.ebuild           | 146 +++++++++++++++++++++
 2 files changed, 148 insertions(+)

diff --git a/dev-util/pycharm-professional/Manifest 
b/dev-util/pycharm-professional/Manifest
index f1659aa1e097..e3c555617171 100644
--- a/dev-util/pycharm-professional/Manifest
+++ b/dev-util/pycharm-professional/Manifest
@@ -3,3 +3,5 @@ DIST pycharm-professional-2021.3.2.tar.gz 641411471 BLAKE2B 
783ec78e87663b464f8a
 DIST pycharm-professional-2021.3.3.tar.gz 640922827 BLAKE2B 
c1b622b7e633b4855c3b5bf7d5ebe470b383238c7a91bbdac6b80c5fa297710542ae409043b999f97c79ce99c4d30b5be88e95eca9e642c8a3bd8235dd26c7cf
 SHA512 
6d2ea59716129b30fca15900b8af4a5845d183042febfd33d1553443367dae2d9e80a5386d621ba6128ee67f7c2bc70c2b1da785eb287d4aa7091da75f23b3a1
 DIST pycharm-professional-2022.1.tar.gz 676891799 BLAKE2B 
fc115fd2fa8d8c73f48bf7369bccafcc1f80bed36d4fdb3225377631ac546b76452ac84d3b4230ff7b2278b93a7f13723e1b6429e902d6a240d21f36fbc1c9b3
 SHA512 
92afed366063dcba17e1ebc74da0900061055bc998180378a416cde6c6ded5a572869b793f1a8b74d5499ef2da2fb19ca3725e003de788c222193b45d045bf84
 DIST pycharm-professional-2023.2.tar.gz 752661880 BLAKE2B 
a808ea29be18a5d4da603ce764dbc2ccc854121afc4b063194c0b0c3494cb03e3aec48297e19495d5b658583147f4d0e12514e73c5d4439af6af91b0a38ece0d
 SHA512 
47be9af5d01e157df990a5c745ad12ddebe1963a164f379d3176e9b9cd064a02969b03b27116b38feec08f412857f1f1161015129d7c0c704e05f1fb5d331312
+DIST pycharm-professional-2023.3.3-aarch64.tar.gz 817002751 BLAKE2B 
75e43700d727bc7cabb2d87ea353cc6644ce66fdb669e52a17a64522f1e883d725ba8671ef664c7d7fb87508083656f42f937d9d7fbb30bacb11c0f7f7074d35
 SHA512 
a006dc281fb66c92ca2bee5b83f0deb85ca49eff8390a74b3f9869c0767931c83040136118d24b5acde24d30e9de1d3c7a7ff552c4e82331015e5325f3550817
+DIST pycharm-professional-2023.3.3.tar.gz 816045880 BLAKE2B 
2f967d6aad4ff837da1ed08e74a625c4f59ec9a867f47c112858e7d9d9fb1dcf538da82a4970b7cb0d2e35dfd7f30743ee14aaf2cfadf18fb3db05e5a10f35f8
 SHA512 
f7c32f8608e235f111ffd83573fb60e7efdac5107ec50564d33885b3c5c0ccc37f951c8df139ac8a23fffe92e51a3b487a37648daa4b801f49529f7d761cda2b

diff --git a/dev-util/pycharm-professional/pycharm-professional-2023.3.3.ebuild 
b/dev-util/pycharm-professional/pycharm-professional-2023.3.3.ebuild
new file mode 100644
index 000000000000..7d5d43322d79
--- /dev/null
+++ b/dev-util/pycharm-professional/pycharm-professional-2023.3.3.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop wrapper xdg
+
+MY_PN=${PN/-professional/}
+DESCRIPTION="Intelligent Python IDE with unique code assistance and analysis"
+HOMEPAGE="https://www.jetbrains.com/pycharm/";
+SRC_URI="
+       amd64? ( https://download.jetbrains.com/python/${P}.tar.gz )
+       arm64? ( https://download.jetbrains.com/python/${P}-aarch64.tar.gz )
+"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="PyCharm"
+#https://www.jetbrains.com/legal/third-party-software/?product=pcp
+#license/javahelp_license.txt: CDDL-1.1
+#license/javolution_license.txt: BSD-2
+#license/saxon-conditions.html: MPL-1.0
+#license/yourkit-license-redist.txt: BSD
+#license/third-party-libraries.json:
+## cat third-party-libraries.json | jq '.[].license' | sort | uniq
+# "commercial, available on request" 
http://www.yworks.com/products/yfiles-for-java-2.x/sla
+# "Custom" 
https://checkmarx.com/legal/jetbrains-checkmarx-end-user-terms-and-conditions/
+# color.js is MIT
+# codehaus is MIT
+# roman.py is ZPL not "Python 2.1.1 license"
+# Eclipse Distribution License 1.0 is BSD
+LICENSE+=" 0BSD Apache-2.0 BSD BSD-2 CC0-1.0 CC-BY-2.5 CC-BY-3.0 CC-BY-4.0 
CDDL-1.1 CPL-1.0 EPL-1.0 GPL-2"
+LICENSE+=" GPL-2-with-classpath-exception ISC JSON LGPL-2.1 LGPL-3 LGPL-3+ 
libpng MIT MPL-1.1 MPL-2.0 OFL"
+LICENSE+=" OFL-1.1 public-domain PYTHON unicode Unlicense W3C ZLIB ZPL"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+bundled-jdk"
+
+RDEPEND="
+       dev-libs/glib:2
+       dev-python/pip
+       media-fonts/dejavu
+       bundled-jdk? (
+               app-accessibility/at-spi2-core:2
+               dev-libs/expat
+               dev-libs/nspr
+               dev-libs/nss
+               media-libs/alsa-lib
+               media-libs/freetype:2=
+               media-libs/mesa
+               net-print/cups
+               sys-apps/dbus
+               sys-libs/zlib
+               x11-libs/cairo
+               x11-libs/libX11
+               x11-libs/libXcomposite
+               x11-libs/libXcursor
+               x11-libs/libXdamage
+               x11-libs/libXext
+               x11-libs/libXfixes
+               x11-libs/libXi
+               x11-libs/libXrandr
+               x11-libs/libXrender
+               x11-libs/libXtst
+               x11-libs/libXxf86vm
+               x11-libs/libdrm
+               x11-libs/libxcb
+               x11-libs/libxkbcommon
+               x11-libs/pango
+       )
+       !bundled-jdk? (
+               >=virtual/jre-17
+       )
+"
+BDEPEND="dev-util/patchelf"
+
+RESTRICT="mirror test"
+
+DESTDIR="/opt/${PN}"
+QA_PREBUILT="${DESTDIR#/}/.*"
+
+src_prepare() {
+       default
+       local remove_me=(
+               help/ReferenceCardForMac.pdf
+               plugins/remote-dev-server/selfcontained
+               
plugins/python/helpers/pydev/pydevd_attach_to_process/attach_linux_x86.so
+               
plugins/python/helpers/pydev/pydevd_attach_to_process/attach_linux_amd64.so
+               
plugins/python/helpers/pydev/pydevd_attach_to_process/attach_linux_aarch64.so
+               plugins/tailwindcss  # Relies on masked package sys-libs/musl
+       )
+
+       if use amd64; then
+               remove_me+=(
+                       lib/async-profiler/aarch64
+                       plugins/cwm-plugin/quiche-native/linux-aarch64
+               )
+       fi
+
+       if use arm64; then
+               remove_me+=(
+                       lib/async-profiler/amd64
+               )
+       fi
+
+       rm -rv "${remove_me[@]}" || die
+
+       sed -i \
+               -e "\$a\\\\" \
+               -e 
"\$a#-----------------------------------------------------------------------" \
+               -e "\$a# Disable automatic updates as these are handled through 
Gentoo's" \
+               -e "\$a# package manager. See bug #704494" \
+               -e 
"\$a#-----------------------------------------------------------------------" \
+               -e "\$aide.no.platform.update=Gentoo" \
+               bin/idea.properties || die
+
+       if ! use bundled-jdk; then
+               rm -rf jbr || die
+       fi
+
+       local file
+       for file in jbr/lib/{libjcef.so,jcef_helper}; do
+               if [[ -f ${file} ]]; then
+                       patchelf --set-rpath '$ORIGIN' ${file} || die
+               fi
+       done
+}
+
+src_install() {
+       insinto ${DESTDIR}
+       doins -r *
+
+       fperms 755 
${DESTDIR}/bin/{format.sh,fsnotifier,inspect.sh,jetbrains_client.sh,ltedit.sh,pycharm.sh,remote-dev-server.sh,repair,restarter}
+
+       if use bundled-jdk; then
+               fperms 755 
"${DESTDIR}"/jbr/bin/{java,javac,javadoc,jcmd,jdb,jfr,jhsdb,jinfo,jmap,jps,jrunscript,jstack,jstat,keytool,rmiregistry,serialver}
+               fperms 755 
"${DESTDIR}"/jbr/lib/{chrome-sandbox,jcef_helper,jexec,jspawnhelper}
+       fi
+
+       make_wrapper ${PN} ${DESTDIR}/bin/pycharm.sh
+       newicon bin/${MY_PN}.png ${PN}.png
+       make_desktop_entry ${PN} ${PN} ${PN}
+
+       # recommended by: 
https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit
+       insinto /usr/lib/sysctl.d
+       newins - 30-idea-inotify-watches.conf <<<"fs.inotify.max_user_watches = 
524288"
+}

Reply via email to