diff mbox series

[bug#41360,v3,1/9] gnu: java-openjfx-build: Add helpful patch.

Message ID 20200530170951.1649-1-levenson@mmer.org
State New
Headers show
Series [bug#41360,v3,1/9] gnu: java-openjfx-build: Add helpful patch. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Alexey Abramov May 30, 2020, 5:09 p.m. UTC
* gnu/packages/java.scm (java-openjfx-build)[source]: Use it.
* gnu/packages/patches/java-openjfx-build-jdk_version.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Alexey Abramov <levenson@mmer.org>
---
 gnu/local.mk                                  |  1 +
 gnu/packages/java.scm                         |  3 ++-
 .../java-openjfx-build-jdk_version.patch      | 27 +++++++++++++++++++
 3 files changed, 30 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/java-openjfx-build-jdk_version.patch

Comments

Ludovic Courtès June 3, 2020, 3:50 p.m. UTC | #1
Alexey Abramov <levenson@mmer.org> skribis:

> +++ b/gnu/packages/patches/java-openjfx-build-jdk_version.patch
> @@ -0,0 +1,27 @@
> +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME
> +
> +Icedtea contains guix in its version, so build.gradle failes to run. Openjfx
> +packaging is not trivial, so you will probably need to try build it with
> +gradlew.
> +
> +---
> + build.gradle | 5 ++---
> + 1 file changed, 2 insertions(+), 3 deletions(-)

This patch also made me realize that we’re using Gradle here, but
there’s no Gradle package in Guix.  That means we must be using a
pre-built jar somewhere, though I didn’t find it.  Any idea where that
comes from?  Julien, any idea?

(The problem existed before your patches.)

Thanks,
Ludo’.
Julien Lepiller June 3, 2020, 4:24 p.m. UTC | #2
Le 3 juin 2020 11:50:38 GMT-04:00, "Ludovic Courtès" <ludo@gnu.org> a écrit :
>Alexey Abramov <levenson@mmer.org> skribis:
>
>> +++ b/gnu/packages/patches/java-openjfx-build-jdk_version.patch
>> @@ -0,0 +1,27 @@
>> +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME
>> +
>> +Icedtea contains guix in its version, so build.gradle failes to run.
>Openjfx
>> +packaging is not trivial, so you will probably need to try build it
>with
>> +gradlew.
>> +
>> +---
>> + build.gradle | 5 ++---
>> + 1 file changed, 2 insertions(+), 3 deletions(-)
>
>This patch also made me realize that we’re using Gradle here, but
>there’s no Gradle package in Guix.  That means we must be using a
>pre-built jar somewhere, though I didn’t find it.  Any idea where that
>comes from?  Julien, any idea?
>
>(The problem existed before your patches.)
>
>Thanks,
>Ludo’.

From what I understand, this patcg helps build openjfx with gradle on guix, if you use the guix source in an environment, but reading the other patches, it doesn't look like gradle is actually used anywhere.

It looks like this patch is helpful in the sense that it allows users to manually build the package outside of guix, but is not used at all during the build of openjfx by guix itself.

Alexey, can you confirm?
Alexey Abramov June 3, 2020, 4:36 p.m. UTC | #3
Hi Julien, Ludo,

Julien Lepiller <julien@lepiller.eu> writes:

> Le 3 juin 2020 11:50:38 GMT-04:00, "Ludovic Courtès" <ludo@gnu.org> a écrit :
>>Alexey Abramov <levenson@mmer.org> skribis:
>>
>>> +++ b/gnu/packages/patches/java-openjfx-build-jdk_version.patch
>
>>> @@ -0,0 +1,27 @@
>>> +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME
>>> +
>>> +Icedtea contains guix in its version, so build.gradle failes to run.
>>Openjfx
>>> +packaging is not trivial, so you will probably need to try build it
>>with
>>> +gradlew.
>>> +
>>> +---
>>> + build.gradle | 5 ++---
>>> + 1 file changed, 2 insertions(+), 3 deletions(-)
>>
>>This patch also made me realize that we’re using Gradle here, but
>>there’s no Gradle package in Guix.  That means we must be using a
>>pre-built jar somewhere, though I didn’t find it.  Any idea where that
>>comes from?  Julien, any idea?
>>
>>(The problem existed before your patches.)
>>
>>Thanks,
>>Ludo’.
>
> From what I understand, this patcg helps build openjfx with gradle on
> guix, if you use the guix source in an environment, but reading the
> other patches, it doesn't look like gradle is actually used anywhere.
>
> It looks like this patch is helpful in the sense that it allows users to manually build the package outside of guix, but is not used at all during the build of openjfx by guix itself.
>
> Alexey, can you confirm?

Yes, you are right. I am not using gradle. The reason for this patch was
to be able to debug the building process openjfx. I had to run gradlew
multiple times, so I decided to just patch it.
Ludovic Courtès June 4, 2020, 9:55 a.m. UTC | #4
Hi,

Alexey Abramov <levenson@mmer.org> skribis:

> Julien Lepiller <julien@lepiller.eu> writes:
>
>> Le 3 juin 2020 11:50:38 GMT-04:00, "Ludovic Courtès" <ludo@gnu.org> a écrit :
>>>Alexey Abramov <levenson@mmer.org> skribis:
>>>
>>>> +++ b/gnu/packages/patches/java-openjfx-build-jdk_version.patch
>>
>>>> @@ -0,0 +1,27 @@
>>>> +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME
>>>> +
>>>> +Icedtea contains guix in its version, so build.gradle failes to run.
>>>Openjfx
>>>> +packaging is not trivial, so you will probably need to try build it
>>>with
>>>> +gradlew.
>>>> +
>>>> +---
>>>> + build.gradle | 5 ++---
>>>> + 1 file changed, 2 insertions(+), 3 deletions(-)
>>>
>>>This patch also made me realize that we’re using Gradle here, but
>>>there’s no Gradle package in Guix.  That means we must be using a
>>>pre-built jar somewhere, though I didn’t find it.  Any idea where that
>>>comes from?  Julien, any idea?
>>>
>>>(The problem existed before your patches.)
>>>
>>>Thanks,
>>>Ludo’.
>>
>> From what I understand, this patcg helps build openjfx with gradle on
>> guix, if you use the guix source in an environment, but reading the
>> other patches, it doesn't look like gradle is actually used anywhere.
>>
>> It looks like this patch is helpful in the sense that it allows users to manually build the package outside of guix, but is not used at all during the build of openjfx by guix itself.
>>
>> Alexey, can you confirm?
>
> Yes, you are right. I am not using gradle. The reason for this patch was
> to be able to debug the building process openjfx. I had to run gradlew
> multiple times, so I decided to just patch it.

OK, thanks for explaining!

BTW, I’ve pushed the first two patches of this series, Alexey.

Ludo’.
diff mbox series

Patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 768943a67a..cbf0a20a9e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1110,6 +1110,7 @@  dist_patch_DATA =						\
   %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch	\
   %D%/packages/patches/java-commons-collections-fix-java8.patch \
   %D%/packages/patches/java-jeromq-fix-tests.patch		\
+  %D%/packages/patches/java-openjfx-build-jdk_version.patch     \
   %D%/packages/patches/java-powermock-fix-java-files.patch		\
   %D%/packages/patches/java-simple-xml-fix-tests.patch		\
   %D%/packages/patches/java-svg-salamander-Fix-non-det.patch	\
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index b12c3ca95c..d569ed57d6 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2499,7 +2499,8 @@  new Date();"))
                   #t))
               (sha256
                (base32
-                "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f"))))
+                "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f"))
+              (patches (search-patches "java-openjfx-build-jdk_version.patch"))))
     (build-system ant-build-system)
     (arguments
      `(#:jar-name "java-openjfx.jar"
diff --git a/gnu/packages/patches/java-openjfx-build-jdk_version.patch b/gnu/packages/patches/java-openjfx-build-jdk_version.patch
new file mode 100644
index 0000000000..7be954467a
--- /dev/null
+++ b/gnu/packages/patches/java-openjfx-build-jdk_version.patch
@@ -0,0 +1,27 @@ 
+Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME
+
+Icedtea contains guix in its version, so build.gradle failes to run. Openjfx
+packaging is not trivial, so you will probably need to try build it with
+gradlew.
+
+---
+ build.gradle | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/build.gradle b/build.gradle
+index df82f63..2c626cd 100644
+--- a/build.gradle
++++ b/build.gradle
+@@ -742,9 +742,9 @@ try {
+     if (inStream.readLine() != null) {
+         String v = inStream.readLine();
+         if (v != null) {
+-            int ib = v.indexOf(" (build ");
++            int ib = v.indexOf(" (guix build ");
+             if (ib != -1) {
+-                String ver = v.substring(ib + 8, v.size() - 1);
++                String ver = v.substring(ib + 13, v.size() - 1);
+
+                 defineProperty("jdkRuntimeVersion", ver)
+                 defineProperty("jdkVersion", jdkRuntimeVersion.split("-")[0])
+2.24.1