Various improvements:

- remove unneeded intellij-pty4j dependency
- install native library for jansi
- fix the "Typeahead timeout is exceeded" error
- general cleanup

PR:		239787
This commit is contained in:
Alex Dupre
2019-08-23 09:08:52 +00:00
parent 6f595e2bc0
commit 7efb3db29f
3 changed files with 22 additions and 12 deletions

View File

@@ -5,6 +5,7 @@
PORTNAME= intellij-ultimate
PORTVERSION= 2019.2
PORTREVISION= 1
CATEGORIES= java devel
MASTER_SITES= https://download-cf.jetbrains.com/idea/
DISTNAME= ideaIU-${PORTVERSION}-no-jbr
@@ -18,13 +19,12 @@ 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 \
intellij-pty4j>0:java/intellij-pty4j
RUN_DEPENDS= intellij-fsnotifier>0:java/intellij-fsnotifier
USES= python:run shebangfix
USE_JAVA= yes
JAVA_VERSION= 1.8+
JAVA_VERSION= 8+
SHEBANG_FILES= bin/printenv.py bin/restart.py \
plugins/spy-js/server/node_modules/node-uuid/benchmark/bench.sh \
@@ -32,12 +32,12 @@ SHEBANG_FILES= bin/printenv.py bin/restart.py \
plugins/spy-js/server/proxy-osx.sh
NO_ARCH= yes
NO_ARCH_IGNORE= libjansi.so
NO_BUILD= yes
WRKSRC= ${WRKDIR}/idea-IU-192.5728.98
SUB_FILES= idea idea.desktop pkg-message
SUB_LIST= DATADIR=${DATADIR}
CONFLICTS= intellij-20*
do-install:
@@ -45,23 +45,30 @@ do-install:
@${RM} -r ${WRKSRC}/bin/fsnotifier \
${WRKSRC}/bin/fsnotifier-arm \
${WRKSRC}/bin/fsnotifier64 \
${WRKSRC}/bin/libdbm64.so \
${WRKSRC}/lib/pty4j-native/ \
${WRKSRC}/plugins/android/lib/libwebp \
${WRKSRC}/plugins/maven/lib/maven3/lib/jansi-native \
${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
# Remove the bundled native Pty4J support libraries, they are replaced
# by java/intellij-pty4j
@${RM} -r ${WRKSRC}/lib/pty4j-native
# Remove bundled linux JetBrains Runtime and OpenJDK
@${RM} -r ${WRKSRC}/jbr ${WRKSRC}/jre64
${MKDIR} ${STAGEDIR}${DATADIR}
@(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR} \
"! -name *\.so ! -name *\.dll ! -name *\.dylib ! -name *\.pdb ! -name *\.sh")
@(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR} "-name *\.so")
@${STRIP_CMD} \
${STAGEDIR}${DATADIR}/plugins/maven/lib/maven3/lib/jansi-native/freebsd32/libjansi.so \
${STAGEDIR}${DATADIR}/plugins/maven/lib/maven3/lib/jansi-native/freebsd64/libjansi.so
@(cd ${WRKSRC} && ${COPYTREE_BIN} . ${STAGEDIR}${DATADIR} "-name *\.sh")
${INSTALL_SCRIPT} ${WRKDIR}/idea ${STAGEDIR}${PREFIX}/bin/idea
${INSTALL_MAN} ${FILESDIR}/idea.1 ${STAGEDIR}${PREFIX}/man/man1
${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
# 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

View File

@@ -3,8 +3,8 @@
message: <<EOM
There is a native (faster) file watching support backed by kqueue which is
enabled by default. If you encounter problems with watching large
trees, you can disable it by appending the following property into
%%DATADIR%%/bin/idea.properties:
trees, you can disable it by adding the following property via the menu
entry Help -> Edit Custom Properties...
idea.filewatcher.disabled=true
EOM

View File

@@ -10303,6 +10303,9 @@ share/applications/idea.desktop
%%DATADIR%%/plugins/maven/lib/maven3/lib/guice-4.2.1-no_aop.jar
%%DATADIR%%/plugins/maven/lib/maven3/lib/j2objc-annotations-1.1.jar
%%DATADIR%%/plugins/maven/lib/maven3/lib/jansi-1.17.1.jar
%%DATADIR%%/plugins/maven/lib/maven3/lib/jansi-native/README.txt
%%DATADIR%%/plugins/maven/lib/maven3/lib/jansi-native/freebsd32/libjansi.so
%%DATADIR%%/plugins/maven/lib/maven3/lib/jansi-native/freebsd64/libjansi.so
%%DATADIR%%/plugins/maven/lib/maven3/lib/javax.inject-1.jar
%%DATADIR%%/plugins/maven/lib/maven3/lib/jcl-over-slf4j-1.7.25.jar
%%DATADIR%%/plugins/maven/lib/maven3/lib/jcl-over-slf4j.license