GNU bug report logs - #41360
[PATCH 00/12] Package java-openjfx

Previous Next

Package: guix-patches;

Reported by: Alexey Abramov <levenson <at> mmer.org>

Date: Sun, 17 May 2020 13:30:02 UTC

Severity: normal

Tags: patch

Full log


Message #173 received at 41360 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Alexey Abramov <levenson <at> mmer.org>
Cc: 41360 <at> debbugs.gnu.org, Julien Lepiller <julien <at> lepiller.eu>
Subject: Re: [bug#41360] [PATCH v4 01/12] gnu: java-openjfx-graphics:
 Implement a complete compilation.
Date: Fri, 12 Jun 2020 18:12:16 +0200
Hi Alexey,

Alexey Abramov <levenson <at> mmer.org> skribis:

> * gnu/packages/java.scm (java-openjfx-graphics): Add stages to build
>   libdecora_sse, prism_common, glassgtk2, iio, prism_sw, prism_es2,
>   font_freetype, glassgtk3, font, font_pango and glass libraries.
>
> All the steps were taken by inspecting ./gradlew build --info result.

Could you add it in a comment?

So essentially all these phases and the unrolled and translated version
of what Gradle would do, right?

> Signed-off-by: Alexey Abramov <levenson <at> mmer.org>
> ---
>  gnu/packages/java.scm | 642 +++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 634 insertions(+), 8 deletions(-)

I guess it’s still “source”, but that’s a lot of it.

Do you think there are ways this could be factorized?  I’m not saying we
have to do this right away, but we should probably keep in mind if we
want to ensure the long-term maintainability of this package.

> +           ;; XX: Description can be found in build.gradle:1429. Currently

I think you can remove “XX”, but description of what?  Probably a bit
more context would be fine.

> +                 (mkdir-p prism-gen-src)
> +                 (for-each (lambda (file)
> +                             (apply invoke "java"
> +                                    "-cp" (string-join (list
> +                                                        ;; For CompileJSL
> +                                                        prism-compilers-classes
> +                                                        ;; jsl files are there
> +                                                        prism-src
> +                                                        (getenv "CLASSPATH"))
> +                                                       ":")
> +                                    "CompileJSL"
> +                                    "-i" prism-src
> +                                    "-o" prism-gen-src
> +                                    "-t"
> +                                    "-pkg" "com/sun/prism"
> +                                    "-d3d"
> +                                    "-es2"
> +                                    "-name" (list file)))

Problem is we won’t know where those flags come from, right?  Perhaps
there’s additional info the Gradle build files?

> +           (add-after 'compile-decora-compilers 'generate-decora-shaders
> +             (lambda _
> +               (let ((classes "modules/graphics/build/classes/java/main")
> +                     (decora-classes "modules/graphics/build/classes/jsl-decora/")
> +                     (decora-compilers-classes "modules/graphics/build/classes/jsl-compilers/decora")
> +                     (decora-gen-src "modules/graphics/build/generated-src/jsl-decora")
> +                     (decora-src "modules/graphics/src/main/jsl-decora/")
> +                     (decora-components '([(file-name . "ColorAdjust")
> +                                           (generator . "CompileJSL")
> +                                           (outputs . "-all")]
> +                                          [(file-name . "Brightpass")
> +                                           (generator . "CompileJSL")
> +                                           (outputs . "-all")]
> +                                          [(file-name . "SepiaTone")
> +                                           (generator . "CompileJSL")
> +                                           (outputs . "-all")]
> +                                          [(file-name . "PerspectiveTransform")
> +                                           (generator . "CompileJSL")
> +                                           (outputs . "-all")]
> +                                          [(file-name . "DisplacementMap")
> +                                           (generator . "CompileJSL")
> +                                           (outputs . "-all")]
> +                                          [(file-name . "InvertMask")
> +                                           (generator . "CompileJSL")
> +                                           (outputs . "-all")]
> +                                          [(file-name . "Blend")
> +                                           (generator . "CompileBlend")
> +                                           (outputs . "-all")]
> +                                          [(file-name . "PhongLighting")
> +                                           (generator . "CompilePhong")
> +                                           (outputs . "-all")]
> +                                          [(file-name . "LinearConvolve")
> +                                           (generator . "CompileLinearConvolve")
> +                                           (outputs . "-hw")]
> +                                          [(file-name . "LinearConvolveShadow")
> +                                           (generator . "CompileLinearConvolve")
> +                                           (outputs . "-hw")])))

We should at least have a comment explaining where that list comes from
and what it means.

I appreciate the huge amount of work you put into this, but I’m
concerned about maintainability.

Julien, what are the prospects of getting Gradle in Guix?  What are your
thoughts here?

Thanks,
Ludo’.




This bug report was last modified 2 years and 278 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.