java/intellij-ultimate: some fixes

* added pty4j native (bundled too old)
 * initial JDK 15+ support
 * fixed GUI rendering

PR:	253747
Submitted by:	dmitry.wagin@ya.ru
Approved by:	andoriyu@gmail.com (maintainer)
This commit is contained in:
Fernando Apesteguía 2021-03-01 07:53:45 +00:00
parent 6e2e171471
commit 14031e27fe
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=566830
2 changed files with 15 additions and 8 deletions

View file

@ -5,6 +5,7 @@
PORTNAME= intellij-ultimate
PORTVERSION= 2020.3.2
PORTREVISION= 1
CATEGORIES= java devel
MASTER_SITES= https://download-cf.jetbrains.com/idea/
DISTNAME= ideaIU-${PORTVERSION}-no-jbr
@ -18,7 +19,9 @@ LICENSE_NAME= Subscription license agreement for business and organizations
LICENSE_TEXT= See: https://www.jetbrains.com/store/license.html
LICENSE_PERMS= dist-mirror pkg-mirror auto-accept
RUN_DEPENDS= intellij-fsnotifier>0:java/intellij-fsnotifier
RUN_DEPENDS= intellij-fsnotifier>0:java/intellij-fsnotifier \
intellij-pty4j>=0.11.4:java/intellij-pty4j \
lsof:sysutils/lsof
USES= python:run shebangfix
@ -40,20 +43,24 @@ SUB_FILES= idea idea.desktop pkg-message
WRKSRC= ${WRKDIR}/idea-IU-203.7148.57
do-install:
# Initial JDK 15+ support
@${REINPLACE_CMD} '/UseConcMarkSweepGC/d' ${WRKSRC}/bin/idea.vmoptions
@${REINPLACE_CMD} '/UseConcMarkSweepGC/d' ${WRKSRC}/bin/idea64.vmoptions
# Linux/Windows/OS X only so remove them
@${RM} -r ${WRKSRC}/bin/fsnotifier \
@${RM} -r \
${WRKSRC}/bin/fsnotifier \
${WRKSRC}/bin/fsnotifier64 \
${WRKSRC}/lib/pty4j-native/ \
${WRKSRC}/plugins/webp/lib/libwebp/ \
${WRKSRC}/plugins/maven/lib/maven3/lib/jansi-native/linux32/ \
${WRKSRC}/plugins/maven/lib/maven3/lib/jansi-native/linux64/ \
${WRKSRC}/plugins/maven/lib/maven3/lib/jansi-native/osx/ \
${WRKSRC}/plugins/maven/lib/maven3/lib/jansi-native/windows32/ \
${WRKSRC}/plugins/maven/lib/maven3/lib/jansi-native/windows64/ \
${WRKSRC}/plugins/performanceTesting/bin/
${WRKSRC}/plugins/performanceTesting/bin/ \
${WRKSRC}/plugins/webp/lib/libwebp/
${MKDIR} ${STAGEDIR}${DATADIR}
@(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR} \
"! -name *\.so ! -name *\.dll ! -name *\.dylib ! -name *\.pdb ! -name *\.sh")
"! -name *\.bak ! -name *\.so ! -name *\.dll ! -name *\.dylib ! -name *\.pdb ! -name *\.sh")
@(cd ${WRKSRC} && ${COPYTREE_BIN} . ${STAGEDIR}${DATADIR} "-name *\.sh")
${INSTALL_LIB} ${WRKSRC}/plugins/maven/lib/maven3/lib/jansi-native/freebsd32/libjansi.so \
${STAGEDIR}${DATADIR}/plugins/maven/lib/maven3/lib/jansi-native/freebsd32/
@ -64,10 +71,9 @@ do-install:
${INSTALL_DATA} ${WRKDIR}/idea.desktop ${STAGEDIR}${PREFIX}/share/applications/
# Use fsnotifier replacement provided by java/intellij-fsnotifier
${ECHO} "idea.filewatcher.executable.path=${PREFIX}/intellij/bin/fsnotifier" >> ${STAGEDIR}${DATADIR}/bin/idea.properties
# Use pty4j replacement provided by java/intellij-pty4j
${LN} -sf ../../../intellij/lib/libpty ${STAGEDIR}${DATADIR}/lib/pty4j-native
# Fix "Typeahead timeout is exceeded" error
${ECHO} "action.aware.typeAhead=false" >> ${STAGEDIR}${DATADIR}/bin/idea.properties
# Fix slow render
${ECHO} "-Dsun.java2d.xrender=false" >> ${STAGEDIR}${DATADIR}/bin/idea.vmoptions
${ECHO} "-Dsun.java2d.xrender=false" >> ${STAGEDIR}${DATADIR}/bin/idea64.vmoptions
.include <bsd.port.mk>

View file

@ -332,6 +332,7 @@ share/applications/idea.desktop
%%DATADIR%%/lib/protobuf-java-3.13.0.jar
%%DATADIR%%/lib/proxy-vole-1.0.5-jb.2.jar
%%DATADIR%%/lib/pty4j-0.11.1.jar
%%DATADIR%%/lib/pty4j-native
%%DATADIR%%/lib/purejavacomm-0.0.11.1.jar
%%DATADIR%%/lib/qdox-2.0-M10.jar
%%DATADIR%%/lib/rd-core-0.203.181.jar