Index: Makefile =================================================================== --- Makefile (revision 406891) +++ Makefile (working copy) @@ -5,11 +5,13 @@ # Vadim Zhukov PORTNAME= intellij -PORTVERSION= 15.0.1 +PORTVERSION= 15.0.3 CATEGORIES= java devel -MASTER_SITES= https://download.jetbrains.com/idea/ \ - http://download.jetbrains.com/idea/ -DISTNAME= ideaIC-${PORTVERSION} +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 MAINTAINER= t@tobik.me COMMENT= IntelliJ IDEA Java IDE @@ -16,19 +18,52 @@ 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 + USE_JAVA= yes JAVA_VERSION= 1.7+ -NO_BUILD= yes +WRKDIST= ${WRKDIR}/idea-IC-143.1821.5 -WRKDIST= ${WRKDIR}/idea-IC-143.382.35 - IDEA_HOME= ${PREFIX}/lib/intellij -PLIST_SUB+= IDEA_HOME=${IDEA_HOME} +USES= gmake + +PLIST_SUB+= IDEA_HOME=${IDEA_HOME} \ + PTY4J_ARCH=${PTY4J_ARCH} 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} @@ -44,7 +79,14 @@ ${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 @${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 ${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/ Index: distinfo =================================================================== --- distinfo (revision 406891) +++ distinfo (working copy) @@ -1,2 +1,4 @@ -SHA256 (ideaIC-15.0.1.tar.gz) = faca173b216cb3eeff53b499b432780a12c1543a27c36c0bef62cf2e82fc7cb5 -SIZE (ideaIC-15.0.1.tar.gz) = 230760554 +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 Index: files/idea.desktop.in =================================================================== --- files/idea.desktop.in (revision 406891) +++ files/idea.desktop.in (working copy) @@ -2,8 +2,8 @@ Version=1.0 Encoding=UTF-8 Type=Application -Name=IntelliJ Idea -GenericName=IntelliJ IDE +Name=IntelliJ IDEA +GenericName=IntelliJ IDEA Comment=IntelliJ Integrated Development Environment Icon=%%IDEA_HOME%%/idea.png Exec=%%IDEA_HOME%%/bin/idea.sh Index: pkg-plist =================================================================== --- pkg-plist (revision 406891) +++ pkg-plist (working copy) @@ -136,6 +136,7 @@ %%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 @@ -154,7 +155,7 @@ %%IDEA_HOME%%/lib/miglayout-swing.jar %%IDEA_HOME%%/lib/nanoxml-2.2.3.jar %%IDEA_HOME%%/lib/nekohtml-1.9.14.jar -%%IDEA_HOME%%/lib/netty-all-4.1.0.Beta6.jar +%%IDEA_HOME%%/lib/netty-all-4.1.0.Beta8.jar %%IDEA_HOME%%/lib/openapi.jar %%IDEA_HOME%%/lib/optimizedFileManager.jar %%IDEA_HOME%%/lib/oromatcher.jar @@ -262,7 +263,6 @@ %%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/kotlinr.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 @@ -279,6 +279,10 @@ %%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