summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorKurt Jaeger <pi@FreeBSD.org>2016-02-11 19:22:03 +0000
committerKurt Jaeger <pi@FreeBSD.org>2016-02-11 19:22:03 +0000
commita4ac9b124b9d8617ef75f951f9a7436d59940041 (patch)
treeb91df6c414ca9bd6be19a84ef18fae08ef562851 /java
parentAdd explicit USES=gperf (diff)
java/intellij: 15.0.1 -> 15.0.3
- make it clearer that this the community edition - disable missing file watcher warning on startup - install to ${PREFIX}/${PORTNAME} instead of to ${PREFIX}/lib/intellij - adds the ability to open terminals in IntelliJ PR: 206489 Submitted by: Tobias Kortkamp <t@tobik.me> (maintainer)
Notes
Notes: svn path=/head/; revision=408694
Diffstat (limited to 'java')
-rw-r--r--java/intellij/Makefile62
-rw-r--r--java/intellij/distinfo6
-rw-r--r--java/intellij/files/idea.desktop.in4
-rw-r--r--java/intellij/pkg-descr4
-rw-r--r--java/intellij/pkg-plist8
5 files changed, 67 insertions, 17 deletions
diff --git a/java/intellij/Makefile b/java/intellij/Makefile
index 8bbb2753ea66..12445d812ad7 100644
--- a/java/intellij/Makefile
+++ b/java/intellij/Makefile
@@ -5,30 +5,65 @@
# Vadim Zhukov <zhuk@openbsd.org>
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
+COMMENT= IntelliJ IDEA Community Edition
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}/${PORTNAME}
-IDEA_HOME= ${PREFIX}/lib/intellij
+USES= gmake
-PLIST_SUB+= IDEA_HOME=${IDEA_HOME}
+PLIST_SUB+= IDEA_HOME=${IDEA_HOME} \
+ PTY4J_ARCH=${PTY4J_ARCH}
SUB_FILES+= idea idea.desktop
SUB_LIST+= IDEA_HOME=${IDEA_HOME}
+.include <bsd.port.options.mk>
+
+# 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,11 +79,20 @@ do-install:
${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/
cd ${WRKDIST}/lib && ${JAVA_HOME}/bin/jar xf icons.jar
${INSTALL_DATA} ${WRKDIST}/lib/icon.png ${STAGEDIR}${IDEA_HOME}/idea.png
+# Disable filewatcher warning message on IDEA startup
+ ${ECHO} "idea.filewatcher.disabled=true" >> ${STAGEDIR}${IDEA_HOME}/bin/idea.properties
.include <bsd.port.mk>
diff --git a/java/intellij/distinfo b/java/intellij/distinfo
index bffa70ff419f..d808444fd137 100644
--- a/java/intellij/distinfo
+++ b/java/intellij/distinfo
@@ -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
diff --git a/java/intellij/files/idea.desktop.in b/java/intellij/files/idea.desktop.in
index 9f7aea264e75..0b11b1c44e58 100644
--- a/java/intellij/files/idea.desktop.in
+++ b/java/intellij/files/idea.desktop.in
@@ -2,8 +2,8 @@
Version=1.0
Encoding=UTF-8
Type=Application
-Name=IntelliJ Idea
-GenericName=IntelliJ IDE
+Name=IntelliJ IDEA Community Edition
+GenericName=IntelliJ IDEA Community Edition
Comment=IntelliJ Integrated Development Environment
Icon=%%IDEA_HOME%%/idea.png
Exec=%%IDEA_HOME%%/bin/idea.sh
diff --git a/java/intellij/pkg-descr b/java/intellij/pkg-descr
index 7b85a9578846..b65d3e316dfb 100644
--- a/java/intellij/pkg-descr
+++ b/java/intellij/pkg-descr
@@ -1,5 +1,5 @@
-IntelliJ IDEA is an advanced Java IDE developed by JetBrains and
-focused on developer productivity. The community edition features:
+IntelliJ IDEA is an advanced IDE developed by JetBrains and focused on
+developer productivity. The community edition features:
* An intelligent code editor that understands Java code; provides
refactorings, code inspections and intentions, and allows for
fast code navigation.
diff --git a/java/intellij/pkg-plist b/java/intellij/pkg-plist
index 68bbc976b22b..fd9978f2f96a 100644
--- a/java/intellij/pkg-plist
+++ b/java/intellij/pkg-plist
@@ -136,6 +136,7 @@ bin/idea
%%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 @@ bin/idea
%%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 @@ bin/idea
%%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 @@ bin/idea
%%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