From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:40854) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9wpj-0005nz-U1 for guix-patches@gnu.org; Thu, 05 Mar 2020 15:11:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9wpi-0005yQ-Ll for guix-patches@gnu.org; Thu, 05 Mar 2020 15:11:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:37782) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j9wpi-0005yG-Hw for guix-patches@gnu.org; Thu, 05 Mar 2020 15:11:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j9wpi-0005kp-Cm for guix-patches@gnu.org; Thu, 05 Mar 2020 15:11:02 -0500 Subject: [bug#39742] [PATCH 1/7] gnu: java-openjfx-build: Add helpful patch. Resent-Message-ID: From: Alexey Abramov Date: Thu, 05 Mar 2020 21:10:01 +0100 Message-ID: <170ac51b5a8.281d.da5dc967fe079fb386b94d5b80162893@mmer.org> In-Reply-To: <20200305200925.31b637d4@alma-ubu> References: <20200222201755.50425-1-levenson@mmer.org> <20200305200925.31b637d4@alma-ubu> MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="UTF-8" Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: =?UTF-8?Q?Bj=C3=B6rn_?= =?UTF-8?Q?H=C3=B6fling?= Cc: Julien Lepiller , 39742@debbugs.gnu.org, Leo Famulari Hi, I have been trying to compile it so many times, so I patched the file for easy debugging ) I traced some confusing parts of a build.gradle using gradlew ... --verbose to translate it in Scheme. Alexey On March 5, 2020 19:38:40 Björn Höfling wrote: > Hi Alexey, > > On Sat, 22 Feb 2020 21:17:49 +0100 > Alexey Abramov wrote: > >> * gnu/packages/java.scm: Add patch >> * gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch: >> New file. Allows you to run gradlew to run properly. Useful for >> debugging. --- > > This sentence sounds suspicious :-) > > In Guix, we build everything from source. If we need a compiler, > library, or build-tool, we build that also from source. > > Here, the problem is that: > > gradle/wrapper/gradle-wrapper.jar > > is a binary JAR-file included in the sources, which is used by the > 'gradlew' script. This jar-file should not be part of the original > sources used to to compile this package. > > Whenever sources contain unwanted binaries, we use 'snippets' to remove > them before doing any further steps. You will find them in many places > in the java.scm file, just search for 'snippet', for example in the > package java-cisd-jhdf5. > > For using gradle, we need to compile gradle from sources, but this is > very hard, there are some bootstrapping problems involed in this. > > So, first we should first snipp away the jar-files from the original > java-openjfx-build package by Julien. > > And second, I hope you don't rely on the gradle build in any way > here :-) > > Björn > >> gnu/packages/java.scm | 3 ++- >> .../java-openjfx-build-get_guix_jdk_version.patch | 14 >> ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) >> create mode 100644 >> gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch >> >> diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm >> index 9371901e1f..01541ee419 100644 >> --- a/gnu/packages/java.scm >> +++ b/gnu/packages/java.scm >> @@ -2355,7 +2355,8 @@ new Date();")) >> (file-name (string-append name "-" version >> "-checkout")) (sha256 >> (base32 >> - >> "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")))) >> + >> "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) >> + (patches (search-patches >> "java-openjfx-build-get_guix_jdk_version.patch")))) (build-system >> ant-build-system) (arguments >> `(#:jar-name "java-openjfx.jar" >> diff --git >> a/gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch >> b/gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch >> new file mode 100644 index 0000000000..214ef9949c --- /dev/null >> +++ >> b/gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch >> @@ -0,0 +1,14 @@ +--- a/build.gradle >> ++++ b/build.gradle >> +@@ -742,9 +742,9 @@ >> + 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])