unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* IntelliJ IDEA - Community Edition
@ 2021-05-09 19:00 Raghav Gururajan
  2021-05-09 19:27 ` Björn Höfling
  0 siblings, 1 reply; 3+ messages in thread
From: Raghav Gururajan @ 2021-05-09 19:00 UTC (permalink / raw)
  To: help-guix


[-- Attachment #1.1.1: Type: text/plain, Size: 544 bytes --]

Hello Guix,

I am trying to package IDEA, which is an IDE for JVM.

This is the first time I am dealing with java and ant-build-system.

I was able to do some tinkering to get the build phase started, but it 
fails at the beginning with the following error:
"Exception in thread "main" java.lang.RuntimeException: Could not create 
parent directory for lock file 
/.gradle/wrapper/dists/gradle-5.5-all/66q2j3qadt42ygj9lkubqor18/gradle-5.5-all.zip.lck".

I have attached the diff file with this email.

Thoughts?

Regards,
RG.

[-- Attachment #1.1.2: jetbrains.diff --]
[-- Type: text/x-patch, Size: 3029 bytes --]

diff --git a/gnu/local.mk b/gnu/local.mk
index 37166bb2fc..7f6a9f9340 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -304,6 +304,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/java-maths.scm			\
   %D%/packages/javascript.scm			\
   %D%/packages/jemalloc.scm			\
+  %D%/packages/jetbrains.scm                 \
   %D%/packages/jrnl.scm				\
   %D%/packages/jose.scm				\
   %D%/packages/julia.scm			\
diff --git a/gnu/packages/jetbrains.scm b/gnu/packages/jetbrains.scm
new file mode 100644
index 0000000000..da86780406
--- /dev/null
+++ b/gnu/packages/jetbrains.scm
@@ -0,0 +1,65 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages jetbrains)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages java)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages ruby)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build utils)
+  #:use-module (guix build-system ant))
+
+(define-public idea
+  (package
+    (name "idea")
+    (version "211.7142.45")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/JetBrains/intellij-community")
+         (commit (string-append "idea/" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "02y754c45pw1lr0x0pw459ng7s582c8yffpmmah66h4ipd95z5n0"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jdk ,openjdk11
+       #:source-dir "."
+       #:build-target "build"
+       #:test-target "test"))
+    (native-inputs
+     `(("perl" ,perl)
+       ("python" ,python-wrapper)
+       ("ruby" ,ruby)))
+    (inputs
+     `())
+    (propagated-inputs
+     `())
+    (home-page "https://www.jetbrains.com/idea/")
+    (synopsis "Capable and Ergonomic IDE for JVM")
+    (description "IDEA is an Integrated Development Environment (IDE) for JVM
+languages.  It does the routine and repetitive tasks for you by providing code
+completion, static code analysis, and refactorings.")
+    (license license:asl2.0)))

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: IntelliJ IDEA - Community Edition
  2021-05-09 19:00 IntelliJ IDEA - Community Edition Raghav Gururajan
@ 2021-05-09 19:27 ` Björn Höfling
  2021-05-10  3:36   ` Julien Lepiller
  0 siblings, 1 reply; 3+ messages in thread
From: Björn Höfling @ 2021-05-09 19:27 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 1165 bytes --]

On Sun, 9 May 2021 15:00:32 -0400
Raghav Gururajan <rg@raghavgururajan.name> wrote:

> Hello Guix,
> 
> I am trying to package IDEA, which is an IDE for JVM.
> 
> This is the first time I am dealing with java and ant-build-system.
> 
> I was able to do some tinkering to get the build phase started, but
> it fails at the beginning with the following error:
> "Exception in thread "main" java.lang.RuntimeException: Could not
> create parent directory for lock file 
> /.gradle/wrapper/dists/gradle-5.5-all/66q2j3qadt42ygj9lkubqor18/gradle-5.5-all.zip.lck".
> 
> I have attached the diff file with this email.
> 
> Thoughts?

Not sure exactly what's the problem here. If you like to get more
infos, you can also try to build it with ant options -verbose or
-debug. Either in the Guix build or from the command line in a Guix
Container.

In any ways, IntelliJ will be hard to impossible to get it into Guix
proper, because it will download many dependencies as binaries. You
will first need to find out how to build them from source. It will use
Kotlin, and Kotlin at some point will use Scala. Scala needs a
Scala-compiler...

Björn

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: IntelliJ IDEA - Community Edition
  2021-05-09 19:27 ` Björn Höfling
@ 2021-05-10  3:36   ` Julien Lepiller
  0 siblings, 0 replies; 3+ messages in thread
From: Julien Lepiller @ 2021-05-10  3:36 UTC (permalink / raw)
  To: help-guix, Björn Höfling, Raghav Gururajan

It looks like the ant script is simply calling gradle, which comes bundled most of the time, in the form of a gradlew script. Gradle is not yet packaged in guix, and there is no gradle-build-system yet, so it's going to be a very difficult journey. If you are motivated, I can provide help and guidance.

Note that Kotlin doesn't depend on Scala, but gradle does. Kotlin is written in Kotlin, and building it in a bootstrapped way remains an open problem.

I have a few pointers for Scala, Kotlin and Gradle if you're interested.

Le 9 mai 2021 15:27:00 GMT-04:00, "Björn Höfling" <bjoern.hoefling@bjoernhoefling.de> a écrit :
>On Sun, 9 May 2021 15:00:32 -0400
>Raghav Gururajan <rg@raghavgururajan.name> wrote:
>
>> Hello Guix,
>> 
>> I am trying to package IDEA, which is an IDE for JVM.
>> 
>> This is the first time I am dealing with java and ant-build-system.
>> 
>> I was able to do some tinkering to get the build phase started, but
>> it fails at the beginning with the following error:
>> "Exception in thread "main" java.lang.RuntimeException: Could not
>> create parent directory for lock file 
>>
>/.gradle/wrapper/dists/gradle-5.5-all/66q2j3qadt42ygj9lkubqor18/gradle-5.5-all.zip.lck".
>> 
>> I have attached the diff file with this email.
>> 
>> Thoughts?
>
>Not sure exactly what's the problem here. If you like to get more
>infos, you can also try to build it with ant options -verbose or
>-debug. Either in the Guix build or from the command line in a Guix
>Container.
>
>In any ways, IntelliJ will be hard to impossible to get it into Guix
>proper, because it will download many dependencies as binaries. You
>will first need to find out how to build them from source. It will use
>Kotlin, and Kotlin at some point will use Scala. Scala needs a
>Scala-compiler...
>
>Björn

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-05-10  3:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-09 19:00 IntelliJ IDEA - Community Edition Raghav Gururajan
2021-05-09 19:27 ` Björn Höfling
2021-05-10  3:36   ` Julien Lepiller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).