Index: java/Makefile =================================================================== --- java/Makefile (revision 409495) +++ java/Makefile (working copy) @@ -29,6 +29,8 @@ SUBDIR += icedtea-web SUBDIR += infobus SUBDIR += intellij + SUBDIR += intellij-fsnotifier + SUBDIR += intellij-pty4j SUBDIR += jad SUBDIR += jaf SUBDIR += jai Index: java/intellij/Makefile =================================================================== --- java/intellij/Makefile (revision 409495) +++ java/intellij/Makefile (working copy) @@ -5,13 +5,11 @@ # Vadim Zhukov PORTNAME= intellij -PORTVERSION= 15.0.3 +PORTVERSION= 15.0.4 CATEGORIES= java devel -MASTER_SITES= https://download.jetbrains.com/idea/:jetbrains \ - http://download.jetbrains.com/idea/:jetbrains \ - GH:pty4j -DISTFILES= ideaIC-${PORTVERSION}.tar.gz:jetbrains \ - ${DISTNAME}.tar.gz:pty4j +MASTER_SITES= https://download.jetbrains.com/idea/ \ + http://download.jetbrains.com/idea/ +DISTNAME= ideaIC-${PORTVERSION} MAINTAINER= t@tobik.me COMMENT= IntelliJ IDEA Community Edition @@ -18,52 +16,23 @@ LICENSE= APACHE20 -# Upstream has merged pty4j FreeBSD support but no offical release/tag -# with it yet -USE_GITHUB= yes -GH_ACCOUNT= traff -GH_PROJECT= pty4j -GH_TAGNAME= 335982264104fd4529f2ee75f08d1e1d9f9d544a +RUN_DEPENDS= intellij-fsnotifier>0:${PORTSDIR}/java/intellij-fsnotifier \ + intellij-pty4j>0:${PORTSDIR}/java/intellij-pty4j USE_JAVA= yes JAVA_VERSION= 1.7+ -WRKDIST= ${WRKDIR}/idea-IC-143.1821.5 +NO_ARCH= yes +NO_BUILD= yes -IDEA_HOME= ${PREFIX}/${PORTNAME} +WRKDIST= ${WRKDIR}/idea-IC-143.2287.1 -USES= gmake +.include "common.mk" -PLIST_SUB+= IDEA_HOME=${IDEA_HOME} \ - PTY4J_ARCH=${PTY4J_ARCH} +PLIST_SUB+= IDEA_HOME=${IDEA_HOME} SUB_FILES+= idea idea.desktop SUB_LIST+= IDEA_HOME=${IDEA_HOME} -.include - -# The directory we need to install Pty4J's native library in depends -# on the install target's architecture. We rebuild libpty.so instead -# of using one of the bundled ones which are FreeBSD 10.x only. -.if ${ARCH} == "amd64" -PTY4J_ARCH= x86_64 -.elif ${ARCH} == "i386" -PTY4J_ARCH= x86 -.else -PTY4J_ARCH= -.endif - -.if ${PTY4J_ARCH} != "" -# Despite what the name might suggest using the linux_x86_64 target -# will always build libpty.so for the native platform. -BUILD_WRKSRC= ${WRKSRC}/native -MAKEFILE= Makefile_freebsd -ALL_TARGET= linux_x86_64 -.else -# If native Pty4J support is missing IntelliJ IDEA will still work but -# without the ability to open terminals. -NO_BUILD= yes -.endif - do-install: ${MKDIR} ${STAGEDIR}${IDEA_HOME} @${TAR} -czf - -C ${WRKDIST} . | ${TAR} xzf - -C ${STAGEDIR}${IDEA_HOME} @@ -79,20 +48,19 @@ ${STAGEDIR}${IDEA_HOME}/plugins/gradle/lib/native-platform-osx-i386-0.10.jar \ ${STAGEDIR}${IDEA_HOME}/plugins/gradle/lib/native-platform-windows-amd64-0.10.jar \ ${STAGEDIR}${IDEA_HOME}/plugins/gradle/lib/native-platform-windows-i386-0.10.jar -# Remove the bundled native Pty4J support libraries and replace with our own +# Remove the bundled native Pty4J support libraries, they are replaced +# by java/intellij-pty4j @${RM} -r ${STAGEDIR}${IDEA_HOME}/lib/libpty -.if ${PTY4J_ARCH} != "" - ${MKDIR} ${STAGEDIR}${IDEA_HOME}/lib/libpty/freebsd/${PTY4J_ARCH} -# See above why we always use freebsd/x86_64/ here - ${INSTALL_LIB} ${WRKSRC}/os/freebsd/x86_64/libpty.so ${STAGEDIR}${IDEA_HOME}/lib/libpty/freebsd/${PTY4J_ARCH}/ - ${INSTALL_DATA} ${WRKSRC}/build/pty4j-0.5.jar ${STAGEDIR}${IDEA_HOME}/lib/pty4j-0.5.jar -.endif + @${RM} ${STAGEDIR}${IDEA_HOME}/lib/pty4j-0.5.jar ${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/ cd ${WRKDIST}/lib && ${JAVA_HOME}/bin/jar xf icons.jar ${INSTALL_DATA} ${WRKDIST}/lib/icon.png ${STAGEDIR}${IDEA_HOME}/idea.png +# TODO: Remove and enable fsnotifier when devel/libinotify is fixed # Disable filewatcher warning message on IDEA startup ${ECHO} "idea.filewatcher.disabled=true" >> ${STAGEDIR}${IDEA_HOME}/bin/idea.properties +# Use fsnotifier replacement provided by java/intellij-fsnotifier +# ${ECHO} "idea.filewatcher.executable.path=${IDEA_HOME}/bin/fsnotifier" >> ${STAGEDIR}${IDEA_HOME}/bin/idea.properties .include Index: java/intellij/common.mk =================================================================== --- java/intellij/common.mk (nonexistent) +++ java/intellij/common.mk (working copy) @@ -0,0 +1,5 @@ +# $FreeBSD$ + +# Common settings for the java/intellij* ports + +IDEA_HOME=${PREFIX}/intellij Index: java/intellij/distinfo =================================================================== --- java/intellij/distinfo (revision 409495) +++ java/intellij/distinfo (working copy) @@ -1,4 +1,2 @@ -SHA256 (ideaIC-15.0.3.tar.gz) = 0a4b755f3a48b3b5ad1000e17a92462c33ad5a8cc4912d6e276bbc4bf1241296 -SIZE (ideaIC-15.0.3.tar.gz) = 232760076 -SHA256 (traff-pty4j-15.0.3-335982264104fd4529f2ee75f08d1e1d9f9d544a_GH0.tar.gz) = bf2ffe37e9ecc5cbca879023ce7822461b1996c4affc50aa71265bce5cda6e93 -SIZE (traff-pty4j-15.0.3-335982264104fd4529f2ee75f08d1e1d9f9d544a_GH0.tar.gz) = 4856849 +SHA256 (ideaIC-15.0.4.tar.gz) = 7653edd0687de6948b3c5b128c0683c96f89dea96bedd995a279f4d359816a16 +SIZE (ideaIC-15.0.4.tar.gz) = 234258484 Index: java/intellij/files/pkg-message.in =================================================================== --- java/intellij/files/pkg-message.in (nonexistent) +++ java/intellij/files/pkg-message.in (working copy) @@ -0,0 +1,8 @@ +There is experimental native (faster) file watching support which is +disabled by default. Currently there are problems with watching large +trees. To enable edit %%IDEA_HOME%%/bin/idea.properties and append + + idea.filewatcher.disabled=false + idea.filewatcher.executable.path=%%IDEA_HOME%%/bin/fsnotifier + +Only enable fsnotifier if your projects have < 600 files. Index: java/intellij/pkg-plist =================================================================== --- java/intellij/pkg-plist (revision 409495) +++ java/intellij/pkg-plist (working copy) @@ -1,12 +1,7 @@ -bin/idea -%%IDEA_HOME%%/idea.png %%IDEA_HOME%%/Install-Linux-tar.txt %%IDEA_HOME%%/LICENSE.txt %%IDEA_HOME%%/NOTICE.txt %%IDEA_HOME%%/bin/appletviewer.policy -@comment %%IDEA_HOME%%/bin/fsnotifier -@comment %%IDEA_HOME%%/bin/fsnotifier-arm -@comment %%IDEA_HOME%%/bin/fsnotifier64 %%IDEA_HOME%%/bin/idea.png %%IDEA_HOME%%/bin/idea.properties %%IDEA_HOME%%/bin/idea.sh @@ -13,10 +8,9 @@ %%IDEA_HOME%%/bin/idea.vmoptions %%IDEA_HOME%%/bin/idea64.vmoptions %%IDEA_HOME%%/bin/inspect.sh -@comment %%IDEA_HOME%%/bin/libbreakgen.so -@comment %%IDEA_HOME%%/bin/libbreakgen64.so %%IDEA_HOME%%/bin/log.xml %%IDEA_HOME%%/build.txt +%%IDEA_HOME%%/idea.png %%IDEA_HOME%%/lib/annotations.jar %%IDEA_HOME%%/lib/ant/INSTALL %%IDEA_HOME%%/lib/ant/KEYS @@ -136,18 +130,6 @@ %%IDEA_HOME%%/lib/jzlib-1.1.1.jar %%IDEA_HOME%%/lib/kotlin-reflect.jar %%IDEA_HOME%%/lib/kotlin-runtime.jar -%%IDEA_HOME%%/lib/libpty/freebsd/%%PTY4J_ARCH%%/libpty.so -@comment %%IDEA_HOME%%/lib/libpty/linux/x86/libpty.so -@comment %%IDEA_HOME%%/lib/libpty/linux/x86_64/libpty.so -@comment %%IDEA_HOME%%/lib/libpty/macosx/x86/libpty.dylib -@comment %%IDEA_HOME%%/lib/libpty/macosx/x86_64/libpty.dylib -@comment %%IDEA_HOME%%/lib/libpty/win/x86/libwinpty.dll -@comment %%IDEA_HOME%%/lib/libpty/win/x86/winpty-agent.exe -@comment %%IDEA_HOME%%/lib/libpty/win/x86_64/cyglaunch.exe -@comment %%IDEA_HOME%%/lib/libpty/win/x86_64/libwinpty.dll -@comment %%IDEA_HOME%%/lib/libpty/win/x86_64/winpty-agent.exe -@comment %%IDEA_HOME%%/lib/libpty/win/xp/libwinpty.dll -@comment %%IDEA_HOME%%/lib/libpty/win/xp/winpty-agent.exe %%IDEA_HOME%%/lib/log4j.jar %%IDEA_HOME%%/lib/markdown4j-2.2.jar %%IDEA_HOME%%/lib/markdownj-core-0.4.2-SNAPSHOT.jar @@ -162,7 +144,6 @@ %%IDEA_HOME%%/lib/picocontainer.jar %%IDEA_HOME%%/lib/protobuf-2.5.0.jar %%IDEA_HOME%%/lib/proxy-vole_20131209.jar -%%IDEA_HOME%%/lib/pty4j-0.5.jar %%IDEA_HOME%%/lib/purejavacomm.jar %%IDEA_HOME%%/lib/resolver.jar %%IDEA_HOME%%/lib/resources.jar @@ -254,7 +235,9 @@ %%IDEA_HOME%%/plugins/Kotlin/kotlinc/lib/android-compiler-plugin.jar %%IDEA_HOME%%/plugins/Kotlin/kotlinc/lib/kotlin-android-sdk-annotations.jar %%IDEA_HOME%%/plugins/Kotlin/kotlinc/lib/kotlin-ant.jar +%%IDEA_HOME%%/plugins/Kotlin/kotlinc/lib/kotlin-build-common.jar %%IDEA_HOME%%/plugins/Kotlin/kotlinc/lib/kotlin-compiler.jar +%%IDEA_HOME%%/plugins/Kotlin/kotlinc/lib/kotlin-daemon-client.jar %%IDEA_HOME%%/plugins/Kotlin/kotlinc/lib/kotlin-jdk-annotations.jar %%IDEA_HOME%%/plugins/Kotlin/kotlinc/lib/kotlin-jslib-sources.jar %%IDEA_HOME%%/plugins/Kotlin/kotlinc/lib/kotlin-jslib.jar @@ -263,6 +246,7 @@ %%IDEA_HOME%%/plugins/Kotlin/kotlinc/lib/kotlin-runner.jar %%IDEA_HOME%%/plugins/Kotlin/kotlinc/lib/kotlin-runtime-sources.jar %%IDEA_HOME%%/plugins/Kotlin/kotlinc/lib/kotlin-runtime.jar +%%IDEA_HOME%%/plugins/Kotlin/kotlinc/lib/kotlin-test.jar %%IDEA_HOME%%/plugins/Kotlin/kotlinc/license/LICENSE.txt %%IDEA_HOME%%/plugins/Kotlin/kotlinc/license/NOTICE.txt %%IDEA_HOME%%/plugins/Kotlin/kotlinc/license/third_party/args4j_LICENSE.txt @@ -276,13 +260,11 @@ %%IDEA_HOME%%/plugins/Kotlin/kotlinc/license/third_party/rhino_LICENSE.txt %%IDEA_HOME%%/plugins/Kotlin/lib/javax.inject.jar %%IDEA_HOME%%/plugins/Kotlin/lib/jps/kotlin-jps-plugin.jar +%%IDEA_HOME%%/plugins/Kotlin/lib/kotlin-android-extensions-compiler-plugin.jar +%%IDEA_HOME%%/plugins/Kotlin/lib/kotlin-android-extensions-plugin.jar %%IDEA_HOME%%/plugins/Kotlin/lib/kotlin-plugin.jar %%IDEA_HOME%%/plugins/Kotlin/lib/kotlin-reflect.jar %%IDEA_HOME%%/plugins/Kotlin/lib/kotlin-runtime.jar -%%IDEA_HOME%%/plugins/Kotlin/kotlinc/lib/kotlin-daemon-client.jar -%%IDEA_HOME%%/plugins/Kotlin/kotlinc/lib/kotlin-test.jar -%%IDEA_HOME%%/plugins/Kotlin/lib/kotlin-android-extensions-compiler-plugin.jar -%%IDEA_HOME%%/plugins/Kotlin/lib/kotlin-android-extensions-plugin.jar %%IDEA_HOME%%/plugins/Kotlin/lib/markdown.jar %%IDEA_HOME%%/plugins/android/lib/GoogleFeedback.jar %%IDEA_HOME%%/plugins/android/lib/android-common.jar @@ -1462,12 +1444,6 @@ %%IDEA_HOME%%/plugins/gradle/lib/native-platform-0.10.jar %%IDEA_HOME%%/plugins/gradle/lib/native-platform-freebsd-amd64-0.10.jar %%IDEA_HOME%%/plugins/gradle/lib/native-platform-freebsd-i386-0.10.jar -@comment %%IDEA_HOME%%/plugins/gradle/lib/native-platform-linux-amd64-0.10.jar -@comment %%IDEA_HOME%%/plugins/gradle/lib/native-platform-linux-i386-0.10.jar -@comment %%IDEA_HOME%%/plugins/gradle/lib/native-platform-osx-amd64-0.10.jar -@comment %%IDEA_HOME%%/plugins/gradle/lib/native-platform-osx-i386-0.10.jar -@comment %%IDEA_HOME%%/plugins/gradle/lib/native-platform-windows-amd64-0.10.jar -@comment %%IDEA_HOME%%/plugins/gradle/lib/native-platform-windows-i386-0.10.jar %%IDEA_HOME%%/plugins/gradle/lib/objenesis-1.2.jar %%IDEA_HOME%%/plugins/gradle/lib/reflectasm-1.07.jar %%IDEA_HOME%%/plugins/gradle/lib/resources_en.jar @@ -1637,5 +1613,28 @@ %%IDEA_HOME%%/plugins/xslt-debugger/lib/xslt-debugger-engine.jar %%IDEA_HOME%%/plugins/xslt-debugger/lib/xslt-debugger.jar %%IDEA_HOME%%/redist/annotations-java8.jar +@comment %%IDEA_HOME%%/bin/fsnotifier +@comment %%IDEA_HOME%%/bin/fsnotifier-arm +@comment %%IDEA_HOME%%/bin/fsnotifier64 +@comment %%IDEA_HOME%%/bin/libbreakgen.so +@comment %%IDEA_HOME%%/bin/libbreakgen64.so +@comment %%IDEA_HOME%%/lib/libpty/linux/x86/libpty.so +@comment %%IDEA_HOME%%/lib/libpty/linux/x86_64/libpty.so +@comment %%IDEA_HOME%%/lib/libpty/macosx/x86/libpty.dylib +@comment %%IDEA_HOME%%/lib/libpty/macosx/x86_64/libpty.dylib +@comment %%IDEA_HOME%%/lib/libpty/win/x86/libwinpty.dll +@comment %%IDEA_HOME%%/lib/libpty/win/x86/winpty-agent.exe +@comment %%IDEA_HOME%%/lib/libpty/win/x86_64/cyglaunch.exe +@comment %%IDEA_HOME%%/lib/libpty/win/x86_64/libwinpty.dll +@comment %%IDEA_HOME%%/lib/libpty/win/x86_64/winpty-agent.exe +@comment %%IDEA_HOME%%/lib/libpty/win/xp/libwinpty.dll +@comment %%IDEA_HOME%%/lib/libpty/win/xp/winpty-agent.exe +@comment %%IDEA_HOME%%/plugins/gradle/lib/native-platform-linux-amd64-0.10.jar +@comment %%IDEA_HOME%%/plugins/gradle/lib/native-platform-linux-i386-0.10.jar +@comment %%IDEA_HOME%%/plugins/gradle/lib/native-platform-osx-amd64-0.10.jar +@comment %%IDEA_HOME%%/plugins/gradle/lib/native-platform-osx-i386-0.10.jar +@comment %%IDEA_HOME%%/plugins/gradle/lib/native-platform-windows-amd64-0.10.jar +@comment %%IDEA_HOME%%/plugins/gradle/lib/native-platform-windows-i386-0.10.jar +bin/idea man/man1/idea.1.gz share/applications/idea.desktop Index: java/intellij-fsnotifier/Makefile =================================================================== --- java/intellij-fsnotifier/Makefile (nonexistent) +++ java/intellij-fsnotifier/Makefile (working copy) @@ -0,0 +1,31 @@ +# Created by: Tobias Kortkamp +# $FreeBSD$ + +PORTNAME= intellij-fsnotifier +PORTVERSION= 20160221 +CATEGORIES= java devel + +MAINTAINER= t@tobik.me +COMMENT= Replacement for IntelliJ's fsnotifier + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +LIB_DEPENDS= libinotify.so:${PORTSDIR}/devel/libinotify + +USE_GITHUB= yes +GH_ACCOUNT= idea4bsd +GH_PROJECT= fsnotifier +GH_TAGNAME= a04fbff6e21d58fea7a3ed2a6a21e53cbef4b7af + +USES= compiler:c11 + +.include "${.CURDIR}/../intellij/common.mk" + +PLIST_FILES= ${IDEA_HOME}/bin/fsnotifier + +do-install: + ${MKDIR} ${STAGEDIR}${IDEA_HOME}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/fsnotifier ${STAGEDIR}${IDEA_HOME}/bin + +.include Index: java/intellij-fsnotifier/distinfo =================================================================== --- java/intellij-fsnotifier/distinfo (nonexistent) +++ java/intellij-fsnotifier/distinfo (working copy) @@ -0,0 +1,2 @@ +SHA256 (idea4bsd-fsnotifier-20160221-a04fbff6e21d58fea7a3ed2a6a21e53cbef4b7af_GH0.tar.gz) = 03e217ea5aba24f0ad89c868e4b680f6ec517bcfb35132e5b7a961e0a2505396 +SIZE (idea4bsd-fsnotifier-20160221-a04fbff6e21d58fea7a3ed2a6a21e53cbef4b7af_GH0.tar.gz) = 12520 Index: java/intellij-fsnotifier/pkg-descr =================================================================== --- java/intellij-fsnotifier/pkg-descr (nonexistent) +++ java/intellij-fsnotifier/pkg-descr (working copy) @@ -0,0 +1,6 @@ +The fsnotifier is used by IntelliJ for detecting file changes. This +version supports FreeBSD and OpenBSD via libinotify and is a +replacement for the bundled Linux-only version coming with the +IntelliJ IDEA Community Edition. + +WWW: https://github.com/idea4bsd/fsnotifier/ Index: java/intellij-pty4j/Makefile =================================================================== --- java/intellij-pty4j/Makefile (nonexistent) +++ java/intellij-pty4j/Makefile (working copy) @@ -0,0 +1,59 @@ +# Created by: Tobias Kortkamp +# $FreeBSD$ + +PORTNAME= intellij-pty4j +PORTVERSION= 0.5 +CATEGORIES= java devel + +MAINTAINER= t@tobik.me +COMMENT= FreeBSD-compatible replacement for IntelliJ's bundled Pty4J + +LICENSE= EPL +LICENSE_FILE= ${WRKSRC}/LICENSE + +USE_GITHUB= yes +GH_ACCOUNT= idea4bsd +GH_PROJECT= pty4j +GH_TAGNAME= 5d29b891bca0ddf122fc51e3ce066fe421b47b54 + +USES= gmake + +.include "${.CURDIR}/../intellij/common.mk" + +PLIST_FILES= ${IDEA_HOME}/lib/pty4j-0.5.jar + +.include + +# The directory we need to install Pty4J's native library in depends +# on the install target's architecture. We rebuild libpty.so instead +# of using one of the bundled ones which are FreeBSD 10.x only. +.if ${ARCH} == "amd64" +PTY4J_ARCH= x86_64 +.elif ${ARCH} == "i386" +PTY4J_ARCH= x86 +.else +PTY4J_ARCH= +.endif + +.if ${PTY4J_ARCH} != "" +# Despite what the name might suggest using the linux_x86_64 target +# will always build libpty.so for the native platform. +BUILD_WRKSRC= ${WRKSRC}/native +MAKEFILE= Makefile_freebsd +ALL_TARGET= linux_x86_64 +PLIST_FILES+= ${IDEA_HOME}/lib/libpty/freebsd/${PTY4J_ARCH}/libpty.so +.else +# If native Pty4J support is missing IntelliJ IDEA will still work but +# without the ability to open terminals. +NO_BUILD= yes +.endif + +do-install: +.if ${PTY4J_ARCH} != "" + ${MKDIR} ${STAGEDIR}${IDEA_HOME}/lib/libpty/freebsd/${PTY4J_ARCH} +# See above why we always use freebsd/x86_64/ here + ${INSTALL_LIB} ${WRKSRC}/os/freebsd/x86_64/libpty.so ${STAGEDIR}${IDEA_HOME}/lib/libpty/freebsd/${PTY4J_ARCH}/ +.endif + ${INSTALL_DATA} ${WRKSRC}/build/pty4j-0.5.jar ${STAGEDIR}${IDEA_HOME}/lib/pty4j-0.5.jar + +.include Index: java/intellij-pty4j/distinfo =================================================================== --- java/intellij-pty4j/distinfo (nonexistent) +++ java/intellij-pty4j/distinfo (working copy) @@ -0,0 +1,2 @@ +SHA256 (idea4bsd-pty4j-0.5-5d29b891bca0ddf122fc51e3ce066fe421b47b54_GH0.tar.gz) = c931f367534d1d88643a19a15c77e0948b8a146d43dba8af0b89fe0b020ff393 +SIZE (idea4bsd-pty4j-0.5-5d29b891bca0ddf122fc51e3ce066fe421b47b54_GH0.tar.gz) = 4858191 Index: java/intellij-pty4j/pkg-descr =================================================================== --- java/intellij-pty4j/pkg-descr (nonexistent) +++ java/intellij-pty4j/pkg-descr (working copy) @@ -0,0 +1,3 @@ +FreeBSD-compatible replacement for IntelliJ's bundled Pty4J + +WWW: https://github.com/traff/pty4j/