From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id iCNtHh6BsWJfrAAAbAwnHQ (envelope-from ) for ; Tue, 21 Jun 2022 10:28:14 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id YKD/HR6BsWKd8gAAauVa8A (envelope-from ) for ; Tue, 21 Jun 2022 10:28:14 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 2DDB216037 for ; Tue, 21 Jun 2022 10:28:13 +0200 (CEST) Received: from localhost ([::1]:44532 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o3ZF6-000210-A2 for larch@yhetil.org; Tue, 21 Jun 2022 04:28:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57764) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o3ZEw-0001zJ-Ej for guix-patches@gnu.org; Tue, 21 Jun 2022 04:28:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:36959) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o3ZEw-0004Su-2I for guix-patches@gnu.org; Tue, 21 Jun 2022 04:28:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1o3ZEv-0002rT-VZ for guix-patches@gnu.org; Tue, 21 Jun 2022 04:28:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v5] finalize java-openjfx packages Resent-From: Julien Lepiller Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 21 Jun 2022 08:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ioannis Kappas , 41360@debbugs.gnu.org Cc: ludo@gnu.org, levenson@mmer.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.165580002410935 (code B ref 41360); Tue, 21 Jun 2022 08:28:01 +0000 Received: (at 41360) by debbugs.gnu.org; 21 Jun 2022 08:27:04 +0000 Received: from localhost ([127.0.0.1]:59089 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o3ZE0-0002qJ-4a for submit@debbugs.gnu.org; Tue, 21 Jun 2022 04:27:04 -0400 Received: from lepiller.eu ([89.234.186.109]:41184) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o3ZDx-0002pq-PU for 41360@debbugs.gnu.org; Tue, 21 Jun 2022 04:27:02 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 80dc113e; Tue, 21 Jun 2022 08:26:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:cc:subject:in-reply-to:references:message-id:mime-version :content-type:content-transfer-encoding; s=dkim; bh=EH098zXVPgly g8MWWSiGXI3HJPW3xzb1p+cA29K483c=; b=aaUFMuv8ax9qWqKKIM3GOEx7kpMg I2Xyabc+PHzFN0gSH6QAZt/+aMjmLXzA6jWaTBbOKiYBVjCo/CHGxIwNIic3gL8l lh+wni7jJUjT088NRCQeBy723BhbipDmPpIUT7cg5tBqFBkUJFza/8OBV/as8qy1 FymjqCeiG5HXsaBid6qXDur8VqVSfa0F+sspAU0FgdQaj3ReUROyuBLNTVPxL/Xl AE2xkSfITrQ5mrjA2AdIRghLEpz+oX712WdOhKhU+RwsXAdwBeZ4K3gBnrKdz06I LR3FP2Xh9BI38wUWCkJqt0kLVBevY4Nu1DrIpOBGqSxBhG/CJytKmCgysQ== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 602e461c (TLSv1.3:AEAD-AES256-GCM-SHA384:256:NO); Tue, 21 Jun 2022 08:26:32 +0000 (UTC) Date: Tue, 21 Jun 2022 10:22:28 +0200 From: Julien Lepiller User-Agent: K-9 Mail for Android In-Reply-To: References: Message-ID: <55EF1A97-6664-422A-85AD-F02B5DCF79F0@lepiller.eu> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=----1L8SVJA36ENZ5HW08CKXEBHWWXT4HZ Content-Transfer-Encoding: 7bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1655800094; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=zFkgnixHeL4xqrGvmTsuuJlhl2wkKJxlef1xKK8f93s=; b=kTb9Fh1kZSRYlwOb5tkHIAM/kor3LzspF/U3LpUyi7o1eKyWXBKpYQ70HZmqSwHD+wPyrx Kxv/uf9G8uJCkcw5+tZ+S1Bg8PmmJJr7aDEaIqKuPxbzd4P+rOmrH9FbigY6ydd5Ig75cT jTj/5at66A0JsZIi+7WRkIfl0r3IIL7x8QBbvIBYj0UzAlN39XgSVI1wdDqkoOQ/yuHOSw UjooxY8MbSArI0bDSrUVsdRuJch6H1QpL/ikIvNkFXdNfzeODQyr2/448iPherQqNQSX9U yonjksrdVVznwsgVtFe/u7vonEeqwepolYENp3FvKMcy+9M/8CTO7NFw+Tukzw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1655800094; a=rsa-sha256; cv=none; b=EAzsaRsQWJ2X0AhNvUhtV6OC4FcNAQpnS/e+vN/94NPVy99/4cFt7QcPfoLzQH1LAcI0ll zWV+kS+aFWvp5ZoQKXg8LbM7um361crkRnj0FpiKdH+G6BnBctWL+r439cUqvmdKeGr5oM HqQcEJ4BkPf8luK7q7FXxJOPm3xc1M3bXwWsqqdkbKfdFL696xzZmirhCLIOhR+5yz5pfq rhuYJT72ngqSQerXbJUc0MhFpeVK790kDdsJT10AaVXFHM6LGtk3S/L6VBh0E/cWk1sYh3 2NmWbUmp6joLQ8OR7SOjHACa2rYekrp32Uoat2UmCt4XHxTedGPYB3JUNYTFjg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=lepiller.eu header.s=dkim header.b=aaUFMuv8; dmarc=fail reason="SPF not aligned (relaxed)" header.from=lepiller.eu (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 7.53 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=lepiller.eu header.s=dkim header.b=aaUFMuv8; dmarc=fail reason="SPF not aligned (relaxed)" header.from=lepiller.eu (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 2DDB216037 X-Spam-Score: 7.53 X-Migadu-Scanner: scn0.migadu.com X-TUID: D7p2+bh2opmc ------1L8SVJA36ENZ5HW08CKXEBHWWXT4HZ Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi! I think your patches are a bit difficult to review=2E I'll have a proper l= ook 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=3D\"" =E2=80=A6 "\"" In the list=2E I think it's incorrect because they would be passed as sepa= rate arguments (though it might work when parsed by the program)=2E I think= you should zake it a single argument with string-append=2E 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 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=2E > >The thread had stopped receiving updates for some time now=2E I assume >priorities were shifted elsewhere=2E > >I recently got interested testing an openjfx application on Java 1=2E8, >only to realise that the current packages are incomplete=2E I came >across this thread, and thought to give the patches a try, and fix >where possible=2E > >I believe I have finalised all openjfx packages in scope to build, >pass all tests and seamlessly link to their native libraries at >runtime=2E > >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=2E > >This email has three incremental patches=2E I've named the as [PATCH v5] >to denote this is a continuation from the last patches=2E > >0001: Alexey's work brought forward to a recent guix revision=2E > >0002: Small changes to updated the above to build with the current >guix spec/packages=2E > >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=2E > >I've put the author of 0001 down to Alexey since this is his works=2E I >compiled this patch by hand from the thread, I hope I haven't missed >anything=2E > >The individual packages produce a jar output, and some of them also >build native shared libraries=2E 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=2E > >I've taken the decision to load these libraries by their full >gnu/store path instead of their names=2E 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=2E 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=2E > >The changes in 0003 are as follows: > >* java-openjfx-graphics > 1=2E Normalize inputs, only build against gtk-2=2E0=2E > 2=2E Output native libs to openjfx standard share/amd64 dir=2E > 3=2E Do not build libjpeg from source, but rather use corresponding > package=2E > 4=2E Run all tests=2E >* java-openjfx-controls > 1=2E Run all tests=2E > 2=2E Fix java-openjfx-graphics name typo=2E >* java-openjfx-media > 1=2E Build against gstreamer=2E > 2=2E Compile native library and modify loader to load it directly from > the store path=2E >* java-openjfx-web > 1=2E Include version=2E > 2=2E Modify loader to load native web kit lib directly from the store= =2E > 3=2E Fix a failing test, by applying new > java-openjfx-build-web-js-test=2Epatch as picked up from a later > openjfx revision source code revision, to fix a failing test=2E > 4=2E Run all tests=2E >* java-swt > 1=2E Modify loader to load native library directly from the gnu/store > path if it can't be found otherwise=2E This is required for > seamlessly loading java-swt as an input=2E > >This is my first guix package update, so is likely to require more >work based on your feedback, which is most welcome=2E > >Thanks ------1L8SVJA36ENZ5HW08CKXEBHWWXT4HZ Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi!

I think your patches are a bit difficul= t to review=2E 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 s= ome point you have:

"-DCMAKE_CXX_FLAGS=3D\""
=E2=80=A6
"\""
In the list=2E I think it's incorrect because they would be passed as = separate arguments (though it might work when parsed by the program)=2E I t= hink you should zake it a single argument with string-append=2E

Also= , we should now use the new style inputs for packages when possible:
(list foo bar) instead of `(("foo" ,foo) ("bar" ,bar))

Thanks!
<= br>
On June 19, 2022 9:26:32 PM GMT+02:00, Ioanni= s Kappas <ioannis=2Ekappas@gmail=2Ecom> wrote:
Hi,

could you please consider re= viewing patches to finalize the building
of the java-openjfx packages in= scope of this discussion, as part of
an attempt to complete Alexey's aw= esome work=2E

The thread had stopped receiving updates for some time= now=2E I assume
priorities were shifted elsewhere=2E

I recently = got interested testing an openjfx application on Java 1=2E8,
only to rea= lise that the current packages are incomplete=2E I came
across this thre= ad, and thought to give the patches a try, and fix
where possible=2E
=
I believe I have finalised all openjfx packages in scope to build,
p= ass all tests and seamlessly link to their native libraries at
runtime= =2E

My test application now works, I can use the graphics, controls = and
web openjfx packages by merely specifying their share/java jar
pa= ckages on the classpath=2E

This email has three incremental patches= =2E I've named the as [PATCH v5]
to denote this is a continuation from t= he last patches=2E

0001: Alexey's work brought forward to a recent g= uix revision=2E

0002: Small changes to updated the above to build wi= th the current
guix spec/packages=2E

0003: My update to finalize = the openjfx packages, normalize inputs,
run all tests where they exist a= nd fix the load path of native
libraries at runtime=2E

I've put t= he author of 0001 down to Alexey since this is his works=2E I
compiled t= his patch by hand from the thread, I hope I haven't missed
anything=2E
The individual packages produce a jar output, and some of them alsobuild native shared libraries=2E The individual jar packages try to load<= br>their native libraries just by name, and this will fail if the nativelibs are not on the library path=2E

I've taken the decision to load= these libraries by their full
gnu/store path instead of their names=2E = 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=2E 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 tha= t locates shared
libraries relative to the jar location=2E

The ch= anges in 0003 are as follows:

* java-openjfx-graphics
1=2E Norm= alize inputs, only build against gtk-2=2E0=2E
2=2E Output native libs = to openjfx standard share/amd64 dir=2E
3=2E Do not build libjpeg from = source, but rather use corresponding
package=2E
4=2E Run all t= ests=2E
* java-openjfx-controls
1=2E Run all tests=2E
2=2E Fix= java-openjfx-graphics name typo=2E
* java-openjfx-media
1=2E Build= against gstreamer=2E
2=2E Compile native library and modify loader to= load it directly from
the store path=2E
* java-openjfx-web
= 1=2E Include version=2E
2=2E Modify loader to load native web kit lib= directly from the store=2E
3=2E Fix a failing test, by applying new java-openjfx-build-web-js-test=2Epatch as picked up from a later
= openjfx revision source code revision, to fix a failing test=2E
4= =2E Run all tests=2E
* java-swt
1=2E Modify loader to load native l= ibrary directly from the gnu/store
path if it can't be found otherw= ise=2E This is required for
seamlessly loading java-swt as an input= =2E

This is my first guix package update, so is likely to require mo= re
work based on your feedback, which is most welcome=2E

Thanks
------1L8SVJA36ENZ5HW08CKXEBHWWXT4HZ--