Package: guix-patches;
Reported by: Alexey Abramov <levenson <at> mmer.org>
Date: Sun, 17 May 2020 13:30:02 UTC
Severity: normal
Tags: patch
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’.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.