unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Julien Lepiller <julien@lepiller.eu>
To: Ioannis Kappas <ioannis.kappas@gmail.com>, 41360@debbugs.gnu.org
Cc: ludo@gnu.org, levenson@mmer.org
Subject: [bug#41360] [PATCH v5] finalize java-openjfx packages
Date: Tue, 21 Jun 2022 10:22:28 +0200	[thread overview]
Message-ID: <55EF1A97-6664-422A-85AD-F02B5DCF79F0@lepiller.eu> (raw)
In-Reply-To: <CAMRHuGCUsJDzk-LoHAA5d1fSESyb0Xjg6KUxk09HgUjHFS3W2Q@mail.gmail.com>

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

Hi!

I think your patches are a bit difficult to review. I'll have a proper look this evening, but for now two things I noticed:

You declare configure flags as a list of flags, but at some point you have:

"-DCMAKE_CXX_FLAGS=\""
…
"\""

In the list. I think it's incorrect because they would be passed as separate arguments (though it might work when parsed by the program). I think you should zake it a single argument with string-append.

Also, we should now use the new style inputs for packages when possible:

(list foo bar) instead of `(("foo" ,foo) ("bar" ,bar))

Thanks!

On June 19, 2022 9:26:32 PM GMT+02:00, Ioannis Kappas <ioannis.kappas@gmail.com> wrote:
>Hi,
>
>could you please consider reviewing patches to finalize the building
>of the java-openjfx packages in scope of this discussion, as part of
>an attempt to complete Alexey's awesome work.
>
>The thread had stopped receiving updates for some time now. I assume
>priorities were shifted elsewhere.
>
>I recently got interested testing an openjfx application on Java 1.8,
>only to realise that the current packages are incomplete. I came
>across this thread, and thought to give the patches a try, and fix
>where possible.
>
>I believe I have finalised all openjfx packages in scope to build,
>pass all tests and seamlessly link to their native libraries at
>runtime.
>
>My test application now works, I can use the graphics, controls and
>web openjfx packages by merely specifying their share/java jar
>packages on the classpath.
>
>This email has three incremental patches. I've named the as [PATCH v5]
>to denote this is a continuation from the last patches.
>
>0001: Alexey's work brought forward to a recent guix revision.
>
>0002: Small changes to updated the above to build with the current
>guix spec/packages.
>
>0003: My update to finalize the openjfx packages, normalize inputs,
>run all tests where they exist and fix the load path of native
>libraries at runtime.
>
>I've put the author of 0001 down to Alexey since this is his works. I
>compiled this patch by hand from the thread, I hope I haven't missed
>anything.
>
>The individual packages produce a jar output, and some of them also
>build native shared libraries. The individual jar packages try to load
>their native libraries just by name, and this will fail if the native
>libs are not on the library path.
>
>I've taken the decision to load these libraries by their full
>gnu/store path instead of their names. I have also applied the same to
>an external package, java-swt, since it has a shared library that has
>to be located at runtime. Although there are a few native libraries
>built by the java-openjfx-graphics package I left it as is, because it
>has a sophisticated native library loader that locates shared
>libraries relative to the jar location.
>
>The changes in 0003 are as follows:
>
>* java-openjfx-graphics
>  1. Normalize inputs, only build against gtk-2.0.
>  2. Output native libs to openjfx standard share/amd64 dir.
>  3. Do not build libjpeg from source, but rather use corresponding
>     package.
>  4. Run all tests.
>* java-openjfx-controls
>  1. Run all tests.
>  2. Fix java-openjfx-graphics name typo.
>* java-openjfx-media
>  1. Build against gstreamer.
>  2. Compile native library and modify loader to load it directly from
>     the store path.
>* java-openjfx-web
>  1. Include version.
>  2. Modify loader to load native web kit lib directly from the store.
>  3. Fix a failing test, by applying new
>     java-openjfx-build-web-js-test.patch as picked up from a later
>     openjfx revision source code revision, to fix a failing test.
>  4. Run all tests.
>* java-swt
>  1. Modify loader to load native library directly from the gnu/store
>     path if it can't be found otherwise. This is required for
>     seamlessly loading java-swt as an input.
>
>This is my first guix package update, so is likely to require more
>work based on your feedback, which is most welcome.
>
>Thanks

[-- Attachment #2: Type: text/html, Size: 4444 bytes --]

  reply	other threads:[~2022-06-21  8:28 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-17 13:28 [bug#41360] [PATCH 00/12] Package java-openjfx Alexey Abramov
2020-05-17 13:51 ` [bug#41360] [PATCH 01/12] gnu: java-openjfx-build: Add helpful patch Alexey Abramov
2020-05-17 13:51   ` [bug#41360] [PATCH 02/12] gnu: java-openjfx-build: Fix indentation Alexey Abramov
2020-05-23 13:58     ` Ludovic Courtès
2020-05-17 13:51   ` [bug#41360] [PATCH 03/12] gnu: java-openjfx-graphics: Implement a complete compilation Alexey Abramov
2020-05-23 14:04     ` Ludovic Courtès
2020-05-17 13:51   ` [bug#41360] [PATCH 04/12] gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 Alexey Abramov
2020-05-23 14:05     ` Ludovic Courtès
2020-05-17 13:51   ` [bug#41360] [PATCH 05/12] gnu: java-openjfx-swing: Add new variable Alexey Abramov
2020-05-23 14:05     ` Ludovic Courtès
2020-05-17 13:51   ` [bug#41360] [PATCH 06/12] gnu: java-openjfx-swt: " Alexey Abramov
2020-05-17 13:51   ` [bug#41360] [PATCH 07/12] gnu: java-openjfx-controls: " Alexey Abramov
2020-05-17 13:51   ` [bug#41360] [PATCH 08/12] gnu: java-openjfx-build: Prepare a patch to build openjfx-web Alexey Abramov
2020-05-17 13:51   ` [bug#41360] [PATCH 09/12] gnu: java-openjfx-web: Add new variable Alexey Abramov
2020-05-23 14:09     ` Ludovic Courtès
2020-05-23 13:58   ` [bug#41360] [PATCH 01/12] gnu: java-openjfx-build: Add helpful patch Ludovic Courtès
2020-05-30 16:44     ` Alexey Abramov
2020-05-30 16:41 ` [bug#41360] [PATCH v2 1/9] " Alexey Abramov
2020-05-30 16:41   ` [bug#41360] [PATCH v2 2/9] gnu: java-openjfx-build: Fix indentation Alexey Abramov
2020-05-30 16:41   ` [bug#41360] [PATCH v2 3/9] gnu: java-openjfx-graphics: Implement a complete compilation Alexey Abramov
2020-05-30 16:41   ` [bug#41360] [PATCH v2 4/9] gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 Alexey Abramov
2020-05-30 16:41   ` [bug#41360] [PATCH v2 5/9] gnu: java-openjfx-swing: Add new variable Alexey Abramov
2020-05-30 16:41   ` [bug#41360] [PATCH v2 6/9] gnu: java-openjfx-swt: " Alexey Abramov
2020-05-30 16:41   ` [bug#41360] [PATCH v2 7/9] gnu: java-openjfx-controls: " Alexey Abramov
2020-05-30 16:41   ` [bug#41360] [PATCH v2 8/9] gnu: java-openjfx-build: Prepare a patch to build openjfx-web Alexey Abramov
2020-05-30 16:41   ` [bug#41360] [PATCH v2 9/9] gnu: java-openjfx-web: Add new variable Alexey Abramov
2020-05-30 16:45 ` [bug#41360] [PATCH 03/12] gnu: java-openjfx-graphics: Implement a complete compilation Alexey Abramov
2020-05-30 16:45 ` [bug#41360] [PATCH 09/12] gnu: java-openjfx-web: Add new variable Alexey Abramov
2020-06-03 15:47   ` Ludovic Courtès
2020-06-07 16:25     ` Alexey Abramov
2020-05-30 17:09 ` [bug#41360] [PATCH v3 1/9] gnu: java-openjfx-build: Add helpful patch Alexey Abramov
2020-05-30 17:09   ` [bug#41360] [PATCH v3 2/9] gnu: java-openjfx-build: Fix indentation Alexey Abramov
2020-05-30 17:09   ` [bug#41360] [PATCH v3 3/9] gnu: java-openjfx-graphics: Implement a complete compilation Alexey Abramov
2020-05-30 17:09   ` [bug#41360] [PATCH v3 4/9] gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 Alexey Abramov
2020-05-30 17:09   ` [bug#41360] [PATCH v3 5/9] gnu: java-openjfx-swing: Add new variable Alexey Abramov
2020-05-30 17:09   ` [bug#41360] [PATCH v3 6/9] gnu: java-openjfx-swt: " Alexey Abramov
2020-05-30 17:09   ` [bug#41360] [PATCH v3 7/9] gnu: java-openjfx-controls: " Alexey Abramov
2020-05-30 17:09   ` [bug#41360] [PATCH v3 8/9] gnu: java-openjfx-build: Prepare a patch to build openjfx-web Alexey Abramov
2020-05-30 17:09   ` [bug#41360] [PATCH v3 9/9] gnu: java-openjfx-web: Add new variable Alexey Abramov
2020-06-03 15:50   ` [bug#41360] [PATCH v3 1/9] gnu: java-openjfx-build: Add helpful patch Ludovic Courtès
2020-06-03 16:24     ` Julien Lepiller
2020-06-03 16:36       ` Alexey Abramov
2020-06-04  9:55         ` Ludovic Courtès
2020-06-07 15:55 ` [bug#41360] [PATCH v4 00/12] Improve OpenJFX and friends packages Alexey Abramov
2020-06-07 15:55   ` [bug#41360] [PATCH v4 01/12] gnu: java-openjfx-graphics: Implement a complete compilation Alexey Abramov
2020-06-12 16:12     ` Ludovic Courtès
2020-06-18 17:31       ` Alexey Abramov
2020-06-07 15:55   ` [bug#41360] [PATCH v4 02/12] gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 Alexey Abramov
2020-06-07 15:55   ` [bug#41360] [PATCH v4 03/12] gnu: java-openjfx-swing: Add new variable Alexey Abramov
2020-06-07 15:55   ` [bug#41360] [PATCH v4 04/12] gnu: java-openjfx-swt: " Alexey Abramov
2020-06-07 15:55   ` [bug#41360] [PATCH v4 05/12] gnu: java-openjfx-controls: " Alexey Abramov
2020-06-07 15:55   ` [bug#41360] [PATCH v4 06/12] gnu: java-openjfx-build: Patch DumpRenderTree for the web component Alexey Abramov
2020-06-07 15:55   ` [bug#41360] [PATCH v4 07/12] gnu: java-openjfx-build: Do not use an embedded 3rd party libraries Alexey Abramov
2020-06-07 15:55   ` [bug#41360] [PATCH v4 08/12] gnu: java-openjfx-build: Fix web component compilation with ICU 59+ Alexey Abramov
2020-06-07 15:55   ` [bug#41360] [PATCH v4 09/12] gnu: java-openjfx-build: Fix web component linkage Alexey Abramov
2020-06-07 15:55   ` [bug#41360] [PATCH v4 10/12] gnu: java-openjfx-build: Fix web component compilation with ICU 65+ Alexey Abramov
2020-06-07 15:55   ` [bug#41360] [PATCH v4 11/12] gnu: java-openjfx-build: Ensure use of system provided libraries Alexey Abramov
2020-06-07 15:55   ` [bug#41360] [PATCH v4 12/12] gnu: java-openjfx-web: Add new variable Alexey Abramov
2022-06-19 19:26 ` [bug#41360] [PATCH v5] finalize java-openjfx packages Ioannis Kappas
2022-06-21  8:22   ` Julien Lepiller [this message]
2022-06-21  8:30   ` [bug#41360] [PATCH 00/12] Package java-openjfx Alexey Abramov via Guix-patches via
2022-06-21 17:32     ` Julien Lepiller
2022-06-21 17:27   ` [bug#41360] [PATCH v5] finalize java-openjfx packages Julien Lepiller
2022-06-21 18:14     ` Ioannis Kappas
2022-06-26  7:22     ` Ioannis Kappas
2022-09-09  6:15       ` Ioannis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55EF1A97-6664-422A-85AD-F02B5DCF79F0@lepiller.eu \
    --to=julien@lepiller.eu \
    --cc=41360@debbugs.gnu.org \
    --cc=ioannis.kappas@gmail.com \
    --cc=levenson@mmer.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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).