Bug 212268

Summary: [NEW PORT] java/intellij-ultimate: IntelliJ IDEA Ultimate Edition is an advanced IDE developed by JetBrains and focused on developer productivity.
Product: Ports & Packages Reporter: Andrey Cherkashin <andoriyu>
Component: Individual Port(s)Assignee: Kurt Jaeger <pi>
Status: Closed FIXED    
Severity: Affects Only Me CC: pi
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242705
Attachments:
Description Flags
Shar with port
none
Updated shar with new version and proper license none

Description Andrey Cherkashin 2016-08-30 19:15:29 UTC
Created attachment 174227 [details]
Shar with port

Port for ultimate version based on java/intellij port.
Comment 1 Kurt Jaeger freebsd_committer freebsd_triage 2016-10-13 19:20:26 UTC
fetch fails ?

=> Attempting to fetch https://download.jetbrains.com/idea/ideaIU-2016.2.2.tar.gz
fetch: https://download.jetbrains.com/idea/ideaIU-2016.2.2.tar.gz: Forbidden
=> Attempting to fetch http://download.jetbrains.com/idea/ideaIU-2016.2.2.tar.gz
fetch: http://download.jetbrains.com/idea/ideaIU-2016.2.2.tar.gz: Forbidden

The current version is 2016.2.4.
Comment 2 Andrey Cherkashin 2016-10-13 19:26:07 UTC
(In reply to Kurt Jaeger from comment #1)
Most likely they purge old versions? I will update patch to new version and add backup mirror.
Comment 3 Kurt Jaeger freebsd_committer freebsd_triage 2016-10-13 19:29:13 UTC
I've already updated to 2016.2.4 and testing right now...
Comment 4 Kurt Jaeger freebsd_committer freebsd_triage 2016-10-13 19:35:09 UTC
The download page says it's a 30-day free trial -- so LICENSE apache20 looks not realistic ? Do you know what the license status really is ?
Comment 5 Andrey Cherkashin 2016-10-13 19:40:15 UTC
(In reply to Kurt Jaeger from comment #4)
Core and some plugins are licensed with Apache license. The rest is under proprietary commercial license — https://www.jetbrains.com/store/license.html
Comment 6 Kurt Jaeger freebsd_committer freebsd_triage 2016-10-13 19:44:59 UTC
So LICENSE=APACHE20 does not really apply.
Comment 7 Andrey Cherkashin 2016-10-13 19:48:33 UTC
(In reply to Kurt Jaeger from comment #6)
I guess so. I think I just copied that part from port for community edition.
Comment 8 Kurt Jaeger freebsd_committer freebsd_triage 2016-10-13 19:59:30 UTC
If you want to work on the LICENSE thing, please have a look
at /usr/ports/Mk/bsd.licenses.mk.

# Case 2: license only known by the port (aka "unknown").
#
# In this case LICENSE_{PERMS,NAME} are mandatory, in addition to
# either LICENSE_FILE or LICENSE_TEXT. Optional variable is
# LICENSE_GROUPS.
Comment 9 Andrey Cherkashin 2016-10-13 20:04:58 UTC
(In reply to Kurt Jaeger from comment #8)
I see. So I should include text of license as of today and link to actual license in case it changes?
Comment 10 Kurt Jaeger freebsd_committer freebsd_triage 2016-10-13 20:16:55 UTC
I think a link to the license URL 

https://www.jetbrains.com/store/license.html

as LICENSE_TEXT would be sufficient.
Comment 11 Andrey Cherkashin 2016-10-13 20:39:51 UTC
Created attachment 175722 [details]
Updated shar with new version and proper license
Comment 12 Kurt Jaeger freebsd_committer freebsd_triage 2016-10-14 13:29:35 UTC
It fails to build in the staging phase on 10.3-i386:

===>   Generating temporary packing list
/bin/mkdir -p /wrkdirs/usr/ports/java/intellij-ultimate/work/stage/usr/local/intellij
/usr/bin/strip: /wrkdirs/usr/ports/java/intellij-ultimate/work/stage/usr/local/intellij/plugins/tfsIntegration/lib/native/freebsd/x86_64/libnative_auth.so: File format not recognized
/usr/bin/strip: /wrkdirs/usr/ports/java/intellij-ultimate/work/stage/usr/local/intellij/plugins/tfsIntegration/lib/native/freebsd/x86_64/libnative_console.so: File format not recognized
/usr/bin/strip: /wrkdirs/usr/ports/java/intellij-ultimate/work/stage/usr/local/intellij/plugins/tfsIntegration/lib/native/freebsd/x86_64/libnative_filesystem.so: File format not recognized
/usr/bin/strip: /wrkdirs/usr/ports/java/intellij-ultimate/work/stage/usr/local/intellij/plugins/tfsIntegration/lib/native/freebsd/x86_64/libnative_misc.so: File format not recognized
/usr/bin/strip: /wrkdirs/usr/ports/java/intellij-ultimate/work/stage/usr/local/intellij/plugins/tfsIntegration/lib/native/freebsd/x86_64/libnative_synchronization.so: File format not recognized
*** Error code 1

It's probably useful to set this to ONLY_ARCHS=amd64
Comment 13 Andrey Cherkashin 2016-10-14 20:42:36 UTC
(In reply to Kurt Jaeger from comment #12)
Nope, there libraries for both architectures. Need to read up how to handle this. Well, actually, is it important to strip this libs at all?
Comment 14 Kurt Jaeger freebsd_committer freebsd_triage 2016-10-14 20:46:06 UTC
No, we can keep them unstripped. I'm testing it now.
Comment 15 Kurt Jaeger freebsd_committer freebsd_triage 2016-10-14 20:48:56 UTC
Hmm, if the port contains stuff that's only for i386 and amd64, would it work on other archs like arm64 at all ?

It's marked as NO_ARCH, but is it really portable across different architectures ?
Comment 16 Andrey Cherkashin 2016-10-14 20:54:36 UTC
(In reply to Kurt Jaeger from comment #15)
I haven't tested it on FreeBSD on arm. However on linux arm I had it working. Unsure if tfs integration was working without native libs though.
Comment 17 Kurt Jaeger freebsd_committer freebsd_triage 2016-10-14 21:07:16 UTC
Committed, thanks!
Comment 18 commit-hook freebsd_committer freebsd_triage 2016-10-14 21:07:56 UTC
A commit references this bug:

Author: pi
Date: Fri Oct 14 21:07:03 UTC 2016
New revision: 423993
URL: https://svnweb.freebsd.org/changeset/ports/423993

Log:
  New port: java/intellij-ultimate

  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.
  * Integration with such tools as JUnit and TestNG, Ant and Maven,
    and popular version control systems including: CVS, Subversion
    and git.
  * XML-Java interoperability and comprehensive Groovy programming
    language support.
  * The Swing UI designer complements the suite of tools for
    developing Java desktop applications.

  The difference between intellij and intellij-ultimate can be found at

  http://www.jetbrains.com/idea/features/editions_comparison_matrix.html

  WWW: http://www.jetbrains.com/idea/

  PR:		212268
  Submitted by:	Andrey Cherkashin <andoriyu@gmail.com>

Changes:
  head/java/Makefile
  head/java/intellij-ultimate/
  head/java/intellij-ultimate/Makefile
  head/java/intellij-ultimate/distinfo
  head/java/intellij-ultimate/files/
  head/java/intellij-ultimate/files/idea.1
  head/java/intellij-ultimate/files/idea.desktop.in
  head/java/intellij-ultimate/files/idea.in
  head/java/intellij-ultimate/files/pkg-message.in
  head/java/intellij-ultimate/pkg-descr
  head/java/intellij-ultimate/pkg-plist
Comment 19 Andrey Cherkashin 2016-10-14 21:09:10 UTC
(In reply to Kurt Jaeger from comment #17)
Thank you taking your time to help me with this port!