git: 54d9137d0845 - main - devel/jetbrains-webstorm: Fixed pseudo terminal support

From: Guangyuan Yang <ygy_at_FreeBSD.org>
Date: Wed, 07 Dec 2022 05:07:33 UTC
The branch main has been updated by ygy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=54d9137d084527decc6767e1c5971ad21d07dca2

commit 54d9137d084527decc6767e1c5971ad21d07dca2
Author:     Dmitry Wagin <dmitry.wagin@ya.ru>
AuthorDate: 2022-12-07 05:07:17 +0000
Commit:     Guangyuan Yang <ygy@FreeBSD.org>
CommitDate: 2022-12-07 05:07:17 +0000

    devel/jetbrains-webstorm: Fixed pseudo terminal support
    
    PR:             268155
---
 devel/jetbrains-webstorm/Makefile  | 16 ++++++++++++++--
 devel/jetbrains-webstorm/pkg-plist | 10 ++--------
 2 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/devel/jetbrains-webstorm/Makefile b/devel/jetbrains-webstorm/Makefile
index 5d91f997ab7b..66a25ce8d797 100644
--- a/devel/jetbrains-webstorm/Makefile
+++ b/devel/jetbrains-webstorm/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	webstorm
 PORTVERSION=	2022.3
+PORTREVISION=	1
 CATEGORIES=	devel java
 MASTER_SITES=	https://download-cdn.jetbrains.com/webstorm/
 PKGNAMEPREFIX=	jetbrains-
@@ -15,7 +16,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
 
+BUILD_DEPENDS=	jna>0:devel/jna
 RUN_DEPENDS=	intellij-fsnotifier>0:java/intellij-fsnotifier \
+		jetbrains-pty4j>=0.12.10:devel/jetbrains-pty4j \
 		lsof:sysutils/lsof
 
 USES=		cpe python:run shebangfix
@@ -27,6 +30,7 @@ JAVA_VERSION=	17+
 SHEBANG_FILES=	bin/restart.py
 
 NO_ARCH=	yes
+NO_ARCH_IGNORE=	libjnidispatch.so
 NO_BUILD=	yes
 SUB_FILES=	${PORTNAME} ${PORTNAME}.desktop pkg-message
 
@@ -42,19 +46,27 @@ do-install:
 		${WRKSRC}/bin/repair \
 		${WRKSRC}/jbr \
 		${WRKSRC}/jre64 \
-		${WRKSRC}/lib/pty4j-native \
+		${WRKSRC}/lib/pty4j \
 		${WRKSRC}/plugins/cwm-plugin \
+		${WRKSRC}/plugins/gateway-plugin/lib/remote-dev-workers \
 		${WRKSRC}/plugins/performanceTesting \
 		${WRKSRC}/plugins/remote-dev-server \
 		${WRKSRC}/plugins/webp/lib/libwebp
 	${MKDIR} ${STAGEDIR}${DATADIR}
 	@(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR} \
-		"! -name *\.bak ! -name *\.so ! -name *\.dll ! -name *\.dylib ! -name *\.pdb ! -name *\.sh")
+		"! -name *\.bak ! -name *\.so ! -name *\.dll ! -name *\.dylib ! -name *\.pdb ! -name *\.sh ! -name *\.exe")
 	@(cd ${WRKSRC} && ${COPYTREE_BIN} . ${STAGEDIR}${DATADIR} "-name *\.sh")
 	${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
 	${INSTALL_MAN} ${FILESDIR}/${PORTNAME}.1 ${STAGEDIR}${PREFIX}/man/man1
 	${INSTALL_DATA} ${WRKDIR}/${PORTNAME}.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
+# Install FreeBSD native lib provided by devel/jna
+	@${MKDIR} ${WRKDIR}/jna
+	@(cd ${WRKDIR}/jna && ${JAR} xf ${JAVAJARDIR}/jna.jar com/sun/jna/freebsd-x86-64/libjnidispatch.so)
+	${MKDIR} ${STAGEDIR}${DATADIR}/lib/jna/amd64
+	${INSTALL_LIB} ${WRKDIR}/jna/com/sun/jna/freebsd-x86-64/libjnidispatch.so ${STAGEDIR}${DATADIR}/lib/jna/amd64/
+# Use pty4j replacement provided by devel/jetbrains-pty4j
+	${LN} -sf ../../../lib/pty4j ${STAGEDIR}${DATADIR}/lib/pty4j
 
 .include <bsd.port.mk>
diff --git a/devel/jetbrains-webstorm/pkg-plist b/devel/jetbrains-webstorm/pkg-plist
index 32c9077dffae..e9f2726fe707 100644
--- a/devel/jetbrains-webstorm/pkg-plist
+++ b/devel/jetbrains-webstorm/pkg-plist
@@ -43,11 +43,13 @@ share/applications/webstorm.desktop
 %%DATADIR%%/lib/intellij-coverage-agent-1.0.682.jar
 %%DATADIR%%/lib/intellij-test-discovery.jar
 %%DATADIR%%/lib/jetbrains-annotations.jar
+%%DATADIR%%/lib/jna/amd64/libjnidispatch.so
 %%DATADIR%%/lib/jps-model.jar
 %%DATADIR%%/lib/jsch-agent.jar
 %%DATADIR%%/lib/platform-objectSerializer-annotations.jar
 %%DATADIR%%/lib/platform-statistics-devkit.jar
 %%DATADIR%%/lib/protobuf.jar
+%%DATADIR%%/lib/pty4j
 %%DATADIR%%/lib/rd.jar
 %%DATADIR%%/lib/stats.jar
 %%DATADIR%%/lib/util.jar
@@ -100,12 +102,6 @@ share/applications/webstorm.desktop
 %%DATADIR%%/plugins/gateway-plugin/lib/gateway-plugin.jar
 %%DATADIR%%/plugins/gateway-plugin/lib/gateway-standalone/gateway.core.jar
 %%DATADIR%%/plugins/gateway-plugin/lib/gateway-standalone/gateway.jar
-%%DATADIR%%/plugins/gateway-plugin/lib/remote-dev-workers/remote-dev-worker-darwin-amd64
-%%DATADIR%%/plugins/gateway-plugin/lib/remote-dev-workers/remote-dev-worker-darwin-arm64
-%%DATADIR%%/plugins/gateway-plugin/lib/remote-dev-workers/remote-dev-worker-linux-amd64
-%%DATADIR%%/plugins/gateway-plugin/lib/remote-dev-workers/remote-dev-worker-linux-arm64
-%%DATADIR%%/plugins/gateway-plugin/lib/remote-dev-workers/remote-dev-worker-windows-amd64.exe
-%%DATADIR%%/plugins/gateway-plugin/lib/remote-dev-workers/remote-dev-worker-windows-arm64.exe
 %%DATADIR%%/plugins/gateway-plugin/resources/gateway.vmoptions
 %%DATADIR%%/plugins/gateway-terminal/lib/gateway-terminal.jar
 %%DATADIR%%/plugins/gherkin/lib/gherkin.jar
@@ -810,5 +806,3 @@ share/applications/webstorm.desktop
 %%DATADIR%%/plugins/xml-refactoring/lib/xml-refactoring.jar
 %%DATADIR%%/plugins/yaml/lib/yaml.jar
 %%DATADIR%%/product-info.json
-@dir %%DATADIR%%/lib/jna/amd64
-@dir %%DATADIR%%/lib/pty4j/linux/x86-64