X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 00/12] Package java-openjfx Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 17 May 2020 13:30:02 +0000 Resent-Message-ID: <handler.41360.B.158972214429559 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org X-Debbugs-Original-To: guix-patches@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.158972214429559 (code B ref -1); Sun, 17 May 2020 13:30:02 +0000 Received: (at submit) by debbugs.gnu.org; 17 May 2020 13:29:04 +0000 Received: from localhost ([127.0.0.1]:42632 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jaJLg-0007gV-RJ for submit <at> debbugs.gnu.org; Sun, 17 May 2020 09:29:04 -0400 Received: from lists.gnu.org ([209.51.188.17]:48654) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jaJLa-0007gJ-CM for submit <at> debbugs.gnu.org; Sun, 17 May 2020 09:28:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36656) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <levenson@HIDDEN>) id 1jaJLa-0002px-6x for guix-patches@HIDDEN; Sun, 17 May 2020 09:28:54 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:61398) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <levenson@HIDDEN>) id 1jaJLU-00048n-8p for guix-patches@HIDDEN; Sun, 17 May 2020 09:28:53 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 20D239CC49 for <guix-patches@HIDDEN>; Sun, 17 May 2020 12:57:58 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 17 May 2020 15:28:29 +0200 Message-Id: <20200517132829.1553311-1-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=178.22.66.29; envelope-from=levenson@HIDDEN; helo=mx4.mail.mmer.org X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/17 09:28:46 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.4 (--) I am sending a series of patches I have for java-openjfx as a prerequisite to build davmail. Unfortunately tests are still disabled. Alexey Abramov (12): gnu: java-openjfx-build: Add helpful patch. gnu: java-openjfx-build: Fix indentation. gnu: java-openjfx-graphics: Implement a complete compilation. gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 gnu: java-openjfx-swing: Add new variable. gnu: java-openjfx-swt: Add new variable. gnu: java-openjfx-controls: Add new variable. gnu: java-openjfx-build: Prepare a patch to build openjfx-web. gnu: java-openjfx-web: Add new variable. gnu: java-openjfx-graphics: Replace deprecated library. gnu: java-openjfx-graphics: Fix package build. gnu: java-openjfx-web: Fix package build gnu/local.mk | 3 + gnu/packages/java.scm | 872 +++++++++++++++++- ...a-openjfx-build-get_guix_jdk_version.patch | 37 + ...ld-swing-compile-JFXPanel-with-JDK-8.patch | 63 ++ ...uild-web-Check-xlocale.h-header-file.patch | 55 ++ 5 files changed, 1017 insertions(+), 13 deletions(-) create mode 100644 gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch create mode 100644 gnu/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch create mode 100644 gnu/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file.patch -- 2.26.2
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Alexey Abramov <levenson@HIDDEN> Subject: bug#41360: Acknowledgement ([PATCH 00/12] Package java-openjfx) Message-ID: <handler.41360.B.158972214429559.ack <at> debbugs.gnu.org> References: <20200517132829.1553311-1-levenson@HIDDEN> X-Gnu-PR-Message: ack 41360 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 41360 <at> debbugs.gnu.org Date: Sun, 17 May 2020 13:30:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): guix-patches@HIDDEN If you wish to submit further information on this problem, please send it to 41360 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 41360: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D41360 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 01/12] gnu: java-openjfx-build: Add helpful patch. References: <20200517132829.1553311-1-levenson@HIDDEN> In-Reply-To: <20200517132829.1553311-1-levenson@HIDDEN> Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 17 May 2020 13:53:02 +0000 Resent-Message-ID: <handler.41360.B41360.158972353631880 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.158972353631880 (code B ref 41360); Sun, 17 May 2020 13:53:02 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:16 +0000 Received: from localhost ([127.0.0.1]:42664 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jaJi7-0008I2-Oh for submit <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:16 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:53062) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jaJi1-0008Hk-UU for 41360 <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:10 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 70C089CC2E for <41360 <at> debbugs.gnu.org>; Sun, 17 May 2020 13:21:17 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 17 May 2020 15:51:30 +0200 Message-Id: <20200517135138.1651512-1-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 +- ...a-openjfx-build-get_guix_jdk_version.patch | 37 +++++++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0001-gnu-java-openjfx-build-Add-helpful-patch.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0001-gnu-java-openjfx-build-Add-helpful-patch.patch" diff --git a/gnu/local.mk b/gnu/local.mk index 118a9e24eb..ad0ad930ad 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1106,6 +1106,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ + %D%/packages/patches/java-openjfx-build-get_guix_jdk_version.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index a4659240fc..7a1a2f0861 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2499,7 +2499,8 @@ new Date();")) #t)) (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..4ebdadc671 --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch @@ -0,0 +1,37 @@ +From d156313340d3edcd78751ea8ed5e66c7668275c3 Mon Sep 17 00:00:00 2001 +From: Alexey Abramov <levenson@HIDDEN> +Date: Sun, 8 Mar 2020 20:07:22 +0100 +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME + +Icedtea contains guix in its version, so build.gradle failes to run. Openjfx +packaging is not trivial, so you will probably need to try build it with +gradlew. + +--- + build.gradle | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/build.gradle b/build.gradle +index df82f63..2c626cd 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -742,9 +742,9 @@ try { + 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]) +@@ -3540,4 +3540,3 @@ compileTargets { t -> + } + ) + } +- +-- +2.24.1 + --------------[ mime-boundary-string ]--
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 02/12] gnu: java-openjfx-build: Fix indentation. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 17 May 2020 13:53:02 +0000 Resent-Message-ID: <handler.41360.B41360.158972353631888 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.158972353631888 (code B ref 41360); Sun, 17 May 2020 13:53:02 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:16 +0000 Received: from localhost ([127.0.0.1]:42667 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jaJiC-0008I9-7U for submit <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:16 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:59905) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jaJi6-0008Hp-Qq for 41360 <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:11 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id A97C29CD79 for <41360 <at> debbugs.gnu.org>; Sun, 17 May 2020 13:21:17 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 17 May 2020 15:51:31 +0200 Message-Id: <20200517135138.1651512-2-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200517135138.1651512-1-levenson@HIDDEN> References: <20200517135138.1651512-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit --- gnu/packages/java.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0002-gnu-java-openjfx-build-Fix-indentation.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0002-gnu-java-openjfx-build-Fix-indentation.patch" diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 7a1a2f0861..b5757217dd 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2486,10 +2486,10 @@ new Date();")) (source (origin (method hg-fetch) (uri (hg-reference - (url "http://hg.openjdk.java.net/openjfx/8u-dev/rt") - (changeset (string-append - (string-join (string-split version #\.) "u") - "-ga")))) + (url "http://hg.openjdk.java.net/openjfx/8u-dev/rt") + (changeset (string-append + (string-join (string-split version #\.) "u") + "-ga")))) (file-name (string-append name "-" version "-checkout")) (modules '((guix build utils))) (snippet --------------[ mime-boundary-string ]--
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 05/12] gnu: java-openjfx-swing: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 17 May 2020 13:53:02 +0000 Resent-Message-ID: <handler.41360.B41360.158972353831919 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.158972353831919 (code B ref 41360); Sun, 17 May 2020 13:53:02 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:18 +0000 Received: from localhost ([127.0.0.1]:42674 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jaJiE-0008Ik-JH for submit <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:18 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:59921) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jaJiD-0008IN-Cy for 41360 <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:17 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 31DDB9CE89 for <41360 <at> debbugs.gnu.org>; Sun, 17 May 2020 13:21:29 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 17 May 2020 15:51:34 +0200 Message-Id: <20200517135138.1651512-5-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200517135138.1651512-1-levenson@HIDDEN> References: <20200517135138.1651512-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0005-gnu-java-openjfx-swing-Add-new-variable.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0005-gnu-java-openjfx-swing-Add-new-variable.patch" diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index e38e691ee5..383a76ca2c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3206,6 +3206,19 @@ distribution."))) `(("java-openjfx-base" ,java-openjfx-base) ("java-swt" ,java-swt))))) +(define-public java-openjfx-swing + (package (inherit java-openjfx-build) + (name "java-openjfx-swing") + (arguments + `(#:jar-name "java-openjfx-swing.jar" + #:source-dir "modules/swing/src/main/java" + #:tests? #f)) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") --------------[ mime-boundary-string ]--
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 06/12] gnu: java-openjfx-swt: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 17 May 2020 13:53:03 +0000 Resent-Message-ID: <handler.41360.B41360.158972353931926 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.158972353931926 (code B ref 41360); Sun, 17 May 2020 13:53:03 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:19 +0000 Received: from localhost ([127.0.0.1]:42676 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jaJiE-0008Im-PZ for submit <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:19 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:59925) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jaJiD-0008IP-MH for 41360 <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:17 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id A11F29CE92 for <41360 <at> debbugs.gnu.org>; Sun, 17 May 2020 13:21:29 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 17 May 2020 15:51:35 +0200 Message-Id: <20200517135138.1651512-6-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200517135138.1651512-1-levenson@HIDDEN> References: <20200517135138.1651512-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0006-gnu-java-openjfx-swt-Add-new-variable.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0006-gnu-java-openjfx-swt-Add-new-variable.patch" diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 383a76ca2c..beb84331a3 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3219,6 +3219,19 @@ distribution."))) (propagated-inputs `(("java-openjfx-graphics" ,java-openjfx-graphics))))) +(define-public java-openjfx-swt + (package (inherit java-openjfx-build) + (name "java-openjfx-swt") + (arguments + `(#:jar-name "java-openjfx-swt.jar" + #:source-dir "modules/swt/src/main/java" + #:tests? #f)) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") --------------[ mime-boundary-string ]--
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 07/12] gnu: java-openjfx-controls: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 17 May 2020 13:53:03 +0000 Resent-Message-ID: <handler.41360.B41360.158972354331959 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.158972354331959 (code B ref 41360); Sun, 17 May 2020 13:53:03 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:23 +0000 Received: from localhost ([127.0.0.1]:42679 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jaJiJ-0008JO-2h for submit <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:23 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:59929) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jaJiD-0008IQ-TR for 41360 <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:18 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id E5F6F9CE93 for <41360 <at> debbugs.gnu.org>; Sun, 17 May 2020 13:21:29 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 17 May 2020 15:51:36 +0200 Message-Id: <20200517135138.1651512-7-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200517135138.1651512-1-levenson@HIDDEN> References: <20200517135138.1651512-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit --- gnu/packages/java.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0007-gnu-java-openjfx-controls-Add-new-variable.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0007-gnu-java-openjfx-controls-Add-new-variable.patch" diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index beb84331a3..c28c8450b1 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3232,6 +3232,22 @@ distribution."))) (propagated-inputs `(("java-openjfx-graphics" ,java-openjfx-graphics))))) +(define-public java-openjfx-controls + (package (inherit java-openjfx-build) + (name "java-openjfx-controls") + (arguments + `(#:jar-name "java-openjfx-controls.jar" + #:source-dir "modules/controls/src/main/java" + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (let ((resources (string-append (getcwd) "/modules/controls/src/main/resources"))) + (copy-recursively resources "build/classes")) #t))))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") --------------[ mime-boundary-string ]--
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 03/12] gnu: java-openjfx-graphics: Implement a complete compilation. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 17 May 2020 13:53:04 +0000 Resent-Message-ID: <handler.41360.B41360.158972355531978 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.158972355531978 (code B ref 41360); Sun, 17 May 2020 13:53:04 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:35 +0000 Received: from localhost ([127.0.0.1]:42681 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jaJiJ-0008JQ-CK for submit <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:35 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:59911) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jaJi7-0008Hw-Dh for 41360 <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:19 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 07B989CE5D for <41360 <at> debbugs.gnu.org>; Sun, 17 May 2020 13:21:22 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 17 May 2020 15:51:32 +0200 Message-Id: <20200517135138.1651512-3-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200517135138.1651512-1-levenson@HIDDEN> References: <20200517135138.1651512-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.5 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.5 (/) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit --- gnu/packages/java.scm | 643 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 635 insertions(+), 8 deletions(-) --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0003-gnu-java-openjfx-graphics-Implement-a-complete-compi.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0003-gnu-java-openjfx-graphics-Implement-a-complete-compi.patch" diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index b5757217dd..4b83e963ea 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -56,6 +56,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) + #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms #:use-module (gnu packages gnome) #:use-module (gnu packages groovy) @@ -2567,16 +2568,642 @@ distribution."))) (arguments `(#:jar-name "java-openjfx-graphics.jar" #:source-dir "modules/graphics/src/main/java" - #:tests? #f; require X - #:test-dir "modules/graphics/src/test")) + #:tests? #f ; requires X + #:test-dir "modules/graphics/src/test" + #:test-include (list "**/*Test.*") + #:modules ((guix build ant-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 regex) + (ice-9 match)) + #:phases + (let* ((jdk (assoc-ref %build-inputs "jdk")) + (javac/h-flags + `(;; When javac is compiling code it doesn't link + ;; against rt.jar by default. Instead it uses special + ;; symbol file lib/ct.sym with class stubs. + ;; Surprisingly this file contains many but not *all* + ;; of internal classes. + "-XDignore.symbol.file" + ;; It’s an internal option for JDK 1.7+ that prevents + ;; the compiler from sharing a table that will never + ;; be reused. When shared, it can’t be garbage + ;; collected, continues to accumulate data, and + ;; therefore wastes memory. + "-XDuseUnsharedTable=true")) + (common-flags + `("-fno-strict-aliasing" "-fPIC" "-fno-omit-frame-pointer" ;; optimization flags + "-fstack-protector" + "-W" "-Wall" "-Wno-unused" "-Wno-parentheses" "-Werror=implicit-function-declaration")) + (cc-flags + `(,@common-flags "-c" "-ffunction-sections" "-fdata-sections" + "-I" ,(string-append jdk "/include") + "-I" ,(string-append jdk "/include/linux"))) + (link-flags + `("-static-libgcc" "-static-libstdc++" "-shared" ,@common-flags + "-z" "relro" + "-Wl,--gc-sections")) + (java-aux-class? + (lambda (class) + (string-match "\\$[0-9]+.class" class))) + (java-list-classes + (lambda (path) + ;; For each .java file we need to figure out what + ;; class the .java file belongs in and convert it to a + ;; class name. + (filter-map + (lambda (class) + (let* ((rx (make-regexp (string-append path file-name-separator-string "?"))) + (class (string-drop-right class (string-length ".class"))) + (class (match:suffix (regexp-exec rx class)))) + (if (java-aux-class? class) + #f + (string-join (string-split class #\/) ".")))) + (find-files path "\\.class$"))))) + (modify-phases %standard-phases + + (replace 'build + (lambda _ + ;; Do not mix different classes. There will be more stuff in build/classes + (invoke "ant" "compile" "-Dclasses.dir=modules/graphics/build/classes/java/main") + #t)) + + (add-after 'build 'chdir-to-a-module-directory + (lambda _ + (chdir (string-append (getcwd) "/modules/graphics")) + #t)) + + (add-after 'chdir-to-a-module-directory 'compile-prism-compilers + (lambda _ + (let ((prism-compilers-classes "build/classes/jsl-compilers/prism") + (prism-src "src/main/jsl-prism/")) + (mkdir-p prism-compilers-classes) + (apply invoke `("javac" + "-d" ,prism-compilers-classes + ,@javac/h-flags + ,@(find-files prism-src "\\.java")))) + #t)) + + (add-after 'compile-prism-compilers 'generate-prism-shaders + (lambda _ + (let ((prism-compilers-classes "build/classes/jsl-compilers/prism") + (prism-src "src/main/jsl-prism/") + (prism-gen-src "build/generated-src/jsl-prism")) + (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" ,file))) + (find-files prism-src "\\.jsl$"))) + #t)) + + (add-after 'generate-prism-shaders 'compile-prism-shaders + (lambda _ + (let* ((classes "build/classes/java/main") + (prism-classes "build/classes/jsl-prism") + (prism-gen-src "build/generated-src/jsl-prism") + (prism-gen-shaders-src (string-append prism-gen-src "/com/sun/prism/shader"))) + (mkdir-p prism-classes) + (apply invoke `("javac" + "-d" ,prism-classes + "-cp" ,(string-append classes ":" (getenv "CLASSPATH")) + ,@javac/h-flags + ,@(find-files prism-gen-shaders-src)))) + #t)) + + (add-after 'compile-prism-shaders 'compile-decora-compilers + (lambda _ + (let ((classes "build/classes/java/main") + (decora-compilers-classes "build/classes/jsl-compilers/decora") + (decora-src "src/main/jsl-decora/")) + (mkdir-p decora-compilers-classes) + (apply invoke `("javac" + "-d" ,decora-compilers-classes + "-cp" ,(string-append classes ":" (getenv "CLASSPATH")) + ,@javac/h-flags + ,@(find-files decora-src "\\.java")))) + #t)) + + (add-after 'compile-decora-compilers 'generate-decora-shaders + (lambda _ + (let ((classes "build/classes/java/main") + (decora-classes "build/classes/jsl-decora/") + (decora-compilers-classes "build/classes/jsl-compilers/decora") + (decora-gen-src "build/generated-src/jsl-decora") + (decora-src "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")]))) + (mkdir-p decora-gen-src) + (for-each (match-lambda + ((('file-name . file-name) + ('generator . generator) + ('outputs . outputs)) + (apply invoke `("java" + "-cp" ,(string-join (cons* classes + decora-src + ;; CompileJSL + decora-compilers-classes + decora-classes + ;; We need resources from the build + "../../buildSrc/src/main/resources" + (list (getenv "CLASSPATH"))) + ":") + ,generator + "-i" ,decora-src + "-o" ,decora-gen-src + "-t" + "-pkg" "com/sun/scenario/effect" + ,outputs + ,file-name)))) + decora-components) + #t))) + + (add-after 'generate-decora-shaders 'compile-decora-shaders + (lambda _ + (let ((classes "build/classes/java/main") + (decora-classes "build/classes/jsl-decora/") + (decora-gen-src "build/generated-src/jsl-decora")) + (mkdir-p decora-classes) + (apply invoke `("javac" + "-d" ,decora-classes + "-cp" ,classes + ,@javac/h-flags + ,@(find-files decora-gen-src "\\.java$")))) + #t)) + + (add-after 'compile-decora-shaders 'compile-decora-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + (decora-gen-headers "build/generated-src/headers/jsl-decora") + (decora-gen-src "build/generated-src/jsl-decora") + (decora-native-lib "build/libs/jsl-decora/linux/libdecora_sse.so") + (decora-native-obj "build/native/jsl-decora/linux") + (decora-native-src "src/main/native-decora") + (decora-src "src/main/jsl-decora/") + (decora-classes "build/classes/jsl-decora/") + (decora-cc-flags `(,@cc-flags "-ffast-math"))) + (mkdir-p decora-gen-headers) + (apply invoke `("javah" + "-d" ,decora-gen-headers + "-cp" ,(string-join (list classes decora-classes) ":") + ,@javac/h-flags + ,@(filter (cut string-prefix? "com.sun.scenario.effect.impl.sw.sse" <>) + (append (java-list-classes classes) + (java-list-classes decora-classes))))) + (mkdir-p decora-native-obj) + (for-each (lambda (cc) + (apply invoke `("gcc" + ,@decora-cc-flags + "-I" ,decora-gen-headers + "-I" ,decora-gen-src + "-I" ,decora-native-src + "-o" ,(string-append decora-native-obj "/" + (basename cc ".cc") ".obj") + ,cc))) + (append (find-files decora-gen-src "\\.cc$") + (find-files decora-native-src "\\.cc$"))) + (mkdir-p (dirname decora-native-lib)) + (apply invoke `("g++" + "-o" ,decora-native-lib + ,@link-flags + ,@(find-files decora-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-decora-native-lib 'compile-linux-font-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + (font-gen-headers "build/generated-src/headers/font/linux") + (font-native-lib "build/libs/font/linux/libjavafx_font.so") + (font-native-obj "build/native/font/linux") + (font-native-src "src/main/native-font") + ;; + (font-cc-flags `("-DJFXFONT_PLUS" ,@cc-flags))) + (mkdir-p font-gen-headers) + (apply invoke `("javah" + "-d" ,font-gen-headers + "-cp" ,classes + ,@javac/h-flags + ,@(filter (lambda (class) + (or (string-prefix? "com.sun.javafx.font" class) + (string-prefix? "com.sun.javafx.text" class))) + (java-list-classes classes)))) + (mkdir-p font-native-obj) + (for-each (lambda (cc) + (apply invoke `("gcc" + ,@font-cc-flags + "-I" ,font-gen-headers + "-I" ,font-native-src + "-o" ,(string-append font-native-obj "/" + (basename cc ".c") ".obj") + ,cc))) + (find-files font-native-src "\\.c$")) + (mkdir-p (dirname font-native-lib)) + (apply invoke `("g++" + "-o" ,font-native-lib + ,@link-flags + ,@(find-files font-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-linux-font-native-lib 'compile-linux-font-freetype + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + ;; + (font-freetype-gen-headers "build/generated-src/headers/fontFreetype/linux") + (font-freetype-native-lib "build/libs/fontFreetype/linux/libjavafx_font_freetype.so") + (font-freetype-native-obj "build/native/fontFreetype/linux") + (font-freetype-native-src "src/main/native-font/freetype.c") + (font-freetype-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_PANGO" + "$(pkg-config --cflags freetype2)" ,@cc-flags)) + (font-freetype-link-flags `("$(pkg-config --libs freetype2)" ,@link-flags))) + (mkdir-p font-freetype-gen-headers) + (apply invoke `("javah" + "-d" ,font-freetype-gen-headers + "-cp" ,classes + ,@javac/h-flags + ,@(filter (cut string-prefix? "com.sun.javafx.font.freetype.OSFreetype" <>) + (java-list-classes classes)))) + (mkdir-p font-freetype-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-freetype-cc-flags + "-I" ,font-freetype-gen-headers + "-I" ,(dirname font-freetype-native-src) + "-o" ,(string-append font-freetype-native-obj "/" + (basename font-freetype-native-src ".c") ".obj") + ,font-freetype-native-src))) + (mkdir-p (dirname font-freetype-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + "-o" ,font-freetype-native-lib + ,@font-freetype-link-flags + ,@(find-files font-freetype-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-font-freetype 'compile-linux-font-pango-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + (font-pango-gen-headers "build/generated-src/headers/fontPango/linux") + (font-pango-native-lib "build/libs/fontPango/linux/libjavafx_font_pango.so") + (font-pango-native-obj "build/native/fontPango/linux") + (font-pango-native-src "src/main/native-font/pango.c") + (font-pango-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_PANGO" + "$(pkg-config --cflags pangoft2)" ,@cc-flags)) + (font-pango-link-flags `("$(pkg-config --libs pangoft2)" ,@link-flags))) + (mkdir-p font-pango-gen-headers) + (apply invoke `("javah" + "-d" ,font-pango-gen-headers + "-cp" ,classes + ,@javac/h-flags + ,@(filter (cut string-prefix? "com.sun.javafx.font.freetype.OSPango" <>) + (java-list-classes classes)))) + (mkdir-p font-pango-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-pango-cc-flags + "-I" ,font-pango-gen-headers + "-I" ,(dirname font-pango-native-src) + "-o" ,(string-append font-pango-native-obj "/" + (basename font-pango-native-src ".c") ".obj") + ,font-pango-native-src))) + (mkdir-p (dirname font-pango-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@font-pango-link-flags + "-o" ,font-pango-native-lib + ,@(find-files font-pango-native-obj "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-font-pango-lib 'compile-linux-glass-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + ;; glass + (glass-gen-headers "build/generated-src/headers/glass/linux") + (glass-native-lib "build/libs/glass/linux/libglass.so") + (glass-native-obj "build/native/glass/linux/glass") + (glass-native-src "src/main/native-glass/gtk/launcher.c") + (glass-cc-flags + `(,@cc-flags + "$(pkg-config --cflags glib-2.0 gdk-2.0 gtk+-2.0 gthread-2.0 xtst)" + "-Werror")) + (glass-link-flags + `(,@link-flags "$(pkg-config --libs x11)" "-ldl")) + ;; glass-gtk2 + (gtk (assoc-ref inputs "gtk")) + (glass-gtk2-native-obj "build/native/glass/linux/glassgtk2") + (glass-gtk2-native-src (dirname glass-native-src)) + (glass-gtk2-native-lib "build/libs/glass/linux/libglassgtk2.so") + (glass-gtk2-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-2.0 gthread-2.0 xtst)" + "-Werror")) + (glass-gtk2-link-flags + `(,@link-flags + "$(pkg-config --libs gtk+-2.0 gthread-2.0 xtst)")) + ;; glass-gtk3 + (gtk3 (assoc-ref inputs "gtk3")) + (glass-gtk3-native-obj "build/native/glass/linux/glassgtk3") + (glass-gtk3-native-src (dirname glass-native-src)) + (glass-gtk3-native-lib "build/libs/glass/linux/libglassgtk3.so") + (glass-gtk3-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-3.0 gthread-2.0 xtst)" + "-Wno-deprecated-declarations" "-Werror")) + (glass-gtk3-link-flags + `(,@link-flags "$(pkg-config --libs gtk+-3.0 gthread-2.0 xtst)"))) + ;; glass + (mkdir-p glass-gen-headers) + (apply invoke `("javah" + "-d" ,glass-gen-headers + "-cp" ,(string-append classes ":" (getenv "CLASSPATH")) + ,@javac/h-flags + ,@(filter (lambda (class) + (or (string-prefix? "com.sun.glass.events" class) + (string-prefix? "com.sun.glass.ui.gtk" class) + (string-prefix? "com.sun.glass.ui" class))) + (java-list-classes classes)))) + (mkdir-p glass-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-cc-flags + "-I" ,glass-gen-headers + "-I" ,(dirname glass-native-src) + "-o" ,(string-append glass-native-obj "/" + (basename glass-native-src ".c") ".obj") + ,glass-native-src))) + (mkdir-p (dirname glass-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-link-flags + "-o" ,glass-native-lib + ,@(find-files glass-native-obj "\\.obj$")))) + ;; gtk2 + (mkdir-p glass-gtk2-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk2-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append glass-gtk2-native-obj "/" + (basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk2-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk2-link-flags + "-o" ,glass-gtk2-native-lib + ,@(find-files glass-gtk2-native-obj "\\.obj$")))) + ;; gtk3 + (mkdir-p glass-gtk3-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk3-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append glass-gtk3-native-obj "/" + (basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk3-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk3-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk3-link-flags + "-o" ,glass-gtk3-native-lib + ,@(find-files glass-gtk3-native-obj "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-glass-lib 'compile-linux-iio + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + (iio-gen-headers "build/generated-src/headers/iio/linux") + (iio-native-lib "build/libs/iio/linux/libjavafx_iio.so") + (iio-native-obj "build/native/iio/linux") + (iio-native-src "src/main/native-iio") + (iio-cc-flags cc-flags) + (iio-link-flags link-flags)) + (mkdir-p iio-gen-headers) + (apply invoke `("javah" + "-d" ,iio-gen-headers + "-cp" ,(string-append classes ":" (getenv "CLASSPATH")) + ,@javac/h-flags + ,@(filter (cut string-prefix? "com.sun.javafx.iio" <>) + (java-list-classes classes)))) + (mkdir-p iio-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@iio-cc-flags + "-I" ,iio-gen-headers + "-o" ,(string-append iio-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files iio-native-src "\\.c$")) + (mkdir-p (dirname iio-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@iio-link-flags + "-o" ,iio-native-lib + ,@(find-files iio-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-iio 'compile-linux-prism + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + (prism-gen-headers "build/generated-src/headers/prism/linux") + (prism-native-lib "build/libs/prism/linux/libprism_common.so") + (prism-native-obj "build/native/prism/linux") + (prism-native-src "src/main/native-prism") + (prism-cc-flags `(,@cc-flags "-DINLINE=inline")) + (prism-link-flags link-flags)) + (mkdir-p prism-gen-headers) + (apply invoke `("javah" + "-d" ,prism-gen-headers + "-cp" ,(string-append classes ":" (getenv "CLASSPATH")) + ,@javac/h-flags + ,@(filter (lambda (class) + (or (string-prefix? "com.sun.prism.impl" class) + (string-prefix? "com.sun.prism.PresentableState" class))) + (java-list-classes classes)))) + (mkdir-p prism-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-cc-flags + "-I" ,prism-gen-headers + "-I" ,prism-native-src + "-o" ,(string-append prism-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files prism-native-obj "\\.c$")) + (mkdir-p (dirname prism-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-link-flags + "-o" ,prism-native-lib + ,@(find-files prism-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism 'compile-linux-prism-es2 + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + (prism-es2-gen-headers "build/generated-src/headers/prismES2/linux") + (prism-es2-native-lib "build/libs/prism/linux/libprism_es2.so") + (prism-es2-native-obj "build/native/prismES2/linux") + (prism-es2-native-src "src/main/native-prism-es2") + (prism-es2-cc-flags `("-DLINUX" ,@cc-flags)) + (prism-es2-link-flags + `(,@link-flags "$(pkg-config --libs x11 xxf86vm gl)")) + ;; We need all *.c files in the root and only those + ;; which are in a specific directories. + (filter-src + (lambda (abs _) + (or (regexp-exec (make-regexp (string-append prism-es2-native-src "[^/]*\\.c$")) + abs) + (regexp-exec (make-regexp (string-append prism-es2-native-src "(x11/|GL/)")) + abs))))) + (mkdir-p prism-es2-gen-headers) + (apply invoke `("javah" + "-d" ,prism-es2-gen-headers + "-cp" ,(string-append classes ":" (getenv "CLASSPATH")) + ,@javac/h-flags + ,@(filter (cut string-prefix? "com.sun.prism.es2" <>) + (java-list-classes classes)))) + (mkdir-p prism-es2-native-obj) + (for-each (lambda (c) + (apply invoke `("gcc" + ,@prism-es2-cc-flags + "-I" ,glass-native-src + "-I" ,prism-es2-gen-headers + "-I" ,prism-es2-native-src + "-I" ,(string-append prism-es2-native-src "/GL") + "-I" ,(string-append prism-es2-native-src "/x11") + "-o" ,(string-append prism-es2-native-obj "/" + (basename c ".c") ".obj") + ,c))) + (find-files prism-es2-native-src filter-src)) + (mkdir-p (dirname prism-es2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-es2-link-flags + "-o" ,prism-es2-native-lib + ,@(find-files prism-es2-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism-es2 'compile-linux-prism-sw + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + (prism-sw-gen-headers "build/generated-src/headers/prismSW/linux") + (prism-sw-native-lib "build/libs/prism/linux/libprism_sw.so") + (prism-sw-native-obj "build/native/prismSW/linux") + (prism-sw-native-src "src/main/native-prism-sw") + ;; + (prism-sw-cc-flags `(,@cc-flags "-DINLINE=inline")) + (prism-sw-link-flags link-flags)) + (mkdir-p prism-sw-gen-headers) + (apply invoke `("javah" + "-d" ,prism-sw-gen-headers + "-cp" ,(string-append classes ":" (getenv "CLASSPATH")) + ,@javac/h-flags + ,@(filter (cut string-prefix? "com.sun.pisces" <>) + (java-list-classes classes)))) + (mkdir-p prism-sw-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-sw-cc-flags + "-I" ,prism-sw-gen-headers + "-I" ,prism-sw-native-src + "-o" ,(string-append prism-sw-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files prism-sw-native-src "\\.c$")) + (mkdir-p (dirname prism-sw-native-lib)) + (apply invoke `("g++" + ,@prism-sw-link-flags + "-o" ,prism-sw-native-lib + ,@(find-files prism-sw-native-obj "\\.obj$"))) + #t))) + + (add-before 'check 'chdir-to-root + (lambda _ + (chdir (dirname (dirname (getcwd)))) + #t)) + + (add-after 'chdir-to-root 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$")) + #t))) + + (add-after 'install-native 'build-jar + (lambda _ + (let* ((module (string-append (getcwd) "/modules/graphics")) + (resources (string-append module "/src/main/resources")) + (classes (string-append module "/build/classes/java/main"))) + (copy-recursively resources classes) + + (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) + #t)))))) + (native-inputs + `(("freetype" ,freetype) + ("fontconfig" ,fontconfig) + ("gcc" ,gcc) + ("glib" ,glib) + ("zlib" ,zlib) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("jpeg" ,libjpeg) + ("libxtst" ,libxtst) + ("pango" ,pango) + ("libpng" ,libpng) + ("pkg-config" ,pkg-config))) (propagated-inputs `(("java-openjfx-base" ,java-openjfx-base) - ("java-swt" ,java-swt))) - (description "OpenJFX is a client application platform for desktop, -mobile and embedded systems built on Java. Its goal is to produce a -modern, efficient, and fully featured toolkit for developing rich client -applications. This package contains graphics-related classes for the -OpenJFX distribution."))) + ("java-swt" ,java-swt))))) (define-public java-openjfx-media (package (inherit java-openjfx-build) --------------[ mime-boundary-string ]--
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 09/12] gnu: java-openjfx-web: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 17 May 2020 13:53:04 +0000 Resent-Message-ID: <handler.41360.B41360.158972355631986 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.158972355631986 (code B ref 41360); Sun, 17 May 2020 13:53:04 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:36 +0000 Received: from localhost ([127.0.0.1]:42683 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jaJiV-0008Jj-Gj for submit <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:36 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:59937) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jaJiE-0008IY-9s for 41360 <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:19 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 46BC19CF2D for <41360 <at> debbugs.gnu.org>; Sun, 17 May 2020 13:21:30 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 17 May 2020 15:51:38 +0200 Message-Id: <20200517135138.1651512-9-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200517135138.1651512-1-levenson@HIDDEN> References: <20200517135138.1651512-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit --- gnu/packages/java.scm | 165 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0009-gnu-java-openjfx-web-Add-new-variable.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0009-gnu-java-openjfx-web-Add-new-variable.patch" diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index ccf347be4c..7e477d082e 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -50,11 +50,13 @@ #:use-module (gnu packages cpio) #:use-module (gnu packages cups) #:use-module (gnu packages compression) + #:use-module (gnu packages cmake) #:use-module (gnu packages elf) #:use-module (gnu packages fontutils) #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) + #:use-module (gnu packages gperf) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms @@ -74,8 +76,10 @@ #:use-module (gnu packages wget) #:use-module (gnu packages pkg-config) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages popt) #:use-module (gnu packages kerberos) + #:use-module (gnu packages ruby) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages texinfo) @@ -3264,6 +3268,167 @@ modern, efficient, and fully featured toolkit for developing rich client applications. This package contains media-related classes for the OpenJFX distribution."))) +(define-public java-openjfx-web + (package (inherit java-openjfx-build) + (name "java-openjfx-web") + (arguments + `(#:jar-name "java-openjfx-web.jar" + #:source-dir (string-join '("modules/web/src/main/java" + "modules/web/src/main/native/Source/WebCore/bindings/java/dom3") + ";") + #:tests? #f + #:modules ((ice-9 match) + (guix build ant-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (let* ((module (string-append (getcwd) "/modules/web")) + (classes (string-append module "/build/classes/java/main"))) + (invoke "ant" "compile" (string-append "-Dclasses.dir=" classes))) + #t)) + (add-after 'build 'generate-headers + (lambda* (#:key inputs #:allow-other-keys) + (let* ((module (string-append (getcwd) "/modules/web")) + (classes (string-append module "/build/classes/java/main")) + (web-generated-headers (string-append module "/build/generated-src/headers")) + (web-generated-classes '("com.sun.webkit.ContextMenu" + "com.sun.webkit.ContextMenuItem" + "com.sun.webkit.CursorManager" + "com.sun.webkit.PageCache" + "com.sun.webkit.PopupMenu" + "com.sun.webkit.SharedBuffer" + "com.sun.webkit.WebPage" + "com.sun.webkit.LoadListenerClient" + "com.sun.webkit.event.WCFocusEvent" + "com.sun.webkit.event.WCKeyEvent" + "com.sun.webkit.event.WCMouseEvent" + "com.sun.webkit.event.WCMouseWheelEvent" + "com.sun.webkit.graphics.GraphicsDecoder" + "com.sun.webkit.graphics.RenderMediaControls" + "com.sun.webkit.graphics.RenderTheme" + "com.sun.webkit.graphics.ScrollBarTheme" + "com.sun.webkit.graphics.WCMediaPlayer" + "com.sun.webkit.graphics.WCGraphicsManager" + "com.sun.webkit.graphics.WCRenderQueue" + "com.sun.webkit.graphics.WCPath" + "com.sun.webkit.graphics.WCPathIterator" + "com.sun.webkit.Timer" + "com.sun.webkit.WCFrameView" + "com.sun.webkit.WCPasteboard" + "com.sun.webkit.WCPluginWidget" + "com.sun.webkit.dom.CharacterDataImpl" + "com.sun.webkit.dom.JSObject" + "com.sun.webkit.network.SocketStreamHandle" + "com.sun.webkit.network.URLLoader" + "com.sun.webkit.text.TextBreakIterator" + "com.sun.webkit.text.TextNormalizer")) + (graphics (assoc-ref inputs "java-openjfx-graphics"))) + (mkdir-p web-generated-headers) + (apply invoke + "javah" + "-Djava.ext.dirs=" + "-XDignore.symbol.file" + "-XDuseUnsharedTable=true" + "-d" web-generated-headers + "-cp" (string-join (cons* classes (find-files graphics ".jar$")) ":") + web-generated-classes)) + #t)) + + (add-after 'generate-headers 'compile-native-linux + (lambda* (#:key inputs system outputs #:allow-other-keys) + (let* ((module (string-append (getcwd) "/modules/web")) + ;; + (webkit-native-dest (string-append module "/build/linux")) + (webkit-native-src (string-append module "/src/main/native")) + ;; + (lib (string-append (assoc-ref outputs "out") "/lib")) + ;; uname -m + (machine (match system + ("x86_64-linux" "x86_64") + ("i686-linux" "i686") + ;; Prevent errors when querying this + ;; package on unsupported platforms, + ;; e.g. when running "guix package + ;; --search=" + (_ "UNSUPPORTED")))) + + (mkdir-p webkit-native-dest) + (setenv "PYTHONDONTWRITEBYTECODE" "1") + (setenv "WEBKIT_OUTPUTDIR" webkit-native-dest) + (apply invoke `("perl" + ,(string-append webkit-native-src "/Tools/Scripts/set-webkit-configuration") + ,(if ,(target-64bit?) "--64-bit" "--32-bit") + "--release")) + + (invoke "perl" + (string-append webkit-native-src "/Tools/Scripts/build-webkit") + "--java" ; webkit port + "--skip-library-update" + "--verbose" + (string-append + "--cmakeargs=" + (string-join + (list "-DCMAKE_SYSTEM_NAME=Linux" + ;; ensure that the libraries are installed into /lib + (string-append "-DCMAKE_INSTALL_LIBDIR=" lib) + ;; add input libraries to rpath + "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" + ;; enable verbose output from builds + "-DCMAKE_VERBOSE_MAKEFILE=ON" + (string-append "-DCMAKE_SHARED_LINKER_FLAGS=" + "\"-Wl,-rpath=" lib "\"") + (string-append "-DCMAKE_SYSTEM_PROCESSOR=" machine) + + "-DJAVAFX_RELEASE_VERSION=8.0" + "-W" + "-Wall" + "-Werror=implicit-function-declaration" + "-Wl,--gc-sections" + "-Wno-parentheses" + "-Wno-unused" + "-fPIC" + "-fno-omit-frame-pointer" + "-fno-strict-aliasing" + "-fstack-protector"))))) + #t)) + + (add-after 'compile-native-linux 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$"))))) + + (add-before 'install 'build-jar + (lambda _ + (let* ((module (string-append (getcwd) "/modules/web")) + (resources (string-append module "/src/main/resources")) + (classes (string-append module "/build/classes/java/main"))) + (copy-recursively resources classes) + (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) + #t))))) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core) + ("cmake" ,cmake) + ("gcc" ,gcc) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("ruby" ,ruby) + ("perl" ,perl) + ("gperf" ,gperf) + ("python-2" ,python-2) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("java-openjfx-controls" ,java-openjfx-controls) + ("java-openjfx-media" ,java-openjfx-media) + ("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public javacc-4 (package (name "javacc") --------------[ mime-boundary-string ]--
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 04/12] gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 17 May 2020 13:53:04 +0000 Resent-Message-ID: <handler.41360.B41360.158972356031998 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.158972356031998 (code B ref 41360); Sun, 17 May 2020 13:53:04 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:40 +0000 Received: from localhost ([127.0.0.1]:42685 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jaJiW-0008Jr-IX for submit <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:40 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:59917) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jaJiC-0008IF-Oa for 41360 <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:20 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id A03749CE85 for <41360 <at> debbugs.gnu.org>; Sun, 17 May 2020 13:21:23 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 17 May 2020 15:51:33 +0200 Message-Id: <20200517135138.1651512-4-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200517135138.1651512-1-levenson@HIDDEN> References: <20200517135138.1651512-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 +- ...ld-swing-compile-JFXPanel-with-JDK-8.patch | 63 +++++++++++++++++++ 3 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0004-gnu-java-openjfx-build-Fix-openjfx-swing-component-b.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0004-gnu-java-openjfx-build-Fix-openjfx-swing-component-b.patch" diff --git a/gnu/local.mk b/gnu/local.mk index ad0ad930ad..eaaa54e6f8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1107,6 +1107,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-get_guix_jdk_version.patch \ + %D%/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 4b83e963ea..e38e691ee5 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2501,7 +2501,8 @@ new Date();")) (sha256 (base32 "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) - (patches (search-patches "java-openjfx-build-get_guix_jdk_version.patch")))) + (patches (search-patches "java-openjfx-build-get_guix_jdk_version.patch" + "java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch b/gnu/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch new file mode 100644 index 0000000000..363ce9509b --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch @@ -0,0 +1,63 @@ +From 173e65937d9e76872df51f7ba39c9d58986dc38f Mon Sep 17 00:00:00 2001 +From: Alexey Abramov <levenson@HIDDEN> +Date: Fri, 3 Jan 2020 01:17:45 +0100 +Subject: [PATCH] java-openjfx-build: Cannot compile JFXPanel with JDK 8 + +In JDKu9 getDefaultScale method was removed and sun.java2d.SurfaceData class now +has separate getDefaultScaleX() and getDefaultScaleY() methods. See +https://bugs.openjdk.java.net/browse/JDK-8073320 for more info. + +Backport the missing port to build openjfx-swing package using JDKu8. For more +info please see https://bugs.openjdk.java.net/browse/JDK-8149967 + +--- + .../java/javafx/embed/swing/JFXPanel.java | 20 ++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java b/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java +index 97515e2290..614ed656b9 100644 +--- a/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java ++++ b/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java +@@ -81,6 +81,7 @@ import sun.awt.AppContext; + import sun.awt.CausedFocusEvent; + import sun.awt.SunToolkit; + import sun.java2d.SunGraphics2D; ++import sun.java2d.SurfaceData; + import sun.util.logging.PlatformLogger; + import sun.util.logging.PlatformLogger.Level; + +@@ -681,6 +682,23 @@ + e.getCaret().getInsertionIndex()); + } + ++ // FIXME: once we move to JDK 9 as the boot JDK we should remove the ++ // reflection code from this method, consider changing it to ++ // use double rather than int, and account for the possibility of ++ // a different scale factor in X and Y. ++ private int getDefaultScale(SurfaceData surfaceData) { ++ /* ++ double scale = surfaceData.getDefaultScaleX(); ++ */ ++ double scale = 1; ++ try { ++ Method meth = SurfaceData.class.getMethod("getDefaultScaleX"); ++ scale = (Double)meth.invoke(surfaceData); ++ } catch (Exception ex) { ++ } ++ ++ return (int)Math.round(scale); ++ } + + /** + * Overrides the {@link javax.swing.JComponent#paintComponent(Graphics)} +@@ -720,7 +738,7 @@ public class JFXPanel extends JComponent { + + int newScaleFactor = scaleFactor; + if (g instanceof SunGraphics2D) { +- newScaleFactor = ((SunGraphics2D)g).surfaceData.getDefaultScale(); ++ newScaleFactor = getDefaultScale(((SunGraphics2D)g).surfaceData); + } + if (scaleFactor != newScaleFactor) { + resizePixelBuffer(newScaleFactor); +-- +2.24.1 --------------[ mime-boundary-string ]--
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 08/12] gnu: java-openjfx-build: Prepare a patch to build openjfx-web. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 17 May 2020 13:53:05 +0000 Resent-Message-ID: <handler.41360.B41360.158972356232007 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.158972356232007 (code B ref 41360); Sun, 17 May 2020 13:53:05 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:42 +0000 Received: from localhost ([127.0.0.1]:42687 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jaJia-0008K3-49 for submit <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:42 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:59933) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jaJiE-0008IR-1M for 41360 <at> debbugs.gnu.org; Sun, 17 May 2020 09:52:21 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 1CCB29CECB for <41360 <at> debbugs.gnu.org>; Sun, 17 May 2020 13:21:30 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 17 May 2020 15:51:37 +0200 Message-Id: <20200517135138.1651512-8-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200517135138.1651512-1-levenson@HIDDEN> References: <20200517135138.1651512-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 +- ...uild-web-Check-xlocale.h-header-file.patch | 55 +++++++++++++++++++ 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file.patch --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0008-gnu-java-openjfx-build-Prepare-a-patch-to-build-open.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0008-gnu-java-openjfx-build-Prepare-a-patch-to-build-open.patch" diff --git a/gnu/local.mk b/gnu/local.mk index eaaa54e6f8..591c7c9d46 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1108,6 +1108,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-get_guix_jdk_version.patch \ %D%/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch \ + %D%/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index c28c8450b1..ccf347be4c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2502,7 +2502,8 @@ new Date();")) (base32 "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) (patches (search-patches "java-openjfx-build-get_guix_jdk_version.patch" - "java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch")))) + "java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch" + "java-openjfx-build-web-Check-xlocale.h-header-file.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file.patch b/gnu/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file.patch new file mode 100644 index 0000000000..a5cb9730e4 --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file.patch @@ -0,0 +1,55 @@ +From 95fe8463a3283f0f2c72fcf3416ebfac095688e5 Mon Sep 17 00:00:00 2001 +From: Alexey Abramov <levenson@HIDDEN> +Date: Sun, 9 Feb 2020 18:31:26 +0100 +Subject: [PATCH] Check <xlocale.h> header file + +Few libraries use hard-coded xlocale_h header even though if CMake takes care +of it properly. Remove defined headers, and rely on CMake preprocessor +instead. + +--- + .../src/main/native/Source/ThirdParty/libxslt/linux/config.h | 2 +- + .../src/main/native/Source/ThirdParty/libxslt/src/config.h.in | 2 +- + modules/web/src/main/native/Source/cmake/OptionsCommon.cmake | 1 + + 3 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h b/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h +index bd44c163..b19b45f4 100644 +--- a/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h ++++ b/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h +@@ -143,7 +143,7 @@ + #define HAVE_VSPRINTF 1 + + /* Define to 1 if you have the <xlocale.h> header file. */ +-#define HAVE_XLOCALE_H 1 ++/* #define HAVE_XLOCALE_H 1 */ + + /* Define to 1 if you have the `_stat' function. */ + /* #undef HAVE__STAT */ +diff --git a/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in b/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in +index 085354e9..0210fce2 100644 +--- a/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in ++++ b/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in +@@ -142,7 +142,7 @@ + #undef HAVE_VSPRINTF + + /* Define to 1 if you have the <xlocale.h> header file. */ +-#undef HAVE_XLOCALE_H ++/* #undef HAVE_XLOCALE_H */ + + /* Define to 1 if you have the `_stat' function. */ + #undef HAVE__STAT +diff --git a/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake b/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake +index 3bbd2c4a..2b618dd6 100644 +--- a/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake ++++ b/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake +@@ -148,6 +148,7 @@ _HAVE_CHECK_INCLUDE(HAVE_STRINGS_H strings.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_PARAM_H sys/param.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_TIME_H sys/time.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_TIMEB_H sys/timeb.h) ++_HAVE_CHECK_INCLUDE(HAVE_XLOCALE_H xlocale.h) + + # Check for functions + _HAVE_CHECK_FUNCTION(HAVE_ALIGNED_MALLOC _aligned_malloc) +-- +2.24.1 --------------[ mime-boundary-string ]--
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 01/12] gnu: java-openjfx-build: Add helpful patch. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 23 May 2020 13:59:02 +0000 Resent-Message-ID: <handler.41360.B41360.159024232528941 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov <levenson@HIDDEN> Cc: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159024232528941 (code B ref 41360); Sat, 23 May 2020 13:59:02 +0000 Received: (at 41360) by debbugs.gnu.org; 23 May 2020 13:58:45 +0000 Received: from localhost ([127.0.0.1]:35216 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jcUff-0007Wd-GO for submit <at> debbugs.gnu.org; Sat, 23 May 2020 09:58:45 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51602) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1jcUfa-0007WM-7y for 41360 <at> debbugs.gnu.org; Sat, 23 May 2020 09:58:38 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43363) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1jcUfU-0002oE-QP; Sat, 23 May 2020 09:58:28 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=52234 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1jcUfS-0000Xi-56; Sat, 23 May 2020 09:58:27 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> References: <20200517132829.1553311-1-levenson@HIDDEN> <20200517135138.1651512-1-levenson@HIDDEN> Date: Sat, 23 May 2020 15:58:24 +0200 In-Reply-To: <20200517135138.1651512-1-levenson@HIDDEN> (Alexey Abramov's message of "Sun, 17 May 2020 15:51:30 +0200") Message-ID: <87k1127ny7.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi Alexey, Thanks for the patch series! Alexey Abramov <levenson@HIDDEN> skribis: > * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. > * gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch: New= file. > * gnu/local.mk (dist_patch_DATA): Add it. [...] > +++ b/gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch > @@ -0,0 +1,37 @@ Could you shorten this file name a bit? (=E2=80=98guix lint=E2=80=99 proba= bly complains.) > +From d156313340d3edcd78751ea8ed5e66c7668275c3 Mon Sep 17 00:00:00 2001 > +From: Alexey Abramov <levenson@HIDDEN> > +Date: Sun, 8 Mar 2020 20:07:22 +0100 > +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME In general I think you can omit the first three lines and just keep the subject. > +Icedtea contains guix in its version, so build.gradle failes to run. Ope= njfx > +packaging is not trivial, so you will probably need to try build it with > +gradlew. Otherwise LGTM.
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 02/12] gnu: java-openjfx-build: Fix indentation. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 23 May 2020 14:00:02 +0000 Resent-Message-ID: <handler.41360.B41360.159024234629004 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov <levenson@HIDDEN> Cc: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159024234629004 (code B ref 41360); Sat, 23 May 2020 14:00:02 +0000 Received: (at 41360) by debbugs.gnu.org; 23 May 2020 13:59:06 +0000 Received: from localhost ([127.0.0.1]:35220 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jcUg6-0007Xk-E0 for submit <at> debbugs.gnu.org; Sat, 23 May 2020 09:59:06 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51676) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1jcUg4-0007X5-W8 for 41360 <at> debbugs.gnu.org; Sat, 23 May 2020 09:59:05 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43374) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1jcUfz-0002rt-M9; Sat, 23 May 2020 09:58:59 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=52236 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1jcUfy-00018u-7d; Sat, 23 May 2020 09:58:58 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> References: <20200517135138.1651512-1-levenson@HIDDEN> <20200517135138.1651512-2-levenson@HIDDEN> Date: Sat, 23 May 2020 15:58:57 +0200 In-Reply-To: <20200517135138.1651512-2-levenson@HIDDEN> (Alexey Abramov's message of "Sun, 17 May 2020 15:51:31 +0200") Message-ID: <87ftbq7nxa.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Alexey Abramov <levenson@HIDDEN> skribis: > --- > gnu/packages/java.scm | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) Please add a commit log like you did for some of the other patches. Otherwise LGTM!
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 03/12] gnu: java-openjfx-graphics: Implement a complete compilation. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 23 May 2020 14:05:02 +0000 Resent-Message-ID: <handler.41360.B41360.15902426945314 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov <levenson@HIDDEN> Cc: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.15902426945314 (code B ref 41360); Sat, 23 May 2020 14:05:02 +0000 Received: (at 41360) by debbugs.gnu.org; 23 May 2020 14:04:54 +0000 Received: from localhost ([127.0.0.1]:35224 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jcUlW-0001NS-2r for submit <at> debbugs.gnu.org; Sat, 23 May 2020 10:04:54 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52156) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1jcUlR-0001NC-6c for 41360 <at> debbugs.gnu.org; Sat, 23 May 2020 10:04:41 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43453) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1jcUlL-00043I-Ry; Sat, 23 May 2020 10:04:31 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=52238 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1jcUlL-0007I1-Bl; Sat, 23 May 2020 10:04:31 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> References: <20200517135138.1651512-1-levenson@HIDDEN> <20200517135138.1651512-3-levenson@HIDDEN> Date: Sat, 23 May 2020 16:04:29 +0200 In-Reply-To: <20200517135138.1651512-3-levenson@HIDDEN> (Alexey Abramov's message of "Sun, 17 May 2020 15:51:32 +0200") Message-ID: <878shi7no2.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Alexey Abramov <levenson@HIDDEN> skribis: > --- > gnu/packages/java.scm | 643 +++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 635 insertions(+), 8 deletions(-) Please add a commit log. > + (java-aux-class? > + (lambda (class) > + (string-match "\\$[0-9]+.class" class))) Probably =E2=80=9C\\.class=E2=80=9D instead of =E2=80=9C.class=E2=80=9D? > + (add-after 'chdir-to-a-module-directory 'compile-prism-compil= ers > + (lambda _ Maybe add a comment explaining why this phase is necessary. > + (let ((prism-compilers-classes "build/classes/jsl-compile= rs/prism") > + (prism-src "src/main/jsl-prism/")) > + (mkdir-p prism-compilers-classes) > + (apply invoke `("javac" > + "-d" ,prism-compilers-classes > + ,@javac/h-flags > + ,@(find-files prism-src "\\.java")))) This can be shortened as: (apply invoke "javac" "-d" prism-compilers-classes (append javac/h-flags (find-files prism-src "\\.java"))) These two comments apply to the other phases too. More generally, why are there so many phases? How do people normally build it? Gradle? Would it make sense to factorize helpers in a new (gnu build java-openjfx) module or similar? Thanks, Ludo=E2=80=99.
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 04/12] gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 23 May 2020 14:06:01 +0000 Resent-Message-ID: <handler.41360.B41360.15902427275393 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov <levenson@HIDDEN> Cc: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.15902427275393 (code B ref 41360); Sat, 23 May 2020 14:06:01 +0000 Received: (at 41360) by debbugs.gnu.org; 23 May 2020 14:05:27 +0000 Received: from localhost ([127.0.0.1]:35228 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jcUmC-0001Os-PM for submit <at> debbugs.gnu.org; Sat, 23 May 2020 10:05:26 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52212) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1jcUm8-0001Ob-0y for 41360 <at> debbugs.gnu.org; Sat, 23 May 2020 10:05:23 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43462) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1jcUm2-0004FF-S1; Sat, 23 May 2020 10:05:14 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=52240 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1jcUm1-0007Lf-Ix; Sat, 23 May 2020 10:05:14 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> References: <20200517135138.1651512-1-levenson@HIDDEN> <20200517135138.1651512-4-levenson@HIDDEN> Date: Sat, 23 May 2020 16:05:12 +0200 In-Reply-To: <20200517135138.1651512-4-levenson@HIDDEN> (Alexey Abramov's message of "Sun, 17 May 2020 15:51:33 +0200") Message-ID: <874ks67nmv.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Alexey Abramov <levenson@HIDDEN> skribis: > * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. > * gnu/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch: > New file. > * gnu/local.mk (dist_patch_DATA): Add it. [...] > +++ b/gnu/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch > @@ -0,0 +1,63 @@ > +From 173e65937d9e76872df51f7ba39c9d58986dc38f Mon Sep 17 00:00:00 2001 > +From: Alexey Abramov <levenson@HIDDEN> > +Date: Fri, 3 Jan 2020 01:17:45 +0100 > +Subject: [PATCH] java-openjfx-build: Cannot compile JFXPanel with JDK 8 > + > +In JDKu9 getDefaultScale method was removed and sun.java2d.SurfaceData class now > +has separate getDefaultScaleX() and getDefaultScaleY() methods. See > +https://bugs.openjdk.java.net/browse/JDK-8073320 for more info. > + > +Backport the missing port to build openjfx-swing package using JDKu8. For more > +info please see https://bugs.openjdk.java.net/browse/JDK-8149967 Same comment as earlier regarding the patch. :-) Otherwise LGTM!
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 05/12] gnu: java-openjfx-swing: Add new variable. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 23 May 2020 14:06:01 +0000 Resent-Message-ID: <handler.41360.B41360.15902427495432 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov <levenson@HIDDEN> Cc: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.15902427495432 (code B ref 41360); Sat, 23 May 2020 14:06:01 +0000 Received: (at 41360) by debbugs.gnu.org; 23 May 2020 14:05:49 +0000 Received: from localhost ([127.0.0.1]:35231 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jcUmb-0001PY-0Y for submit <at> debbugs.gnu.org; Sat, 23 May 2020 10:05:49 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52240) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1jcUmZ-0001PI-JQ for 41360 <at> debbugs.gnu.org; Sat, 23 May 2020 10:05:47 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43470) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1jcUmU-0004Po-Dy; Sat, 23 May 2020 10:05:42 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=52242 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1jcUmT-0007Se-KP; Sat, 23 May 2020 10:05:42 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> References: <20200517135138.1651512-1-levenson@HIDDEN> <20200517135138.1651512-5-levenson@HIDDEN> Date: Sat, 23 May 2020 16:05:40 +0200 In-Reply-To: <20200517135138.1651512-5-levenson@HIDDEN> (Alexey Abramov's message of "Sun, 17 May 2020 15:51:34 +0200") Message-ID: <87zh9y691n.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Alexey Abramov <levenson@HIDDEN> skribis: > --- > gnu/packages/java.scm | 13 +++++++++++++ > 1 file changed, 13 insertions(+) Please add a commit log.
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 09/12] gnu: java-openjfx-web: Add new variable. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 23 May 2020 14:10:02 +0000 Resent-Message-ID: <handler.41360.B41360.15902429965788 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov <levenson@HIDDEN> Cc: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.15902429965788 (code B ref 41360); Sat, 23 May 2020 14:10:02 +0000 Received: (at 41360) by debbugs.gnu.org; 23 May 2020 14:09:56 +0000 Received: from localhost ([127.0.0.1]:35236 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jcUqa-0001VI-IY for submit <at> debbugs.gnu.org; Sat, 23 May 2020 10:09:56 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52630) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1jcUqZ-0001V6-5m for 41360 <at> debbugs.gnu.org; Sat, 23 May 2020 10:09:55 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43508) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1jcUqT-0005FG-VD; Sat, 23 May 2020 10:09:49 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=52244 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1jcUqT-0007jl-Fv; Sat, 23 May 2020 10:09:49 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> References: <20200517135138.1651512-1-levenson@HIDDEN> <20200517135138.1651512-9-levenson@HIDDEN> Date: Sat, 23 May 2020 16:09:47 +0200 In-Reply-To: <20200517135138.1651512-9-levenson@HIDDEN> (Alexey Abramov's message of "Sun, 17 May 2020 15:51:38 +0200") Message-ID: <87tv0668us.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Alexey Abramov <levenson@HIDDEN> skribis: > --- > gnu/packages/java.scm | 165 ++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 165 insertions(+) Please add a commit log. [...] > + (add-after 'build 'generate-headers > + (lambda* (#:key inputs #:allow-other-keys) Could you add a comment explaining what this phase does and why we=E2=80=99= re doing all this? (Same for the other phases.) > + (let* ((module (string-append (getcwd) "/modules/web")) > + (classes (string-append module "/build/classes/java/= main")) > + (web-generated-headers (string-append module "/build= /generated-src/headers")) > + (web-generated-classes '("com.sun.webkit.ContextMenu" > + "com.sun.webkit.ContextMenu= Item" > + "com.sun.webkit.CursorManag= er" Perhaps add a comment explaining how you obtained this list of classes so that our future selves know how to update it. Since this is a Web thing, could you check whether it contains pre-built (=E2=80=9Cminified=E2=80=9D) JavaScript? If it does, that=E2=80=99s a prob= lem because we generally provide only software built from source. Could you send an updated patch series? Thank you for the hard work! Ludo=E2=80=99.
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v2 2/9] gnu: java-openjfx-build: Fix indentation. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 16:42:01 +0000 Resent-Message-ID: <handler.41360.B41360.159085689724961 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085689724961 (code B ref 41360); Sat, 30 May 2020 16:42:01 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:41:37 +0000 Received: from localhost ([127.0.0.1]:58979 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4YC-0006UX-O8 for submit <at> debbugs.gnu.org; Sat, 30 May 2020 12:41:36 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:15983) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4YB-0006UF-Gn for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 12:41:35 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id D7DF59CC47 for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:10:46 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 18:41:16 +0200 Message-Id: <20200530164123.30557-2-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530164123.30557-1-levenson@HIDDEN> References: <20200530164123.30557-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Change the indentation of the uri dirictive. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d569ed57d6..43f0f37b91 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2486,10 +2486,10 @@ new Date();")) (source (origin (method hg-fetch) (uri (hg-reference - (url "http://hg.openjdk.java.net/openjfx/8u-dev/rt") - (changeset (string-append - (string-join (string-split version #\.) "u") - "-ga")))) + (url "http://hg.openjdk.java.net/openjfx/8u-dev/rt") + (changeset (string-append + (string-join (string-split version #\.) "u") + "-ga")))) (file-name (string-append name "-" version "-checkout")) (modules '((guix build utils))) (snippet -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v2 5/9] gnu: java-openjfx-swing: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 16:42:02 +0000 Resent-Message-ID: <handler.41360.B41360.159085690225009 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085690225009 (code B ref 41360); Sat, 30 May 2020 16:42:02 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:41:42 +0000 Received: from localhost ([127.0.0.1]:58987 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4YH-0006VI-V4 for submit <at> debbugs.gnu.org; Sat, 30 May 2020 12:41:42 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:33008) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4YC-0006UK-6g for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 12:41:36 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id BE8929D0EE for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:10:47 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 18:41:19 +0200 Message-Id: <20200530164123.30557-5-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530164123.30557-1-levenson@HIDDEN> References: <20200530164123.30557-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-graphics): New variable. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 938fc0695c..f124062035 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3205,6 +3205,19 @@ distribution."))) `(("java-openjfx-base" ,java-openjfx-base) ("java-swt" ,java-swt))))) +(define-public java-openjfx-swing + (package (inherit java-openjfx-build) + (name "java-openjfx-swing") + (arguments + `(#:jar-name "java-openjfx-swing.jar" + #:source-dir "modules/swing/src/main/java" + #:tests? #f)) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v2 6/9] gnu: java-openjfx-swt: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 16:42:02 +0000 Resent-Message-ID: <handler.41360.B41360.159085690225021 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085690225021 (code B ref 41360); Sat, 30 May 2020 16:42:02 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:41:42 +0000 Received: from localhost ([127.0.0.1]:58989 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4YI-0006VK-7R for submit <at> debbugs.gnu.org; Sat, 30 May 2020 12:41:42 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:33012) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4YC-0006UR-Ps for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 12:41:37 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 5CD3A9D154 for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:10:48 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 18:41:20 +0200 Message-Id: <20200530164123.30557-6-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530164123.30557-1-levenson@HIDDEN> References: <20200530164123.30557-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-swing): New variable. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f124062035..f8d47d7eed 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3218,6 +3218,19 @@ distribution."))) (propagated-inputs `(("java-openjfx-graphics" ,java-openjfx-graphics))))) +(define-public java-openjfx-swt + (package (inherit java-openjfx-build) + (name "java-openjfx-swt") + (arguments + `(#:jar-name "java-openjfx-swt.jar" + #:source-dir "modules/swt/src/main/java" + #:tests? #f)) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v2 7/9] gnu: java-openjfx-controls: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 16:42:02 +0000 Resent-Message-ID: <handler.41360.B41360.159085690225029 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085690225029 (code B ref 41360); Sat, 30 May 2020 16:42:02 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:41:42 +0000 Received: from localhost ([127.0.0.1]:58991 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4YI-0006VW-FR for submit <at> debbugs.gnu.org; Sat, 30 May 2020 12:41:42 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:33016) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4YD-0006Ug-Dl for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 12:41:38 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 1393F9D164 for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:10:48 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 18:41:21 +0200 Message-Id: <20200530164123.30557-7-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530164123.30557-1-levenson@HIDDEN> References: <20200530164123.30557-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-swt): New variable. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f8d47d7eed..ec9e24b8d3 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3231,6 +3231,22 @@ distribution."))) (propagated-inputs `(("java-openjfx-graphics" ,java-openjfx-graphics))))) +(define-public java-openjfx-controls + (package (inherit java-openjfx-build) + (name "java-openjfx-controls") + (arguments + `(#:jar-name "java-openjfx-controls.jar" + #:source-dir "modules/controls/src/main/java" + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (let ((resources (string-append (getcwd) "/modules/controls/src/main/resources"))) + (copy-recursively resources "build/classes")) #t))))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v2 9/9] gnu: java-openjfx-web: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 16:42:03 +0000 Resent-Message-ID: <handler.41360.B41360.159085690325036 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085690325036 (code B ref 41360); Sat, 30 May 2020 16:42:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:41:43 +0000 Received: from localhost ([127.0.0.1]:58993 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4YI-0006Ve-Nc for submit <at> debbugs.gnu.org; Sat, 30 May 2020 12:41:43 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:33023) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4YE-0006Un-1R for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 12:41:39 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id E6D979D154 for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:10:49 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 18:41:23 +0200 Message-Id: <20200530164123.30557-9-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530164123.30557-1-levenson@HIDDEN> References: <20200530164123.30557-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-web): New variable. We build not only a web component here, but webkit as well. Webkit requires some extra 3rd party libraries icu, libxml, libxslt and sqlite which are already in openjfx source bundle. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 176 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f8a5b71a48..0d2f268764 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -50,11 +50,13 @@ #:use-module (gnu packages cpio) #:use-module (gnu packages cups) #:use-module (gnu packages compression) + #:use-module (gnu packages cmake) #:use-module (gnu packages elf) #:use-module (gnu packages fontutils) #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) + #:use-module (gnu packages gperf) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms @@ -74,8 +76,10 @@ #:use-module (gnu packages wget) #:use-module (gnu packages pkg-config) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages popt) #:use-module (gnu packages kerberos) + #:use-module (gnu packages ruby) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages texinfo) @@ -3263,6 +3267,178 @@ modern, efficient, and fully featured toolkit for developing rich client applications. This package contains media-related classes for the OpenJFX distribution."))) +(define-public java-openjfx-web + (package (inherit java-openjfx-build) + (name "java-openjfx-web") + (arguments + `(#:jar-name "java-openjfx-web.jar" + #:source-dir (string-join '("modules/web/src/main/java" + "modules/web/src/main/native/Source/WebCore/bindings/java/dom3") + ";") + #:tests? #f + #:modules ((ice-9 match) + (guix build ant-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* _ + (invoke "ant" "compile" "-Dclasses.dir=modules/web/build/classes/java/main") + #t)) + + (add-after 'build 'generate-headers + ;; XX: We provide only software built from source, so let's build + ;; webkit as well. List of webkit classes can be found in + ;; build.gradle:2516. We need to generate headers for the upcoming + ;; compilation step first and put them in generated-src/headers + ;; location. + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/web/build/classes/java/main") + (web-generated-headers "modules/web/build/generated-src/headers") + (web-generated-classes '("com.sun.webkit.ContextMenu" + "com.sun.webkit.ContextMenuItem" + "com.sun.webkit.CursorManager" + "com.sun.webkit.PageCache" + "com.sun.webkit.PopupMenu" + "com.sun.webkit.SharedBuffer" + "com.sun.webkit.WebPage" + "com.sun.webkit.LoadListenerClient" + "com.sun.webkit.event.WCFocusEvent" + "com.sun.webkit.event.WCKeyEvent" + "com.sun.webkit.event.WCMouseEvent" + "com.sun.webkit.event.WCMouseWheelEvent" + "com.sun.webkit.graphics.GraphicsDecoder" + "com.sun.webkit.graphics.RenderMediaControls" + "com.sun.webkit.graphics.RenderTheme" + "com.sun.webkit.graphics.ScrollBarTheme" + "com.sun.webkit.graphics.WCMediaPlayer" + "com.sun.webkit.graphics.WCGraphicsManager" + "com.sun.webkit.graphics.WCRenderQueue" + "com.sun.webkit.graphics.WCPath" + "com.sun.webkit.graphics.WCPathIterator" + "com.sun.webkit.Timer" + "com.sun.webkit.WCFrameView" + "com.sun.webkit.WCPasteboard" + "com.sun.webkit.WCPluginWidget" + "com.sun.webkit.dom.CharacterDataImpl" + "com.sun.webkit.dom.JSObject" + "com.sun.webkit.network.SocketStreamHandle" + "com.sun.webkit.network.URLLoader" + "com.sun.webkit.text.TextBreakIterator" + "com.sun.webkit.text.TextNormalizer")) + (graphics (assoc-ref inputs "java-openjfx-graphics"))) + (mkdir-p web-generated-headers) + (apply invoke + "javah" + "-Djava.ext.dirs=" + "-XDignore.symbol.file" + "-XDuseUnsharedTable=true" + "-d" web-generated-headers + "-cp" (string-join (cons* classes (find-files graphics "\\.jar$")) ":") + web-generated-classes)) + #t)) + + (add-after 'generate-headers 'compile-native-linux + (lambda* (#:key inputs system outputs #:allow-other-keys) + (let* ((module (string-append (getcwd) "/modules/web")) + ;; + (webkit-native-dest (string-append module "/build/linux")) + (webkit-native-src (string-append module "/src/main/native")) + ;; + (lib (string-append (assoc-ref outputs "out") "/lib")) + ;; uname -m + (machine (match system + ("x86_64-linux" "x86_64") + ("i686-linux" "i686") + ;; Prevent errors when querying this + ;; package on unsupported platforms, + ;; e.g. when running "guix package + ;; --search=" + (_ "UNSUPPORTED")))) + + (mkdir-p webkit-native-dest) + (setenv "PYTHONDONTWRITEBYTECODE" "1") + (setenv "WEBKIT_OUTPUTDIR" webkit-native-dest) + (apply invoke `("perl" + ,(string-append webkit-native-src "/Tools/Scripts/set-webkit-configuration") + ,(if ,(target-64bit?) "--64-bit" "--32-bit") + "--release")) + + (invoke "perl" + (string-append webkit-native-src "/Tools/Scripts/build-webkit") + "--java" ; webkit port + ;; We disable all the updates, and build 3rd-party libs + ;; lice icu, libxml, libxslt and sqlite. Source code + ;; sits modules/web/src/main/native/Source/ThirdPArty. + "--skip-library-update" + "--verbose" + (string-append + "--cmakeargs=" + (string-join + (list "-DCMAKE_SYSTEM_NAME=Linux" + ;; Ensure that the libraries are installed into /lib + (string-append "-DCMAKE_INSTALL_LIBDIR=" lib) + ;; Add input libraries to rpath + "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" + ;; Enable verbose output from builds + "-DCMAKE_VERBOSE_MAKEFILE=ON" + (string-append "-DCMAKE_SHARED_LINKER_FLAGS=" + "\"-Wl,-rpath=" lib "\"") + (string-append "-DCMAKE_SYSTEM_PROCESSOR=" machine) + + "-DJAVAFX_RELEASE_VERSION=8.0" + "-W" + "-Wall" + "-Werror=implicit-function-declaration" + "-Wl,--gc-sections" + "-Wno-parentheses" + "-Wno-unused" + "-fPIC" + "-fno-omit-frame-pointer" + "-fno-strict-aliasing" + "-fstack-protector"))))) + #t)) + + (add-after 'compile-native-linux 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$"))))) + + (add-before 'install 'build-jar + (lambda _ + (let* ((resources "modules/web/src/main/resources") + (classes "modules/web/build/classes/java/main")) + (copy-recursively resources classes) + (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) + #t))))) + + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core) + ("cmake" ,cmake) + ;; XX: With current gcc (gcc-7.5) the build breaks on building + ;; thirdparty libraries like xslt. c++14 is used to build + ;; them. CMAKE_CXX_STANDARD doesn't take any effect here for some + ;; reason. + ("gcc" ,gcc-5) + ("glibc" ,glibc-2.29) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("ruby" ,ruby) + ("perl" ,perl) + ("gperf" ,gperf) + ("python-2" ,python-2) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("java-openjfx-controls" ,java-openjfx-controls) + ("java-openjfx-media" ,java-openjfx-media) + ("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public javacc-4 (package (name "javacc") -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v2 1/9] gnu: java-openjfx-build: Add helpful patch. References: <20200517132829.1553311-1-levenson@HIDDEN> In-Reply-To: <20200517132829.1553311-1-levenson@HIDDEN> Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 16:42:03 +0000 Resent-Message-ID: <handler.41360.B41360.159085690725048 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085690725048 (code B ref 41360); Sat, 30 May 2020 16:42:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:41:47 +0000 Received: from localhost ([127.0.0.1]:58995 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4YJ-0006Vl-7M for submit <at> debbugs.gnu.org; Sat, 30 May 2020 12:41:47 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:32996) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4YB-0006UG-GQ for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 12:41:39 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 9E9F89CC41 for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:10:46 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 18:41:15 +0200 Message-Id: <20200530164123.30557-1-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-jdk_version.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 ++- .../java-openjfx-build-jdk_version.patch | 27 +++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-jdk_version.patch diff --git a/gnu/local.mk b/gnu/local.mk index 768943a67a..cbf0a20a9e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1110,6 +1110,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ + %D%/packages/patches/java-openjfx-build-jdk_version.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index b12c3ca95c..d569ed57d6 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2499,7 +2499,8 @@ new Date();")) #t)) (sha256 (base32 - "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")))) + "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) + (patches (search-patches "java-openjfx-build-jdk_version.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-jdk_version.patch b/gnu/packages/patches/java-openjfx-build-jdk_version.patch new file mode 100644 index 0000000000..7be954467a --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-jdk_version.patch @@ -0,0 +1,27 @@ +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME + +Icedtea contains guix in its version, so build.gradle failes to run. Openjfx +packaging is not trivial, so you will probably need to try build it with +gradlew. + +--- + build.gradle | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/build.gradle b/build.gradle +index df82f63..2c626cd 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -742,9 +742,9 @@ try { + 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]) +2.24.1 -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v2 4/9] gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 16:42:04 +0000 Resent-Message-ID: <handler.41360.B41360.159085691525062 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085691525062 (code B ref 41360); Sat, 30 May 2020 16:42:04 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:41:55 +0000 Received: from localhost ([127.0.0.1]:58997 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4YN-0006Vx-Ie for submit <at> debbugs.gnu.org; Sat, 30 May 2020 12:41:54 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:33004) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4YB-0006UJ-NB for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 12:41:41 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 815239CFFC for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:10:47 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 18:41:18 +0200 Message-Id: <20200530164123.30557-4-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530164123.30557-1-levenson@HIDDEN> References: <20200530164123.30557-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 +- ...va-openjfx-build-swing-JFXPanel-JDK8.patch | 60 +++++++++++++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch diff --git a/gnu/local.mk b/gnu/local.mk index cbf0a20a9e..e15554f1c2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1111,6 +1111,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-jdk_version.patch \ + %D%/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 9d73d9a7e8..938fc0695c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2501,7 +2501,8 @@ new Date();")) (sha256 (base32 "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) - (patches (search-patches "java-openjfx-build-jdk_version.patch")))) + (patches (search-patches "java-openjfx-build-jdk_version.patch" + "java-openjfx-build-swing-JFXPanel-JDK8.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch b/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch new file mode 100644 index 0000000000..b540048621 --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch @@ -0,0 +1,60 @@ +Subject: [PATCH] java-openjfx-build: Cannot compile JFXPanel with JDK 8 + +In JDKu9 getDefaultScale method was removed and sun.java2d.SurfaceData class now +has separate getDefaultScaleX() and getDefaultScaleY() methods. See +https://bugs.openjdk.java.net/browse/JDK-8073320 for more info. + +Backport the missing port to build openjfx-swing package using JDKu8. For more +info please see https://bugs.openjdk.java.net/browse/JDK-8149967 + +--- + .../java/javafx/embed/swing/JFXPanel.java | 20 ++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java b/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java +index 97515e2290..614ed656b9 100644 +--- a/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java ++++ b/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java +@@ -81,6 +81,7 @@ import sun.awt.AppContext; + import sun.awt.CausedFocusEvent; + import sun.awt.SunToolkit; + import sun.java2d.SunGraphics2D; ++import sun.java2d.SurfaceData; + import sun.util.logging.PlatformLogger; + import sun.util.logging.PlatformLogger.Level; + +@@ -681,6 +682,23 @@ + e.getCaret().getInsertionIndex()); + } + ++ // FIXME: once we move to JDK 9 as the boot JDK we should remove the ++ // reflection code from this method, consider changing it to ++ // use double rather than int, and account for the possibility of ++ // a different scale factor in X and Y. ++ private int getDefaultScale(SurfaceData surfaceData) { ++ /* ++ double scale = surfaceData.getDefaultScaleX(); ++ */ ++ double scale = 1; ++ try { ++ Method meth = SurfaceData.class.getMethod("getDefaultScaleX"); ++ scale = (Double)meth.invoke(surfaceData); ++ } catch (Exception ex) { ++ } ++ ++ return (int)Math.round(scale); ++ } + + /** + * Overrides the {@link javax.swing.JComponent#paintComponent(Graphics)} +@@ -720,7 +738,7 @@ public class JFXPanel extends JComponent { + + int newScaleFactor = scaleFactor; + if (g instanceof SunGraphics2D) { +- newScaleFactor = ((SunGraphics2D)g).surfaceData.getDefaultScale(); ++ newScaleFactor = getDefaultScale(((SunGraphics2D)g).surfaceData); + } + if (scaleFactor != newScaleFactor) { + resizePixelBuffer(newScaleFactor); +-- +2.24.1 -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v2 3/9] gnu: java-openjfx-graphics: Implement a complete compilation. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 16:43:02 +0000 Resent-Message-ID: <handler.41360.B41360.159085692525148 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085692525148 (code B ref 41360); Sat, 30 May 2020 16:43:02 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:42:05 +0000 Received: from localhost ([127.0.0.1]:58999 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4YU-0006WB-U9 for submit <at> debbugs.gnu.org; Sat, 30 May 2020 12:42:05 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:33000) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4YB-0006UI-GV for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 12:41:41 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 118999CE92 for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:10:47 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 18:41:17 +0200 Message-Id: <20200530164123.30557-3-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530164123.30557-1-levenson@HIDDEN> References: <20200530164123.30557-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * 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. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 642 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 634 insertions(+), 8 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 43f0f37b91..9d73d9a7e8 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -56,6 +56,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) + #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms #:use-module (gnu packages gnome) #:use-module (gnu packages groovy) @@ -2567,16 +2568,641 @@ distribution."))) (arguments `(#:jar-name "java-openjfx-graphics.jar" #:source-dir "modules/graphics/src/main/java" - #:tests? #f; require X - #:test-dir "modules/graphics/src/test")) + #:tests? #f ; requires X + #:test-dir "modules/graphics/src/test" + #:test-include (list "**/*Test.*") + #:modules ((guix build ant-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 regex) + (ice-9 match)) + #:phases + (let* ((jdk (assoc-ref %build-inputs "jdk")) + (javac/h-flags + '(;; When javac is compiling code it doesn't link + ;; against rt.jar by default. Instead it uses special + ;; symbol file lib/ct.sym with class stubs. + ;; Surprisingly this file contains many but not *all* + ;; of internal classes. + "-XDignore.symbol.file" + ;; It’s an internal option for JDK 1.7+ that prevents + ;; the compiler from sharing a table that will never + ;; be reused. When shared, it can’t be garbage + ;; collected, continues to accumulate data, and + ;; therefore wastes memory. + "-XDuseUnsharedTable=true")) + (common-flags + '("-fno-strict-aliasing" "-fPIC" "-fno-omit-frame-pointer" ;; optimization flags + "-fstack-protector" + "-W" "-Wall" "-Wno-unused" "-Wno-parentheses" "-Werror=implicit-function-declaration")) + (cc-flags + `(,@common-flags "-c" "-ffunction-sections" "-fdata-sections" + "-I" ,(string-append jdk "/include") + "-I" ,(string-append jdk "/include/linux"))) + (link-flags + `("-static-libgcc" "-static-libstdc++" "-shared" ,@common-flags + "-z" "relro" + "-Wl,--gc-sections")) + (java-aux-class? + (lambda (class) + (string-match "\\$[0-9]+\\.class" class))) + (java-list-classes + (lambda (path) + ;; For each .java file we need to figure out what + ;; class the .java file belongs in and convert it to a + ;; class name. + (filter-map + (lambda (class) + (let* ((rx (make-regexp (string-append path file-name-separator-string "?"))) + (class (string-drop-right class (string-length ".class"))) + (class (match:suffix (regexp-exec rx class)))) + (if (java-aux-class? class) + #f + (string-join (string-split class #\/) ".")))) + (find-files path "\\.class$"))))) + (modify-phases %standard-phases + + (replace 'build + (lambda _ + ;; Do not mix different classes. There will be more stuff in build/classes + (invoke "ant" "compile" "-Dclasses.dir=modules/graphics/build/classes/java/main") + #t)) + + ;; XX: Description can be found in build.gradle:1429. Currently + ;; there is no sdk creation step. + ;; + ;; The Decora and Prism JSL files have to be generated in a very specific set of steps. + ;; 1) Compile the *Compile.java classes. These live in src/main/jsl-* and will be + ;; output to $buildDir/classes/jsl-compilers/* (where * == decora or prism). + ;; 2) Generate source files from the JSL files contained in src/main/jsl-*. These + ;; will be output to $buildDir/generated-src/jsl-* + ;; 3) Compile the JSL Java sources in $buildDir/generated-src/jsl-* and put the output + ;; into classes/jsl-* + ;; 4) Compile the native JSL sources in $buildDir/generated-src/jsl-* and put the obj + ;; files into native/jsl-* and the resulting library into libs/jsl-*.dll|so|dylib + ;; 5) Modify the jar step to include classes/jsl-* + ;; The native library must be copied over during SDK creation time in the "sdk" task. In + ;; addition to these steps, the clean task is created. Note that I didn't bother to create + ;; a new task for each of the decora files, preferring instead just to create a rule?? Also + ;; need "clean" tasks for each compile task. + (add-after 'build 'compile-prism-compilers + (lambda _ + (let ((prism-compilers-classes "modules/graphics/build/classes/jsl-compilers/prism") + (prism-src "modules/graphics/src/main/jsl-prism/")) + (mkdir-p prism-compilers-classes) + + (apply invoke "javac" "-d" prism-compilers-classes + (append javac/h-flags (find-files prism-src "\\.java")))) + + #t)) + + (add-after 'compile-prism-compilers 'generate-prism-shaders + (lambda _ + (let ((prism-compilers-classes "modules/graphics/build/classes/jsl-compilers/prism") + (prism-src "modules/graphics/src/main/jsl-prism/") + (prism-gen-src "modules/graphics/build/generated-src/jsl-prism")) + (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))) + (find-files prism-src "\\.jsl$"))) + #t)) + + (add-after 'generate-prism-shaders 'compile-prism-shaders + (lambda _ + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-classes "modules/graphics/build/classes/jsl-prism") + (prism-gen-src "modules/graphics/build/generated-src/jsl-prism") + (prism-gen-shaders-src (string-append prism-gen-src "/com/sun/prism/shader"))) + (mkdir-p prism-classes) + (apply invoke "javac" + "-d" prism-classes + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags (find-files prism-gen-shaders-src)))) + #t)) + + (add-after 'compile-prism-shaders 'compile-decora-compilers + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-compilers-classes "modules/graphics/build/classes/jsl-compilers/decora") + (decora-src "modules/graphics/src/main/jsl-decora/")) + (mkdir-p decora-compilers-classes) + (apply invoke "javac" + "-d" decora-compilers-classes + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags (find-files decora-src "\\.java")))) + #t)) + + (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")]))) + (mkdir-p decora-gen-src) + (for-each (match-lambda + ((('file-name . file-name) + ('generator . generator) + ('outputs . outputs)) + (apply invoke "java" + "-cp" (string-join (cons* classes + decora-src + ;; CompileJSL + decora-compilers-classes + decora-classes + ;; We need resources from the build + "buildSrc/src/main/resources" + (list (getenv "CLASSPATH"))) + ":") + generator + "-i" decora-src + "-o" decora-gen-src + "-t" + "-pkg" "com/sun/scenario/effect" + outputs + (list file-name)))) + decora-components) + #t))) + + (add-after 'generate-decora-shaders 'compile-decora-shaders + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-classes "modules/graphics/build/classes/jsl-decora/") + (decora-gen-src "modules/graphics/build/generated-src/jsl-decora")) + (mkdir-p decora-classes) + (apply invoke "javac" + "-d" decora-classes + "-cp" classes + (append javac/h-flags (find-files decora-gen-src "\\.java$")))) + #t)) + + (add-after 'compile-decora-shaders 'compile-decora-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (decora-gen-headers "modules/graphics/build/generated-src/headers/jsl-decora") + (decora-gen-src "modules/graphics/build/generated-src/jsl-decora") + (decora-native-lib "modules/graphics/build/libs/jsl-decora/linux/libdecora_sse.so") + (decora-native-obj "modules/graphics/build/native/jsl-decora/linux") + (decora-native-src "modules/graphics/src/main/native-decora") + (decora-src "modules/graphics/src/main/jsl-decora/") + (decora-classes "modules/graphics/build/classes/jsl-decora/") + (decora-cc-flags `(,@cc-flags "-ffast-math"))) + (mkdir-p decora-gen-headers) + (apply invoke "javah" + "-d" decora-gen-headers + "-cp" (string-join (list classes decora-classes) ":") + (append javac/h-flags + (filter (cut string-prefix? "com.sun.scenario.effect.impl.sw.sse" <>) + (append (java-list-classes classes) + (java-list-classes decora-classes))))) + (mkdir-p decora-native-obj) + (for-each (lambda (cc) + (apply invoke "gcc" + "-I" decora-gen-headers + "-I" decora-gen-src + "-I" decora-native-src + "-o" (string-append decora-native-obj "/" (basename cc ".cc") ".obj") + (append decora-cc-flags (list cc)))) + (append (find-files decora-gen-src "\\.cc$") + (find-files decora-native-src "\\.cc$"))) + (mkdir-p (dirname decora-native-lib)) + (apply invoke "g++" "-o" decora-native-lib + (append link-flags (find-files decora-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-decora-native-lib 'compile-linux-font-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (font-gen-headers "modules/graphics/build/generated-src/headers/font/linux") + (font-native-lib "modules/graphics/build/libs/font/linux/libjavafx_font.so") + (font-native-obj "modules/graphics/build/native/font/linux") + (font-native-src "modules/graphics/src/main/native-font") + ;; + (font-cc-flags `("-DJFXFONT_PLUS" ,@cc-flags))) + (mkdir-p font-gen-headers) + (apply invoke "javah" + "-d" font-gen-headers + "-cp" classes + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.javafx.font" class) + (string-prefix? "com.sun.javafx.text" class))) + (java-list-classes classes)))) + (mkdir-p font-native-obj) + (for-each (lambda (cc) + (apply invoke "gcc" + "-I" font-gen-headers + "-I" font-native-src + "-o" (string-append font-native-obj "/" + (basename cc ".c") ".obj") + (append font-cc-flags (list cc)))) + (find-files font-native-src "\\.c$")) + (mkdir-p (dirname font-native-lib)) + (apply invoke "g++" + "-o" font-native-lib + (append link-flags + (find-files font-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-linux-font-native-lib 'compile-linux-font-freetype + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + ;; + (font-freetype-gen-headers "modules/graphics/build/generated-src/headers/fontFreetype/linux") + (font-freetype-native-lib "modules/graphics/build/libs/fontFreetype/linux/libjavafx_font_freetype.so") + (font-freetype-native-obj "modules/graphics/build/native/fontFreetype/linux") + (font-freetype-native-src "modules/graphics/src/main/native-font/freetype.c") + (font-freetype-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_PANGO" + "$(pkg-config --cflags freetype2)" ,@cc-flags)) + (font-freetype-link-flags `("$(pkg-config --libs freetype2)" ,@link-flags))) + (mkdir-p font-freetype-gen-headers) + (apply invoke "javah" + "-d" font-freetype-gen-headers + "-cp" classes + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.font.freetype.OSFreetype" <>) + (java-list-classes classes)))) + (mkdir-p font-freetype-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-freetype-cc-flags + "-I" ,font-freetype-gen-headers + "-I" ,(dirname font-freetype-native-src) + "-o" ,(string-append font-freetype-native-obj "/" + (basename font-freetype-native-src ".c") ".obj") + ,font-freetype-native-src))) + (mkdir-p (dirname font-freetype-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + "-o" ,font-freetype-native-lib + ,@font-freetype-link-flags + ,@(find-files font-freetype-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-font-freetype 'compile-linux-font-pango-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (font-pango-gen-headers "modules/graphics/build/generated-src/headers/fontPango/linux") + (font-pango-native-lib "modules/graphics/build/libs/fontPango/linux/libjavafx_font_pango.so") + (font-pango-native-obj "modules/graphics/build/native/fontPango/linux") + (font-pango-native-src "modules/graphics/src/main/native-font/pango.c") + (font-pango-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_PANGO" + "$(pkg-config --cflags pangoft2)" ,@cc-flags)) + (font-pango-link-flags `("$(pkg-config --libs pangoft2)" ,@link-flags))) + (mkdir-p font-pango-gen-headers) + (apply invoke "javah" + "-d" font-pango-gen-headers + "-cp" classes + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.font.freetype.OSPango" <>) + (java-list-classes classes)))) + (mkdir-p font-pango-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-pango-cc-flags + "-I" ,font-pango-gen-headers + "-I" ,(dirname font-pango-native-src) + "-o" ,(string-append font-pango-native-obj "/" + (basename font-pango-native-src ".c") ".obj") + ,font-pango-native-src))) + (mkdir-p (dirname font-pango-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@font-pango-link-flags + "-o" ,font-pango-native-lib + ,@(find-files font-pango-native-obj "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-font-pango-lib 'compile-linux-glass-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + ;; glass + (glass-gen-headers "modules/graphics/build/generated-src/headers/glass/linux") + (glass-native-lib "modules/graphics/build/libs/glass/linux/libglass.so") + (glass-native-obj "modules/graphics/build/native/glass/linux/glass") + (glass-native-src "modules/graphics/src/main/native-glass/gtk/launcher.c") + (glass-cc-flags + `(,@cc-flags + "$(pkg-config --cflags glib-2.0 gdk-2.0 gtk+-2.0 gthread-2.0 xtst)" + "-Werror")) + (glass-link-flags + `(,@link-flags "$(pkg-config --libs x11)" "-ldl")) + ;; glass-gtk2 + (gtk (assoc-ref inputs "gtk")) + (glass-gtk2-native-obj "modules/graphics/build/native/glass/linux/glassgtk2") + (glass-gtk2-native-src (dirname glass-native-src)) + (glass-gtk2-native-lib "modules/graphics/build/libs/glass/linux/libglassgtk2.so") + (glass-gtk2-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-2.0 gthread-2.0 xtst)" + ;; XX: GTimeVal has been deprecated in GLIB since + ;; version 2.62. GTimeVal s not year-2038-safe. Gtk + ;; 2.24 uses GTimeVal so our build is also failing. + "-Wno-deprecated-declarations" + "-Werror")) + (glass-gtk2-link-flags + `(,@link-flags + "$(pkg-config --libs gtk+-2.0 gthread-2.0 xtst)")) + ;; glass-gtk3 + (gtk3 (assoc-ref inputs "gtk3")) + (glass-gtk3-native-obj "modules/graphics/build/native/glass/linux/glassgtk3") + (glass-gtk3-native-src (dirname glass-native-src)) + (glass-gtk3-native-lib "modules/graphics/build/libs/glass/linux/libglassgtk3.so") + (glass-gtk3-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-3.0 gthread-2.0 xtst)" + "-Wno-deprecated-declarations" "-Werror")) + (glass-gtk3-link-flags + `(,@link-flags "$(pkg-config --libs gtk+-3.0 gthread-2.0 xtst)"))) + ;; glass + (mkdir-p glass-gen-headers) + (apply invoke "javah" + "-d" glass-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.glass.events" class) + (string-prefix? "com.sun.glass.ui.gtk" class) + (string-prefix? "com.sun.glass.ui" class))) + (java-list-classes classes)))) + (mkdir-p glass-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-cc-flags + "-I" ,glass-gen-headers + "-I" ,(dirname glass-native-src) + "-o" ,(string-append glass-native-obj "/" + (basename glass-native-src ".c") ".obj") + ,glass-native-src))) + (mkdir-p (dirname glass-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-link-flags + "-o" ,glass-native-lib + ,@(find-files glass-native-obj "\\.obj$")))) + ;; gtk2 + (mkdir-p glass-gtk2-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk2-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append glass-gtk2-native-obj "/" + (basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk2-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk2-link-flags + "-o" ,glass-gtk2-native-lib + ,@(find-files glass-gtk2-native-obj "\\.obj$")))) + ;; gtk3 + (mkdir-p glass-gtk3-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk3-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append glass-gtk3-native-obj "/" + (basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk3-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk3-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk3-link-flags + "-o" ,glass-gtk3-native-lib + ,@(find-files glass-gtk3-native-obj "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-glass-lib 'compile-linux-iio + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (iio-gen-headers "modules/graphics/build/generated-src/headers/iio/linux") + (iio-native-lib "modules/graphics/build/libs/iio/linux/libjavafx_iio.so") + (iio-native-obj "modules/graphics/build/native/iio/linux") + (iio-native-src "modules/graphics/src/main/native-iio") + (iio-cc-flags cc-flags) + (iio-link-flags link-flags)) + (mkdir-p iio-gen-headers) + (apply invoke "javah" + "-d" iio-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.iio" <>) + (java-list-classes classes)))) + (mkdir-p iio-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@iio-cc-flags + "-I" ,iio-gen-headers + "-o" ,(string-append iio-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files iio-native-src "\\.c$")) + (mkdir-p (dirname iio-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@iio-link-flags + "-o" ,iio-native-lib + ,@(find-files iio-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-iio 'compile-linux-prism + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-gen-headers "modules/graphics/build/generated-src/headers/prism/linux") + (prism-native-lib "modules/graphics/build/libs/prism/linux/libprism_common.so") + (prism-native-obj "modules/graphics/build/native/prism/linux") + (prism-native-src "modules/graphics/src/main/native-prism") + (prism-cc-flags `(,@cc-flags "-DINLINE=inline")) + (prism-link-flags link-flags)) + (mkdir-p prism-gen-headers) + (apply invoke "javah" + "-d" prism-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.prism.impl" class) + (string-prefix? "com.sun.prism.PresentableState" class))) + (java-list-classes classes)))) + (mkdir-p prism-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-cc-flags + "-I" ,prism-gen-headers + "-I" ,prism-native-src + "-o" ,(string-append prism-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files prism-native-obj "\\.c$")) + (mkdir-p (dirname prism-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-link-flags + "-o" ,prism-native-lib + ,@(find-files prism-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism 'compile-linux-prism-es2 + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-es2-gen-headers "modules/graphics/build/generated-src/headers/prismES2/linux") + (prism-es2-native-lib "modules/graphics/build/libs/prism/linux/libprism_es2.so") + (prism-es2-native-obj "modules/graphics/build/native/prismES2/linux") + (prism-es2-native-src "modules/graphics/src/main/native-prism-es2") + (prism-es2-cc-flags `("-DLINUX" ,@cc-flags)) + (prism-es2-link-flags + `(,@link-flags "$(pkg-config --libs x11 xxf86vm gl)")) + ;; We need all *.c files in the root and only those + ;; which are in a specific directories. + (filter-src + (lambda (abs _) + (or (regexp-exec (make-regexp (string-append prism-es2-native-src "[^/]*\\.c$")) + abs) + (regexp-exec (make-regexp (string-append prism-es2-native-src "(x11/|GL/)")) + abs))))) + (mkdir-p prism-es2-gen-headers) + (apply invoke "javah" + "-d" prism-es2-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.prism.es2" <>) + (java-list-classes classes)))) + (mkdir-p prism-es2-native-obj) + (for-each (lambda (c) + (apply invoke "gcc" + "-I" glass-native-src + "-I" prism-es2-gen-headers + "-I" prism-es2-native-src + "-I" (string-append prism-es2-native-src "/GL") + "-I" (string-append prism-es2-native-src "/x11") + "-o" (string-append prism-es2-native-obj "/" (basename c ".c") ".obj") + (append prism-es2-cc-flags (list c)))) + (find-files prism-es2-native-src filter-src)) + (mkdir-p (dirname prism-es2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-es2-link-flags + "-o" ,prism-es2-native-lib + ,@(find-files prism-es2-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism-es2 'compile-linux-prism-sw + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-sw-gen-headers "modules/graphics/build/generated-src/headers/prismSW/linux") + (prism-sw-native-lib "modules/graphics/build/libs/prism/linux/libprism_sw.so") + (prism-sw-native-obj "modules/graphics/build/native/prismSW/linux") + (prism-sw-native-src "modules/graphics/src/main/native-prism-sw") + ;; + (prism-sw-cc-flags `(,@cc-flags "-DINLINE=inline")) + (prism-sw-link-flags link-flags)) + (mkdir-p prism-sw-gen-headers) + (apply invoke "javah" + "-d" prism-sw-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.pisces" <>) + (java-list-classes classes)))) + (mkdir-p prism-sw-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-sw-cc-flags + "-I" ,prism-sw-gen-headers + "-I" ,prism-sw-native-src + "-o" ,(string-append prism-sw-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files prism-sw-native-src "\\.c$")) + (mkdir-p (dirname prism-sw-native-lib)) + (apply invoke "g++" "-o" prism-sw-native-lib + (append prism-sw-link-flags (find-files prism-sw-native-obj "\\.obj$"))) + #t))) + + (add-after 'compile-linux-prism-sw 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$")) + #t))) + + (add-after 'install-native 'build-jar + (lambda _ + (let* ((module (string-append "modules/graphics")) + (resources (string-append module "/src/main/resources")) + (classes (string-append module "/build/classes/java/main"))) + (copy-recursively resources classes) + + (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) + #t)))))) + (native-inputs + `(("freetype" ,freetype) + ("fontconfig" ,fontconfig) + ("gcc" ,gcc) + ("glib" ,glib) + ("zlib" ,zlib) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("jpeg" ,libjpeg-turbo) + ("libxtst" ,libxtst) + ("pango" ,pango) + ("libpng" ,libpng) + ("pkg-config" ,pkg-config))) (propagated-inputs `(("java-openjfx-base" ,java-openjfx-base) - ("java-swt" ,java-swt))) - (description "OpenJFX is a client application platform for desktop, -mobile and embedded systems built on Java. Its goal is to produce a -modern, efficient, and fully featured toolkit for developing rich client -applications. This package contains graphics-related classes for the -OpenJFX distribution."))) + ("java-swt" ,java-swt))))) (define-public java-openjfx-media (package (inherit java-openjfx-build) -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v2 8/9] gnu: java-openjfx-build: Prepare a patch to build openjfx-web. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 16:43:03 +0000 Resent-Message-ID: <handler.41360.B41360.159085692825157 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085692825157 (code B ref 41360); Sat, 30 May 2020 16:43:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:42:08 +0000 Received: from localhost ([127.0.0.1]:59008 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4Yf-0006XZ-4b for submit <at> debbugs.gnu.org; Sat, 30 May 2020 12:42:08 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:33012) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4YD-0006UR-Gb for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 12:41:42 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id A5F719D166 for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:10:49 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 18:41:22 +0200 Message-Id: <20200530164123.30557-8-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530164123.30557-1-levenson@HIDDEN> References: <20200530164123.30557-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 +- .../java-openjfx-build-web-xlocale.h.patch | 52 +++++++++++++++++++ 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch diff --git a/gnu/local.mk b/gnu/local.mk index e15554f1c2..71d7079134 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1112,6 +1112,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-jdk_version.patch \ %D%/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch \ + %D%/packages/patches/java-openjfx-build-web-xlocale.h.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index ec9e24b8d3..f8a5b71a48 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2502,7 +2502,8 @@ new Date();")) (base32 "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) (patches (search-patches "java-openjfx-build-jdk_version.patch" - "java-openjfx-build-swing-JFXPanel-JDK8.patch")))) + "java-openjfx-build-swing-JFXPanel-JDK8.patch" + "java-openjfx-build-web-xlocale.h.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch b/gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch new file mode 100644 index 0000000000..138f39f9af --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch @@ -0,0 +1,52 @@ +Subject: [PATCH] Check <xlocale.h> header file + +Few libraries use hard-coded xlocale_h header even though if CMake takes care +of it properly. Remove defined headers, and rely on CMake preprocessor +instead. + +--- + .../src/main/native/Source/ThirdParty/libxslt/linux/config.h | 2 +- + .../src/main/native/Source/ThirdParty/libxslt/src/config.h.in | 2 +- + modules/web/src/main/native/Source/cmake/OptionsCommon.cmake | 1 + + 3 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h b/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h +index bd44c163..b19b45f4 100644 +--- a/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h ++++ b/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h +@@ -143,7 +143,7 @@ + #define HAVE_VSPRINTF 1 + + /* Define to 1 if you have the <xlocale.h> header file. */ +-#define HAVE_XLOCALE_H 1 ++/* #define HAVE_XLOCALE_H 1 */ + + /* Define to 1 if you have the `_stat' function. */ + /* #undef HAVE__STAT */ +diff --git a/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in b/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in +index 085354e9..0210fce2 100644 +--- a/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in ++++ b/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in +@@ -142,7 +142,7 @@ + #undef HAVE_VSPRINTF + + /* Define to 1 if you have the <xlocale.h> header file. */ +-#undef HAVE_XLOCALE_H ++/* #undef HAVE_XLOCALE_H */ + + /* Define to 1 if you have the `_stat' function. */ + #undef HAVE__STAT +diff --git a/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake b/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake +index 3bbd2c4a..2b618dd6 100644 +--- a/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake ++++ b/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake +@@ -148,6 +148,7 @@ _HAVE_CHECK_INCLUDE(HAVE_STRINGS_H strings.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_PARAM_H sys/param.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_TIME_H sys/time.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_TIMEB_H sys/timeb.h) ++_HAVE_CHECK_INCLUDE(HAVE_XLOCALE_H xlocale.h) + + # Check for functions + _HAVE_CHECK_FUNCTION(HAVE_ALIGNED_MALLOC _aligned_malloc) +-- +2.24.1 -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 01/12] gnu: java-openjfx-build: Add helpful patch. In-Reply-To: <20200517132829.1553311-1-levenson@HIDDEN> Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 16:46:03 +0000 Resent-Message-ID: <handler.41360.B41360.159085710625468 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Cc: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085710625468 (code B ref 41360); Sat, 30 May 2020 16:46:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:45:06 +0000 Received: from localhost ([127.0.0.1]:59017 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4ba-0006cg-7t for submit <at> debbugs.gnu.org; Sat, 30 May 2020 12:45:06 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:27904) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4bV-0006bs-D6 for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 12:45:05 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 84CD99CC41; Sat, 30 May 2020 16:14:12 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> References: <20200517132829.1553311-1-levenson@HIDDEN> <20200517135138.1651512-1-levenson@HIDDEN> <87k1127ny7.fsf@HIDDEN> Date: Sat, 30 May 2020 18:44:56 +0200 Message-ID: <87blm52wzb.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Ludovic Court=C3=A8s <ludo@HIDDEN> writes: > Hi Alexey, > > Thanks for the patch series! > > Alexey Abramov <levenson@HIDDEN> skribis: > >> * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. >> * gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch: Ne= w file. >> * gnu/local.mk (dist_patch_DATA): Add it. > > [...] > >> +++ b/gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch >> @@ -0,0 +1,37 @@ > > Could you shorten this file name a bit? (=E2=80=98guix lint=E2=80=99 pro= bably complains.) Sure. By the way it complains on other derrived packages like java-openjfx-= base which inherits java-openjfx-build. /home/levenson/factory/guix/gnu/packages/java.scm:2486:12: java-openjfx-bui= ld@HIDDEN: source not archived on Software Heritage /home/levenson/factory/guix/gnu/packages/java.scm:2533:2: java-openjfx-base= @8.202: file names of patches should start with the package name /home/levenson/factory/guix/gnu/packages/java.scm:2537:0: java-openjfx-base= @8.202: line 2537 is way too long (111 characters) /home/levenson/factory/guix/gnu/packages/java.scm:2552:0: java-openjfx-base= @8.202: line 2552 is way too long (99 characters) /home/levenson/factory/guix/gnu/packages/java.scm:2533:2: java-openjfx-base= @8.202: source not archived on Software Heritage > >> +From d156313340d3edcd78751ea8ed5e66c7668275c3 Mon Sep 17 00:00:00 2001 >> +From: Alexey Abramov <levenson@HIDDEN> >> +Date: Sun, 8 Mar 2020 20:07:22 +0100 >> +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME > > In general I think you can omit the first three lines and just keep the > subject. Ah, great. > >> +Icedtea contains guix in its version, so build.gradle failes to run. Op= enjfx >> +packaging is not trivial, so you will probably need to try build it with >> +gradlew. > > Otherwise LGTM. -- Alexey
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 03/12] gnu: java-openjfx-graphics: Implement a complete compilation. In-Reply-To: <20200517132829.1553311-1-levenson@HIDDEN> Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 16:46:03 +0000 Resent-Message-ID: <handler.41360.B41360.159085711725494 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Cc: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085711725494 (code B ref 41360); Sat, 30 May 2020 16:46:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:45:17 +0000 Received: from localhost ([127.0.0.1]:59020 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4bl-0006d8-GB for submit <at> debbugs.gnu.org; Sat, 30 May 2020 12:45:17 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:32793) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4bi-0006cz-L8 for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 12:45:15 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 82F829CC40; Sat, 30 May 2020 16:14:21 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> References: <20200517135138.1651512-1-levenson@HIDDEN> <20200517135138.1651512-3-levenson@HIDDEN> <878shi7no2.fsf@HIDDEN> Date: Sat, 30 May 2020 18:45:08 +0200 Message-ID: <874krx2wyz.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Ludovic Court=C3=A8s <ludo@HIDDEN> writes: > Alexey Abramov <levenson@HIDDEN> skribis: > >> --- >> gnu/packages/java.scm | 643 +++++++++++++++++++++++++++++++++++++++++- >> 1 file changed, 635 insertions(+), 8 deletions(-) > > Please add a commit log. > >> + (java-aux-class? >> + (lambda (class) >> + (string-match "\\$[0-9]+.class" class))) > > Probably =E2=80=9C\\.class=E2=80=9D instead of =E2=80=9C.class=E2=80=9D? Ah, that sneaky dot. Thanks! > >> + (add-after 'chdir-to-a-module-directory 'compile-prism-compi= lers >> + (lambda _ > > Maybe add a comment explaining why this phase is necessary. Well, you know, I managed to eliminate it. Thanks! > >> + (let ((prism-compilers-classes "build/classes/jsl-compil= ers/prism") >> + (prism-src "src/main/jsl-prism/")) >> + (mkdir-p prism-compilers-classes) >> + (apply invoke `("javac" >> + "-d" ,prism-compilers-classes >> + ,@javac/h-flags >> + ,@(find-files prism-src "\\.java")))) > > This can be shortened as: > > (apply invoke "javac" "-d" prism-compilers-classes > (append javac/h-flags (find-files prism-src "\\.java"))) > > These two comments apply to the other phases too. > > More generally, why are there so many phases? How do people normally > build it? Gradle? > > Would it make sense to factorize helpers in a new (gnu build > java-openjfx) module or similar? You are right, javafx builds with Gradel. I basically replicated gradle stages, by inspecting ./gradlew build ... --info The reason I didn't start building any helpers is because OpenJFX 8u and Op= enJFX 9u or later use different instuctions as it states here [1]. I don't = know if these helpers will apply to 9u, also having a (gnu build gradle) wo= uld eliminate the need in helpers as well. In any case I think it won't be = a problem to do that with a second iteration of openjfx build. -- Alexey Footnotes: [1] https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX+8u
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 09/12] gnu: java-openjfx-web: Add new variable. In-Reply-To: <20200517132829.1553311-1-levenson@HIDDEN> Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 16:46:03 +0000 Resent-Message-ID: <handler.41360.B41360.159085712425516 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Cc: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085712425516 (code B ref 41360); Sat, 30 May 2020 16:46:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:45:24 +0000 Received: from localhost ([127.0.0.1]:59023 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4br-0006dT-PZ for submit <at> debbugs.gnu.org; Sat, 30 May 2020 12:45:24 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:32798) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4bp-0006dL-RX for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 12:45:22 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 2CC1D9CC47; Sat, 30 May 2020 16:14:32 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> References: <20200517135138.1651512-1-levenson@HIDDEN> <20200517135138.1651512-9-levenson@HIDDEN> <87tv0668us.fsf@HIDDEN> Date: Sat, 30 May 2020 18:45:19 +0200 Message-ID: <87wo4t1ie8.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Ludovic Court=C3=A8s <ludo@HIDDEN> writes: > Alexey Abramov <levenson@HIDDEN> skribis: > >> --- >> gnu/packages/java.scm | 165 ++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 165 insertions(+) > > Please add a commit log. > > [...] > >> + (add-after 'build 'generate-headers >> + (lambda* (#:key inputs #:allow-other-keys) > > Could you add a comment explaining what this phase does and why we=E2=80= =99re > doing all this? (Same for the other phases.) Done. > >> + (let* ((module (string-append (getcwd) "/modules/web")) >> + (classes (string-append module "/build/classes/java= /main")) >> + (web-generated-headers (string-append module "/buil= d/generated-src/headers")) >> + (web-generated-classes '("com.sun.webkit.ContextMen= u" >> + "com.sun.webkit.ContextMen= uItem" >> + "com.sun.webkit.CursorMana= ger" > > Perhaps add a comment explaining how you obtained this list of classes > so that our future selves know how to update it. > > Since this is a Web thing, could you check whether it contains pre-built > (=E2=80=9Cminified=E2=80=9D) JavaScript? If it does, that=E2=80=99s a pr= oblem because we > generally provide only software built from source. We build not only a web component here, but webkit as well. Webkit requires= some extra 3rd party libraries icu, libxml, libxslt and sqlite which are a= lready in openjfx source bundle. We also build them now. One thing to note here, I have tested openjfx only with davmail in order to= make oauth2 works. There is one exception during the authorization. When o= auth accepts your password and waits for you to approve from another device= , it changes the form and tries to shadow some captions, and those captions= just don't show up during that period of time. Don't know what to do here.= I am not a java developer, so probably it requires more testing. I was pla= nning to talk about on openjfx mailing list, but time didn't let me. --8<---------------cut here---------------start------------->8--- Error: CPU/SIMD peer not found for: Blend_SRC_IN due to error: com.sun.scen= ario.effect.impl.sw.sse.SSEBlend_SRC_INPeer java.lang.RuntimeException: Could not create peer Blend_SRC_IN for rendere= r com.sun.scenario.effect.impl.prism.sw.PSWRenderer@6218eb01 at com.sun.scenario.effect.impl.Renderer.getPeerInstance(Unknown Source) at com.sun.scenario.effect.CoreEffect.getPeer(Unknown Source) at com.sun.scenario.effect.CoreEffect.getPeer(Unknown Source) at com.sun.scenario.effect.CoreEffect.filterImageDatas(Unknown Source) at com.sun.scenario.effect.Blend.filterImageDatas(Unknown Source) at com.sun.scenario.effect.FilterEffect.filter(Unknown Source) at com.sun.scenario.effect.impl.prism.PrEffectHelper.render(Unknown Source) at com.sun.javafx.webkit.prism.WCGraphicsPrismContext$ClipLayer.render(Unk= nown Source) at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.renderLayer(Unknown = Source) at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.restoreStateInternal= (Unknown Source) at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.restoreState(Unknown= Source) at com.sun.webkit.graphics.GraphicsDecoder.decode(Unknown Source) at com.sun.webkit.graphics.WCRenderQueue.decode(Unknown Source) at com.sun.webkit.WebPage.paint2GC(Unknown Source) at com.sun.webkit.WebPage.paint(Unknown Source) at com.sun.javafx.sg.prism.web.NGWebView.renderContent(Unknown Source) at com.sun.javafx.sg.prism.NGNode.doRender(Unknown Source) at com.sun.javafx.sg.prism.NGNode.render(Unknown Source) at com.sun.javafx.sg.prism.NGGroup.renderContent(Unknown Source) at com.sun.javafx.sg.prism.NGRegion.renderContent(Unknown Source) at com.sun.javafx.sg.prism.NGNode.doRender(Unknown Source) at com.sun.javafx.sg.prism.NGNode.render(Unknown Source) at com.sun.javafx.tk.quantum.ViewPainter.doPaint(Unknown Source) at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(Unknown Source) at com.sun.javafx.tk.quantum.UploadingPainter.run(Unknown Source) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at com.sun.javafx.tk.RenderJob.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.ja= va:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.j= ava:624) at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(Unknown = Source) at java.lang.Thread.run(Thread.java:748) --8<---------------cut here---------------end--------------->8--- -- Alexey
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v3 2/9] gnu: java-openjfx-build: Fix indentation. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 17:10:02 +0000 Resent-Message-ID: <handler.41360.B41360.159085859527862 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085859527862 (code B ref 41360); Sat, 30 May 2020 17:10:02 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:09:55 +0000 Received: from localhost ([127.0.0.1]:59061 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4zb-0007FK-B4 for submit <at> debbugs.gnu.org; Sat, 30 May 2020 13:09:55 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:41735) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4zZ-0007F6-Lk for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 13:09:54 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 454D99CCD1 for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:39:05 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 19:09:44 +0200 Message-Id: <20200530170951.1649-2-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530170951.1649-1-levenson@HIDDEN> References: <20200530170951.1649-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Change the indentation of the uri dirictive. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d569ed57d6..43f0f37b91 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2486,10 +2486,10 @@ new Date();")) (source (origin (method hg-fetch) (uri (hg-reference - (url "http://hg.openjdk.java.net/openjfx/8u-dev/rt") - (changeset (string-append - (string-join (string-split version #\.) "u") - "-ga")))) + (url "http://hg.openjdk.java.net/openjfx/8u-dev/rt") + (changeset (string-append + (string-join (string-split version #\.) "u") + "-ga")))) (file-name (string-append name "-" version "-checkout")) (modules '((guix build utils))) (snippet -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v3 6/9] gnu: java-openjfx-swt: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 17:10:03 +0000 Resent-Message-ID: <handler.41360.B41360.159085860027888 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085860027888 (code B ref 41360); Sat, 30 May 2020 17:10:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:10:00 +0000 Received: from localhost ([127.0.0.1]:59064 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4zf-0007Fj-IP for submit <at> debbugs.gnu.org; Sat, 30 May 2020 13:09:59 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:53353) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4za-0007FH-QO for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 13:09:57 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 5D3A09D0EE for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:39:06 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 19:09:48 +0200 Message-Id: <20200530170951.1649-6-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530170951.1649-1-levenson@HIDDEN> References: <20200530170951.1649-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-swt): New variable. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f124062035..f8d47d7eed 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3218,6 +3218,19 @@ distribution."))) (propagated-inputs `(("java-openjfx-graphics" ,java-openjfx-graphics))))) +(define-public java-openjfx-swt + (package (inherit java-openjfx-build) + (name "java-openjfx-swt") + (arguments + `(#:jar-name "java-openjfx-swt.jar" + #:source-dir "modules/swt/src/main/java" + #:tests? #f)) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v3 1/9] gnu: java-openjfx-build: Add helpful patch. References: <20200517132829.1553311-1-levenson@HIDDEN> In-Reply-To: <20200517132829.1553311-1-levenson@HIDDEN> Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 17:11:01 +0000 Resent-Message-ID: <handler.41360.B41360.159085860427945 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085860427945 (code B ref 41360); Sat, 30 May 2020 17:11:01 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:10:04 +0000 Received: from localhost ([127.0.0.1]:59067 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4zf-0007Fl-TG for submit <at> debbugs.gnu.org; Sat, 30 May 2020 13:10:04 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:19157) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4zZ-0007F7-Kh for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 13:09:58 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 189A69CC60 for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:39:05 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 19:09:43 +0200 Message-Id: <20200530170951.1649-1-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-jdk_version.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 ++- .../java-openjfx-build-jdk_version.patch | 27 +++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-jdk_version.patch diff --git a/gnu/local.mk b/gnu/local.mk index 768943a67a..cbf0a20a9e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1110,6 +1110,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ + %D%/packages/patches/java-openjfx-build-jdk_version.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index b12c3ca95c..d569ed57d6 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2499,7 +2499,8 @@ new Date();")) #t)) (sha256 (base32 - "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")))) + "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) + (patches (search-patches "java-openjfx-build-jdk_version.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-jdk_version.patch b/gnu/packages/patches/java-openjfx-build-jdk_version.patch new file mode 100644 index 0000000000..7be954467a --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-jdk_version.patch @@ -0,0 +1,27 @@ +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME + +Icedtea contains guix in its version, so build.gradle failes to run. Openjfx +packaging is not trivial, so you will probably need to try build it with +gradlew. + +--- + build.gradle | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/build.gradle b/build.gradle +index df82f63..2c626cd 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -742,9 +742,9 @@ try { + 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]) +2.24.1 -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v3 7/9] gnu: java-openjfx-controls: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 17:11:02 +0000 Resent-Message-ID: <handler.41360.B41360.159085860927992 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085860927992 (code B ref 41360); Sat, 30 May 2020 17:11:02 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:10:09 +0000 Received: from localhost ([127.0.0.1]:59076 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4zp-0007HP-BV for submit <at> debbugs.gnu.org; Sat, 30 May 2020 13:10:09 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:53354) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4za-0007FI-QR for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 13:09:59 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 8A6859D154 for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:39:06 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 19:09:49 +0200 Message-Id: <20200530170951.1649-7-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530170951.1649-1-levenson@HIDDEN> References: <20200530170951.1649-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-controls): New variable. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f8d47d7eed..ec9e24b8d3 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3231,6 +3231,22 @@ distribution."))) (propagated-inputs `(("java-openjfx-graphics" ,java-openjfx-graphics))))) +(define-public java-openjfx-controls + (package (inherit java-openjfx-build) + (name "java-openjfx-controls") + (arguments + `(#:jar-name "java-openjfx-controls.jar" + #:source-dir "modules/controls/src/main/java" + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (let ((resources (string-append (getcwd) "/modules/controls/src/main/resources"))) + (copy-recursively resources "build/classes")) #t))))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v3 3/9] gnu: java-openjfx-graphics: Implement a complete compilation. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 17:11:02 +0000 Resent-Message-ID: <handler.41360.B41360.159085862228026 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085862228026 (code B ref 41360); Sat, 30 May 2020 17:11:02 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:10:22 +0000 Received: from localhost ([127.0.0.1]:59078 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf4zp-0007HR-KD for submit <at> debbugs.gnu.org; Sat, 30 May 2020 13:10:22 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:53335) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4zZ-0007F8-RU for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 13:10:05 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 71D479CE92 for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:39:05 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 19:09:45 +0200 Message-Id: <20200530170951.1649-3-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530170951.1649-1-levenson@HIDDEN> References: <20200530170951.1649-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * 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. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 642 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 634 insertions(+), 8 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 43f0f37b91..9d73d9a7e8 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -56,6 +56,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) + #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms #:use-module (gnu packages gnome) #:use-module (gnu packages groovy) @@ -2567,16 +2568,641 @@ distribution."))) (arguments `(#:jar-name "java-openjfx-graphics.jar" #:source-dir "modules/graphics/src/main/java" - #:tests? #f; require X - #:test-dir "modules/graphics/src/test")) + #:tests? #f ; requires X + #:test-dir "modules/graphics/src/test" + #:test-include (list "**/*Test.*") + #:modules ((guix build ant-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 regex) + (ice-9 match)) + #:phases + (let* ((jdk (assoc-ref %build-inputs "jdk")) + (javac/h-flags + '(;; When javac is compiling code it doesn't link + ;; against rt.jar by default. Instead it uses special + ;; symbol file lib/ct.sym with class stubs. + ;; Surprisingly this file contains many but not *all* + ;; of internal classes. + "-XDignore.symbol.file" + ;; It’s an internal option for JDK 1.7+ that prevents + ;; the compiler from sharing a table that will never + ;; be reused. When shared, it can’t be garbage + ;; collected, continues to accumulate data, and + ;; therefore wastes memory. + "-XDuseUnsharedTable=true")) + (common-flags + '("-fno-strict-aliasing" "-fPIC" "-fno-omit-frame-pointer" ;; optimization flags + "-fstack-protector" + "-W" "-Wall" "-Wno-unused" "-Wno-parentheses" "-Werror=implicit-function-declaration")) + (cc-flags + `(,@common-flags "-c" "-ffunction-sections" "-fdata-sections" + "-I" ,(string-append jdk "/include") + "-I" ,(string-append jdk "/include/linux"))) + (link-flags + `("-static-libgcc" "-static-libstdc++" "-shared" ,@common-flags + "-z" "relro" + "-Wl,--gc-sections")) + (java-aux-class? + (lambda (class) + (string-match "\\$[0-9]+\\.class" class))) + (java-list-classes + (lambda (path) + ;; For each .java file we need to figure out what + ;; class the .java file belongs in and convert it to a + ;; class name. + (filter-map + (lambda (class) + (let* ((rx (make-regexp (string-append path file-name-separator-string "?"))) + (class (string-drop-right class (string-length ".class"))) + (class (match:suffix (regexp-exec rx class)))) + (if (java-aux-class? class) + #f + (string-join (string-split class #\/) ".")))) + (find-files path "\\.class$"))))) + (modify-phases %standard-phases + + (replace 'build + (lambda _ + ;; Do not mix different classes. There will be more stuff in build/classes + (invoke "ant" "compile" "-Dclasses.dir=modules/graphics/build/classes/java/main") + #t)) + + ;; XX: Description can be found in build.gradle:1429. Currently + ;; there is no sdk creation step. + ;; + ;; The Decora and Prism JSL files have to be generated in a very specific set of steps. + ;; 1) Compile the *Compile.java classes. These live in src/main/jsl-* and will be + ;; output to $buildDir/classes/jsl-compilers/* (where * == decora or prism). + ;; 2) Generate source files from the JSL files contained in src/main/jsl-*. These + ;; will be output to $buildDir/generated-src/jsl-* + ;; 3) Compile the JSL Java sources in $buildDir/generated-src/jsl-* and put the output + ;; into classes/jsl-* + ;; 4) Compile the native JSL sources in $buildDir/generated-src/jsl-* and put the obj + ;; files into native/jsl-* and the resulting library into libs/jsl-*.dll|so|dylib + ;; 5) Modify the jar step to include classes/jsl-* + ;; The native library must be copied over during SDK creation time in the "sdk" task. In + ;; addition to these steps, the clean task is created. Note that I didn't bother to create + ;; a new task for each of the decora files, preferring instead just to create a rule?? Also + ;; need "clean" tasks for each compile task. + (add-after 'build 'compile-prism-compilers + (lambda _ + (let ((prism-compilers-classes "modules/graphics/build/classes/jsl-compilers/prism") + (prism-src "modules/graphics/src/main/jsl-prism/")) + (mkdir-p prism-compilers-classes) + + (apply invoke "javac" "-d" prism-compilers-classes + (append javac/h-flags (find-files prism-src "\\.java")))) + + #t)) + + (add-after 'compile-prism-compilers 'generate-prism-shaders + (lambda _ + (let ((prism-compilers-classes "modules/graphics/build/classes/jsl-compilers/prism") + (prism-src "modules/graphics/src/main/jsl-prism/") + (prism-gen-src "modules/graphics/build/generated-src/jsl-prism")) + (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))) + (find-files prism-src "\\.jsl$"))) + #t)) + + (add-after 'generate-prism-shaders 'compile-prism-shaders + (lambda _ + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-classes "modules/graphics/build/classes/jsl-prism") + (prism-gen-src "modules/graphics/build/generated-src/jsl-prism") + (prism-gen-shaders-src (string-append prism-gen-src "/com/sun/prism/shader"))) + (mkdir-p prism-classes) + (apply invoke "javac" + "-d" prism-classes + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags (find-files prism-gen-shaders-src)))) + #t)) + + (add-after 'compile-prism-shaders 'compile-decora-compilers + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-compilers-classes "modules/graphics/build/classes/jsl-compilers/decora") + (decora-src "modules/graphics/src/main/jsl-decora/")) + (mkdir-p decora-compilers-classes) + (apply invoke "javac" + "-d" decora-compilers-classes + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags (find-files decora-src "\\.java")))) + #t)) + + (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")]))) + (mkdir-p decora-gen-src) + (for-each (match-lambda + ((('file-name . file-name) + ('generator . generator) + ('outputs . outputs)) + (apply invoke "java" + "-cp" (string-join (cons* classes + decora-src + ;; CompileJSL + decora-compilers-classes + decora-classes + ;; We need resources from the build + "buildSrc/src/main/resources" + (list (getenv "CLASSPATH"))) + ":") + generator + "-i" decora-src + "-o" decora-gen-src + "-t" + "-pkg" "com/sun/scenario/effect" + outputs + (list file-name)))) + decora-components) + #t))) + + (add-after 'generate-decora-shaders 'compile-decora-shaders + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-classes "modules/graphics/build/classes/jsl-decora/") + (decora-gen-src "modules/graphics/build/generated-src/jsl-decora")) + (mkdir-p decora-classes) + (apply invoke "javac" + "-d" decora-classes + "-cp" classes + (append javac/h-flags (find-files decora-gen-src "\\.java$")))) + #t)) + + (add-after 'compile-decora-shaders 'compile-decora-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (decora-gen-headers "modules/graphics/build/generated-src/headers/jsl-decora") + (decora-gen-src "modules/graphics/build/generated-src/jsl-decora") + (decora-native-lib "modules/graphics/build/libs/jsl-decora/linux/libdecora_sse.so") + (decora-native-obj "modules/graphics/build/native/jsl-decora/linux") + (decora-native-src "modules/graphics/src/main/native-decora") + (decora-src "modules/graphics/src/main/jsl-decora/") + (decora-classes "modules/graphics/build/classes/jsl-decora/") + (decora-cc-flags `(,@cc-flags "-ffast-math"))) + (mkdir-p decora-gen-headers) + (apply invoke "javah" + "-d" decora-gen-headers + "-cp" (string-join (list classes decora-classes) ":") + (append javac/h-flags + (filter (cut string-prefix? "com.sun.scenario.effect.impl.sw.sse" <>) + (append (java-list-classes classes) + (java-list-classes decora-classes))))) + (mkdir-p decora-native-obj) + (for-each (lambda (cc) + (apply invoke "gcc" + "-I" decora-gen-headers + "-I" decora-gen-src + "-I" decora-native-src + "-o" (string-append decora-native-obj "/" (basename cc ".cc") ".obj") + (append decora-cc-flags (list cc)))) + (append (find-files decora-gen-src "\\.cc$") + (find-files decora-native-src "\\.cc$"))) + (mkdir-p (dirname decora-native-lib)) + (apply invoke "g++" "-o" decora-native-lib + (append link-flags (find-files decora-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-decora-native-lib 'compile-linux-font-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (font-gen-headers "modules/graphics/build/generated-src/headers/font/linux") + (font-native-lib "modules/graphics/build/libs/font/linux/libjavafx_font.so") + (font-native-obj "modules/graphics/build/native/font/linux") + (font-native-src "modules/graphics/src/main/native-font") + ;; + (font-cc-flags `("-DJFXFONT_PLUS" ,@cc-flags))) + (mkdir-p font-gen-headers) + (apply invoke "javah" + "-d" font-gen-headers + "-cp" classes + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.javafx.font" class) + (string-prefix? "com.sun.javafx.text" class))) + (java-list-classes classes)))) + (mkdir-p font-native-obj) + (for-each (lambda (cc) + (apply invoke "gcc" + "-I" font-gen-headers + "-I" font-native-src + "-o" (string-append font-native-obj "/" + (basename cc ".c") ".obj") + (append font-cc-flags (list cc)))) + (find-files font-native-src "\\.c$")) + (mkdir-p (dirname font-native-lib)) + (apply invoke "g++" + "-o" font-native-lib + (append link-flags + (find-files font-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-linux-font-native-lib 'compile-linux-font-freetype + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + ;; + (font-freetype-gen-headers "modules/graphics/build/generated-src/headers/fontFreetype/linux") + (font-freetype-native-lib "modules/graphics/build/libs/fontFreetype/linux/libjavafx_font_freetype.so") + (font-freetype-native-obj "modules/graphics/build/native/fontFreetype/linux") + (font-freetype-native-src "modules/graphics/src/main/native-font/freetype.c") + (font-freetype-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_PANGO" + "$(pkg-config --cflags freetype2)" ,@cc-flags)) + (font-freetype-link-flags `("$(pkg-config --libs freetype2)" ,@link-flags))) + (mkdir-p font-freetype-gen-headers) + (apply invoke "javah" + "-d" font-freetype-gen-headers + "-cp" classes + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.font.freetype.OSFreetype" <>) + (java-list-classes classes)))) + (mkdir-p font-freetype-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-freetype-cc-flags + "-I" ,font-freetype-gen-headers + "-I" ,(dirname font-freetype-native-src) + "-o" ,(string-append font-freetype-native-obj "/" + (basename font-freetype-native-src ".c") ".obj") + ,font-freetype-native-src))) + (mkdir-p (dirname font-freetype-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + "-o" ,font-freetype-native-lib + ,@font-freetype-link-flags + ,@(find-files font-freetype-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-font-freetype 'compile-linux-font-pango-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (font-pango-gen-headers "modules/graphics/build/generated-src/headers/fontPango/linux") + (font-pango-native-lib "modules/graphics/build/libs/fontPango/linux/libjavafx_font_pango.so") + (font-pango-native-obj "modules/graphics/build/native/fontPango/linux") + (font-pango-native-src "modules/graphics/src/main/native-font/pango.c") + (font-pango-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_PANGO" + "$(pkg-config --cflags pangoft2)" ,@cc-flags)) + (font-pango-link-flags `("$(pkg-config --libs pangoft2)" ,@link-flags))) + (mkdir-p font-pango-gen-headers) + (apply invoke "javah" + "-d" font-pango-gen-headers + "-cp" classes + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.font.freetype.OSPango" <>) + (java-list-classes classes)))) + (mkdir-p font-pango-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-pango-cc-flags + "-I" ,font-pango-gen-headers + "-I" ,(dirname font-pango-native-src) + "-o" ,(string-append font-pango-native-obj "/" + (basename font-pango-native-src ".c") ".obj") + ,font-pango-native-src))) + (mkdir-p (dirname font-pango-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@font-pango-link-flags + "-o" ,font-pango-native-lib + ,@(find-files font-pango-native-obj "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-font-pango-lib 'compile-linux-glass-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + ;; glass + (glass-gen-headers "modules/graphics/build/generated-src/headers/glass/linux") + (glass-native-lib "modules/graphics/build/libs/glass/linux/libglass.so") + (glass-native-obj "modules/graphics/build/native/glass/linux/glass") + (glass-native-src "modules/graphics/src/main/native-glass/gtk/launcher.c") + (glass-cc-flags + `(,@cc-flags + "$(pkg-config --cflags glib-2.0 gdk-2.0 gtk+-2.0 gthread-2.0 xtst)" + "-Werror")) + (glass-link-flags + `(,@link-flags "$(pkg-config --libs x11)" "-ldl")) + ;; glass-gtk2 + (gtk (assoc-ref inputs "gtk")) + (glass-gtk2-native-obj "modules/graphics/build/native/glass/linux/glassgtk2") + (glass-gtk2-native-src (dirname glass-native-src)) + (glass-gtk2-native-lib "modules/graphics/build/libs/glass/linux/libglassgtk2.so") + (glass-gtk2-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-2.0 gthread-2.0 xtst)" + ;; XX: GTimeVal has been deprecated in GLIB since + ;; version 2.62. GTimeVal s not year-2038-safe. Gtk + ;; 2.24 uses GTimeVal so our build is also failing. + "-Wno-deprecated-declarations" + "-Werror")) + (glass-gtk2-link-flags + `(,@link-flags + "$(pkg-config --libs gtk+-2.0 gthread-2.0 xtst)")) + ;; glass-gtk3 + (gtk3 (assoc-ref inputs "gtk3")) + (glass-gtk3-native-obj "modules/graphics/build/native/glass/linux/glassgtk3") + (glass-gtk3-native-src (dirname glass-native-src)) + (glass-gtk3-native-lib "modules/graphics/build/libs/glass/linux/libglassgtk3.so") + (glass-gtk3-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-3.0 gthread-2.0 xtst)" + "-Wno-deprecated-declarations" "-Werror")) + (glass-gtk3-link-flags + `(,@link-flags "$(pkg-config --libs gtk+-3.0 gthread-2.0 xtst)"))) + ;; glass + (mkdir-p glass-gen-headers) + (apply invoke "javah" + "-d" glass-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.glass.events" class) + (string-prefix? "com.sun.glass.ui.gtk" class) + (string-prefix? "com.sun.glass.ui" class))) + (java-list-classes classes)))) + (mkdir-p glass-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-cc-flags + "-I" ,glass-gen-headers + "-I" ,(dirname glass-native-src) + "-o" ,(string-append glass-native-obj "/" + (basename glass-native-src ".c") ".obj") + ,glass-native-src))) + (mkdir-p (dirname glass-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-link-flags + "-o" ,glass-native-lib + ,@(find-files glass-native-obj "\\.obj$")))) + ;; gtk2 + (mkdir-p glass-gtk2-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk2-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append glass-gtk2-native-obj "/" + (basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk2-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk2-link-flags + "-o" ,glass-gtk2-native-lib + ,@(find-files glass-gtk2-native-obj "\\.obj$")))) + ;; gtk3 + (mkdir-p glass-gtk3-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk3-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append glass-gtk3-native-obj "/" + (basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk3-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk3-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk3-link-flags + "-o" ,glass-gtk3-native-lib + ,@(find-files glass-gtk3-native-obj "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-glass-lib 'compile-linux-iio + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (iio-gen-headers "modules/graphics/build/generated-src/headers/iio/linux") + (iio-native-lib "modules/graphics/build/libs/iio/linux/libjavafx_iio.so") + (iio-native-obj "modules/graphics/build/native/iio/linux") + (iio-native-src "modules/graphics/src/main/native-iio") + (iio-cc-flags cc-flags) + (iio-link-flags link-flags)) + (mkdir-p iio-gen-headers) + (apply invoke "javah" + "-d" iio-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.iio" <>) + (java-list-classes classes)))) + (mkdir-p iio-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@iio-cc-flags + "-I" ,iio-gen-headers + "-o" ,(string-append iio-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files iio-native-src "\\.c$")) + (mkdir-p (dirname iio-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@iio-link-flags + "-o" ,iio-native-lib + ,@(find-files iio-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-iio 'compile-linux-prism + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-gen-headers "modules/graphics/build/generated-src/headers/prism/linux") + (prism-native-lib "modules/graphics/build/libs/prism/linux/libprism_common.so") + (prism-native-obj "modules/graphics/build/native/prism/linux") + (prism-native-src "modules/graphics/src/main/native-prism") + (prism-cc-flags `(,@cc-flags "-DINLINE=inline")) + (prism-link-flags link-flags)) + (mkdir-p prism-gen-headers) + (apply invoke "javah" + "-d" prism-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.prism.impl" class) + (string-prefix? "com.sun.prism.PresentableState" class))) + (java-list-classes classes)))) + (mkdir-p prism-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-cc-flags + "-I" ,prism-gen-headers + "-I" ,prism-native-src + "-o" ,(string-append prism-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files prism-native-obj "\\.c$")) + (mkdir-p (dirname prism-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-link-flags + "-o" ,prism-native-lib + ,@(find-files prism-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism 'compile-linux-prism-es2 + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-es2-gen-headers "modules/graphics/build/generated-src/headers/prismES2/linux") + (prism-es2-native-lib "modules/graphics/build/libs/prism/linux/libprism_es2.so") + (prism-es2-native-obj "modules/graphics/build/native/prismES2/linux") + (prism-es2-native-src "modules/graphics/src/main/native-prism-es2") + (prism-es2-cc-flags `("-DLINUX" ,@cc-flags)) + (prism-es2-link-flags + `(,@link-flags "$(pkg-config --libs x11 xxf86vm gl)")) + ;; We need all *.c files in the root and only those + ;; which are in a specific directories. + (filter-src + (lambda (abs _) + (or (regexp-exec (make-regexp (string-append prism-es2-native-src "[^/]*\\.c$")) + abs) + (regexp-exec (make-regexp (string-append prism-es2-native-src "(x11/|GL/)")) + abs))))) + (mkdir-p prism-es2-gen-headers) + (apply invoke "javah" + "-d" prism-es2-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.prism.es2" <>) + (java-list-classes classes)))) + (mkdir-p prism-es2-native-obj) + (for-each (lambda (c) + (apply invoke "gcc" + "-I" glass-native-src + "-I" prism-es2-gen-headers + "-I" prism-es2-native-src + "-I" (string-append prism-es2-native-src "/GL") + "-I" (string-append prism-es2-native-src "/x11") + "-o" (string-append prism-es2-native-obj "/" (basename c ".c") ".obj") + (append prism-es2-cc-flags (list c)))) + (find-files prism-es2-native-src filter-src)) + (mkdir-p (dirname prism-es2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-es2-link-flags + "-o" ,prism-es2-native-lib + ,@(find-files prism-es2-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism-es2 'compile-linux-prism-sw + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-sw-gen-headers "modules/graphics/build/generated-src/headers/prismSW/linux") + (prism-sw-native-lib "modules/graphics/build/libs/prism/linux/libprism_sw.so") + (prism-sw-native-obj "modules/graphics/build/native/prismSW/linux") + (prism-sw-native-src "modules/graphics/src/main/native-prism-sw") + ;; + (prism-sw-cc-flags `(,@cc-flags "-DINLINE=inline")) + (prism-sw-link-flags link-flags)) + (mkdir-p prism-sw-gen-headers) + (apply invoke "javah" + "-d" prism-sw-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.pisces" <>) + (java-list-classes classes)))) + (mkdir-p prism-sw-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-sw-cc-flags + "-I" ,prism-sw-gen-headers + "-I" ,prism-sw-native-src + "-o" ,(string-append prism-sw-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files prism-sw-native-src "\\.c$")) + (mkdir-p (dirname prism-sw-native-lib)) + (apply invoke "g++" "-o" prism-sw-native-lib + (append prism-sw-link-flags (find-files prism-sw-native-obj "\\.obj$"))) + #t))) + + (add-after 'compile-linux-prism-sw 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$")) + #t))) + + (add-after 'install-native 'build-jar + (lambda _ + (let* ((module (string-append "modules/graphics")) + (resources (string-append module "/src/main/resources")) + (classes (string-append module "/build/classes/java/main"))) + (copy-recursively resources classes) + + (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) + #t)))))) + (native-inputs + `(("freetype" ,freetype) + ("fontconfig" ,fontconfig) + ("gcc" ,gcc) + ("glib" ,glib) + ("zlib" ,zlib) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("jpeg" ,libjpeg-turbo) + ("libxtst" ,libxtst) + ("pango" ,pango) + ("libpng" ,libpng) + ("pkg-config" ,pkg-config))) (propagated-inputs `(("java-openjfx-base" ,java-openjfx-base) - ("java-swt" ,java-swt))) - (description "OpenJFX is a client application platform for desktop, -mobile and embedded systems built on Java. Its goal is to produce a -modern, efficient, and fully featured toolkit for developing rich client -applications. This package contains graphics-related classes for the -OpenJFX distribution."))) + ("java-swt" ,java-swt))))) (define-public java-openjfx-media (package (inherit java-openjfx-build) -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v3 5/9] gnu: java-openjfx-swing: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 17:11:02 +0000 Resent-Message-ID: <handler.41360.B41360.159085862228033 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085862228033 (code B ref 41360); Sat, 30 May 2020 17:11:02 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:10:22 +0000 Received: from localhost ([127.0.0.1]:59082 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf502-0007Hz-5X for submit <at> debbugs.gnu.org; Sat, 30 May 2020 13:10:22 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:53343) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4za-0007FB-6S for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 13:10:05 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 305569D06C for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:39:06 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 19:09:47 +0200 Message-Id: <20200530170951.1649-5-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530170951.1649-1-levenson@HIDDEN> References: <20200530170951.1649-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-swing): New variable. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 938fc0695c..f124062035 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3205,6 +3205,19 @@ distribution."))) `(("java-openjfx-base" ,java-openjfx-base) ("java-swt" ,java-swt))))) +(define-public java-openjfx-swing + (package (inherit java-openjfx-build) + (name "java-openjfx-swing") + (arguments + `(#:jar-name "java-openjfx-swing.jar" + #:source-dir "modules/swing/src/main/java" + #:tests? #f)) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v3 8/9] gnu: java-openjfx-build: Prepare a patch to build openjfx-web. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 17:11:03 +0000 Resent-Message-ID: <handler.41360.B41360.159085862628045 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085862628045 (code B ref 41360); Sat, 30 May 2020 17:11:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:10:26 +0000 Received: from localhost ([127.0.0.1]:59084 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf502-0007I6-HE for submit <at> debbugs.gnu.org; Sat, 30 May 2020 13:10:26 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:53353) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4zd-0007FH-Pa for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 13:10:05 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id B54C09D164 for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:39:06 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 19:09:50 +0200 Message-Id: <20200530170951.1649-8-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530170951.1649-1-levenson@HIDDEN> References: <20200530170951.1649-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 +- .../java-openjfx-build-web-xlocale.h.patch | 52 +++++++++++++++++++ 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch diff --git a/gnu/local.mk b/gnu/local.mk index e15554f1c2..71d7079134 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1112,6 +1112,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-jdk_version.patch \ %D%/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch \ + %D%/packages/patches/java-openjfx-build-web-xlocale.h.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index ec9e24b8d3..f8a5b71a48 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2502,7 +2502,8 @@ new Date();")) (base32 "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) (patches (search-patches "java-openjfx-build-jdk_version.patch" - "java-openjfx-build-swing-JFXPanel-JDK8.patch")))) + "java-openjfx-build-swing-JFXPanel-JDK8.patch" + "java-openjfx-build-web-xlocale.h.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch b/gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch new file mode 100644 index 0000000000..138f39f9af --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch @@ -0,0 +1,52 @@ +Subject: [PATCH] Check <xlocale.h> header file + +Few libraries use hard-coded xlocale_h header even though if CMake takes care +of it properly. Remove defined headers, and rely on CMake preprocessor +instead. + +--- + .../src/main/native/Source/ThirdParty/libxslt/linux/config.h | 2 +- + .../src/main/native/Source/ThirdParty/libxslt/src/config.h.in | 2 +- + modules/web/src/main/native/Source/cmake/OptionsCommon.cmake | 1 + + 3 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h b/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h +index bd44c163..b19b45f4 100644 +--- a/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h ++++ b/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h +@@ -143,7 +143,7 @@ + #define HAVE_VSPRINTF 1 + + /* Define to 1 if you have the <xlocale.h> header file. */ +-#define HAVE_XLOCALE_H 1 ++/* #define HAVE_XLOCALE_H 1 */ + + /* Define to 1 if you have the `_stat' function. */ + /* #undef HAVE__STAT */ +diff --git a/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in b/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in +index 085354e9..0210fce2 100644 +--- a/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in ++++ b/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in +@@ -142,7 +142,7 @@ + #undef HAVE_VSPRINTF + + /* Define to 1 if you have the <xlocale.h> header file. */ +-#undef HAVE_XLOCALE_H ++/* #undef HAVE_XLOCALE_H */ + + /* Define to 1 if you have the `_stat' function. */ + #undef HAVE__STAT +diff --git a/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake b/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake +index 3bbd2c4a..2b618dd6 100644 +--- a/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake ++++ b/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake +@@ -148,6 +148,7 @@ _HAVE_CHECK_INCLUDE(HAVE_STRINGS_H strings.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_PARAM_H sys/param.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_TIME_H sys/time.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_TIMEB_H sys/timeb.h) ++_HAVE_CHECK_INCLUDE(HAVE_XLOCALE_H xlocale.h) + + # Check for functions + _HAVE_CHECK_FUNCTION(HAVE_ALIGNED_MALLOC _aligned_malloc) +-- +2.24.1 -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v3 9/9] gnu: java-openjfx-web: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 17:11:03 +0000 Resent-Message-ID: <handler.41360.B41360.159085862628052 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085862628052 (code B ref 41360); Sat, 30 May 2020 17:11:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:10:26 +0000 Received: from localhost ([127.0.0.1]:59086 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf506-0007II-5x for submit <at> debbugs.gnu.org; Sat, 30 May 2020 13:10:26 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:53358) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4ze-0007FY-3m for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 13:10:06 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id E306D9D166 for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:39:06 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 19:09:51 +0200 Message-Id: <20200530170951.1649-9-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530170951.1649-1-levenson@HIDDEN> References: <20200530170951.1649-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-web): New variable. We build not only a web component here, but webkit as well. Webkit requires some extra 3rd party libraries icu, libxml, libxslt and sqlite which are already in openjfx source bundle. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 176 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f8a5b71a48..0d2f268764 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -50,11 +50,13 @@ #:use-module (gnu packages cpio) #:use-module (gnu packages cups) #:use-module (gnu packages compression) + #:use-module (gnu packages cmake) #:use-module (gnu packages elf) #:use-module (gnu packages fontutils) #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) + #:use-module (gnu packages gperf) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms @@ -74,8 +76,10 @@ #:use-module (gnu packages wget) #:use-module (gnu packages pkg-config) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages popt) #:use-module (gnu packages kerberos) + #:use-module (gnu packages ruby) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages texinfo) @@ -3263,6 +3267,178 @@ modern, efficient, and fully featured toolkit for developing rich client applications. This package contains media-related classes for the OpenJFX distribution."))) +(define-public java-openjfx-web + (package (inherit java-openjfx-build) + (name "java-openjfx-web") + (arguments + `(#:jar-name "java-openjfx-web.jar" + #:source-dir (string-join '("modules/web/src/main/java" + "modules/web/src/main/native/Source/WebCore/bindings/java/dom3") + ";") + #:tests? #f + #:modules ((ice-9 match) + (guix build ant-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* _ + (invoke "ant" "compile" "-Dclasses.dir=modules/web/build/classes/java/main") + #t)) + + (add-after 'build 'generate-headers + ;; XX: We provide only software built from source, so let's build + ;; webkit as well. List of webkit classes can be found in + ;; build.gradle:2516. We need to generate headers for the upcoming + ;; compilation step first and put them in generated-src/headers + ;; location. + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/web/build/classes/java/main") + (web-generated-headers "modules/web/build/generated-src/headers") + (web-generated-classes '("com.sun.webkit.ContextMenu" + "com.sun.webkit.ContextMenuItem" + "com.sun.webkit.CursorManager" + "com.sun.webkit.PageCache" + "com.sun.webkit.PopupMenu" + "com.sun.webkit.SharedBuffer" + "com.sun.webkit.WebPage" + "com.sun.webkit.LoadListenerClient" + "com.sun.webkit.event.WCFocusEvent" + "com.sun.webkit.event.WCKeyEvent" + "com.sun.webkit.event.WCMouseEvent" + "com.sun.webkit.event.WCMouseWheelEvent" + "com.sun.webkit.graphics.GraphicsDecoder" + "com.sun.webkit.graphics.RenderMediaControls" + "com.sun.webkit.graphics.RenderTheme" + "com.sun.webkit.graphics.ScrollBarTheme" + "com.sun.webkit.graphics.WCMediaPlayer" + "com.sun.webkit.graphics.WCGraphicsManager" + "com.sun.webkit.graphics.WCRenderQueue" + "com.sun.webkit.graphics.WCPath" + "com.sun.webkit.graphics.WCPathIterator" + "com.sun.webkit.Timer" + "com.sun.webkit.WCFrameView" + "com.sun.webkit.WCPasteboard" + "com.sun.webkit.WCPluginWidget" + "com.sun.webkit.dom.CharacterDataImpl" + "com.sun.webkit.dom.JSObject" + "com.sun.webkit.network.SocketStreamHandle" + "com.sun.webkit.network.URLLoader" + "com.sun.webkit.text.TextBreakIterator" + "com.sun.webkit.text.TextNormalizer")) + (graphics (assoc-ref inputs "java-openjfx-graphics"))) + (mkdir-p web-generated-headers) + (apply invoke + "javah" + "-Djava.ext.dirs=" + "-XDignore.symbol.file" + "-XDuseUnsharedTable=true" + "-d" web-generated-headers + "-cp" (string-join (cons* classes (find-files graphics "\\.jar$")) ":") + web-generated-classes)) + #t)) + + (add-after 'generate-headers 'compile-native-linux + (lambda* (#:key inputs system outputs #:allow-other-keys) + (let* ((module (string-append (getcwd) "/modules/web")) + ;; + (webkit-native-dest (string-append module "/build/linux")) + (webkit-native-src (string-append module "/src/main/native")) + ;; + (lib (string-append (assoc-ref outputs "out") "/lib")) + ;; uname -m + (machine (match system + ("x86_64-linux" "x86_64") + ("i686-linux" "i686") + ;; Prevent errors when querying this + ;; package on unsupported platforms, + ;; e.g. when running "guix package + ;; --search=" + (_ "UNSUPPORTED")))) + + (mkdir-p webkit-native-dest) + (setenv "PYTHONDONTWRITEBYTECODE" "1") + (setenv "WEBKIT_OUTPUTDIR" webkit-native-dest) + (apply invoke `("perl" + ,(string-append webkit-native-src "/Tools/Scripts/set-webkit-configuration") + ,(if ,(target-64bit?) "--64-bit" "--32-bit") + "--release")) + + (invoke "perl" + (string-append webkit-native-src "/Tools/Scripts/build-webkit") + "--java" ; webkit port + ;; We disable all the updates, and build 3rd-party libs + ;; lice icu, libxml, libxslt and sqlite. Source code + ;; sits modules/web/src/main/native/Source/ThirdPArty. + "--skip-library-update" + "--verbose" + (string-append + "--cmakeargs=" + (string-join + (list "-DCMAKE_SYSTEM_NAME=Linux" + ;; Ensure that the libraries are installed into /lib + (string-append "-DCMAKE_INSTALL_LIBDIR=" lib) + ;; Add input libraries to rpath + "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" + ;; Enable verbose output from builds + "-DCMAKE_VERBOSE_MAKEFILE=ON" + (string-append "-DCMAKE_SHARED_LINKER_FLAGS=" + "\"-Wl,-rpath=" lib "\"") + (string-append "-DCMAKE_SYSTEM_PROCESSOR=" machine) + + "-DJAVAFX_RELEASE_VERSION=8.0" + "-W" + "-Wall" + "-Werror=implicit-function-declaration" + "-Wl,--gc-sections" + "-Wno-parentheses" + "-Wno-unused" + "-fPIC" + "-fno-omit-frame-pointer" + "-fno-strict-aliasing" + "-fstack-protector"))))) + #t)) + + (add-after 'compile-native-linux 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$"))))) + + (add-before 'install 'build-jar + (lambda _ + (let* ((resources "modules/web/src/main/resources") + (classes "modules/web/build/classes/java/main")) + (copy-recursively resources classes) + (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) + #t))))) + + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core) + ("cmake" ,cmake) + ;; XX: With current gcc (gcc-7.5) the build breaks on building + ;; thirdparty libraries like xslt. c++14 is used to build + ;; them. CMAKE_CXX_STANDARD doesn't take any effect here for some + ;; reason. + ("gcc" ,gcc-5) + ("glibc" ,glibc-2.29) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("ruby" ,ruby) + ("perl" ,perl) + ("gperf" ,gperf) + ("python-2" ,python-2) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("java-openjfx-controls" ,java-openjfx-controls) + ("java-openjfx-media" ,java-openjfx-media) + ("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public javacc-4 (package (name "javacc") -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v3 4/9] gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 30 May 2020 17:11:03 +0000 Resent-Message-ID: <handler.41360.B41360.159085862828061 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159085862828061 (code B ref 41360); Sat, 30 May 2020 17:11:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:10:28 +0000 Received: from localhost ([127.0.0.1]:59088 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jf506-0007IP-NS for submit <at> debbugs.gnu.org; Sat, 30 May 2020 13:10:28 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:53339) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jf4za-0007F9-0F for 41360 <at> debbugs.gnu.org; Sat, 30 May 2020 13:10:08 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 02E899CFFC for <41360 <at> debbugs.gnu.org>; Sat, 30 May 2020 16:39:05 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 30 May 2020 19:09:46 +0200 Message-Id: <20200530170951.1649-4-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530170951.1649-1-levenson@HIDDEN> References: <20200530170951.1649-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 +- ...va-openjfx-build-swing-JFXPanel-JDK8.patch | 60 +++++++++++++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch diff --git a/gnu/local.mk b/gnu/local.mk index cbf0a20a9e..e15554f1c2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1111,6 +1111,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-jdk_version.patch \ + %D%/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 9d73d9a7e8..938fc0695c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2501,7 +2501,8 @@ new Date();")) (sha256 (base32 "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) - (patches (search-patches "java-openjfx-build-jdk_version.patch")))) + (patches (search-patches "java-openjfx-build-jdk_version.patch" + "java-openjfx-build-swing-JFXPanel-JDK8.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch b/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch new file mode 100644 index 0000000000..b540048621 --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch @@ -0,0 +1,60 @@ +Subject: [PATCH] java-openjfx-build: Cannot compile JFXPanel with JDK 8 + +In JDKu9 getDefaultScale method was removed and sun.java2d.SurfaceData class now +has separate getDefaultScaleX() and getDefaultScaleY() methods. See +https://bugs.openjdk.java.net/browse/JDK-8073320 for more info. + +Backport the missing port to build openjfx-swing package using JDKu8. For more +info please see https://bugs.openjdk.java.net/browse/JDK-8149967 + +--- + .../java/javafx/embed/swing/JFXPanel.java | 20 ++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java b/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java +index 97515e2290..614ed656b9 100644 +--- a/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java ++++ b/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java +@@ -81,6 +81,7 @@ import sun.awt.AppContext; + import sun.awt.CausedFocusEvent; + import sun.awt.SunToolkit; + import sun.java2d.SunGraphics2D; ++import sun.java2d.SurfaceData; + import sun.util.logging.PlatformLogger; + import sun.util.logging.PlatformLogger.Level; + +@@ -681,6 +682,23 @@ + e.getCaret().getInsertionIndex()); + } + ++ // FIXME: once we move to JDK 9 as the boot JDK we should remove the ++ // reflection code from this method, consider changing it to ++ // use double rather than int, and account for the possibility of ++ // a different scale factor in X and Y. ++ private int getDefaultScale(SurfaceData surfaceData) { ++ /* ++ double scale = surfaceData.getDefaultScaleX(); ++ */ ++ double scale = 1; ++ try { ++ Method meth = SurfaceData.class.getMethod("getDefaultScaleX"); ++ scale = (Double)meth.invoke(surfaceData); ++ } catch (Exception ex) { ++ } ++ ++ return (int)Math.round(scale); ++ } + + /** + * Overrides the {@link javax.swing.JComponent#paintComponent(Graphics)} +@@ -720,7 +738,7 @@ public class JFXPanel extends JComponent { + + int newScaleFactor = scaleFactor; + if (g instanceof SunGraphics2D) { +- newScaleFactor = ((SunGraphics2D)g).surfaceData.getDefaultScale(); ++ newScaleFactor = getDefaultScale(((SunGraphics2D)g).surfaceData); + } + if (scaleFactor != newScaleFactor) { + resizePixelBuffer(newScaleFactor); +-- +2.24.1 -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 09/12] gnu: java-openjfx-web: Add new variable. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Wed, 03 Jun 2020 15:48:02 +0000 Resent-Message-ID: <handler.41360.B41360.15911992454160 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov <levenson@HIDDEN> Cc: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.15911992454160 (code B ref 41360); Wed, 03 Jun 2020 15:48:02 +0000 Received: (at 41360) by debbugs.gnu.org; 3 Jun 2020 15:47:25 +0000 Received: from localhost ([127.0.0.1]:44407 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jgVbk-00014m-59 for submit <at> debbugs.gnu.org; Wed, 03 Jun 2020 11:47:25 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57554) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1jgVbj-00014a-1b for 41360 <at> debbugs.gnu.org; Wed, 03 Jun 2020 11:47:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43710) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1jgVbd-00059z-Lc; Wed, 03 Jun 2020 11:47:05 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=41696 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1jgVbd-0002lC-64; Wed, 03 Jun 2020 11:47:05 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> References: <20200517135138.1651512-1-levenson@HIDDEN> <20200517135138.1651512-9-levenson@HIDDEN> <87tv0668us.fsf@HIDDEN> <87wo4t1ie8.fsf@HIDDEN> Date: Wed, 03 Jun 2020 17:47:03 +0200 In-Reply-To: <87wo4t1ie8.fsf@HIDDEN> (Alexey Abramov's message of "Sat, 30 May 2020 18:45:19 +0200") Message-ID: <87v9k8kv7s.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Hi Alexey, Alexey Abramov <levenson@HIDDEN> skribis: > Ludovic Court=C3=A8s <ludo@HIDDEN> writes: [...] >>> + (let* ((module (string-append (getcwd) "/modules/web")) >>> + (classes (string-append module "/build/classes/jav= a/main")) >>> + (web-generated-headers (string-append module "/bui= ld/generated-src/headers")) >>> + (web-generated-classes '("com.sun.webkit.ContextMe= nu" >>> + "com.sun.webkit.ContextMe= nuItem" >>> + "com.sun.webkit.CursorMan= ager" >> >> Perhaps add a comment explaining how you obtained this list of classes >> so that our future selves know how to update it. >> >> Since this is a Web thing, could you check whether it contains pre-built >> (=E2=80=9Cminified=E2=80=9D) JavaScript? If it does, that=E2=80=99s a p= roblem because we >> generally provide only software built from source. > > We build not only a web component here, but webkit as well. Webkit requir= es some extra 3rd party libraries icu, libxml, libxslt and sqlite which are= already in openjfx source bundle. We also build them now. Oh sorry, I had overlooked that and it=E2=80=99s problematic. The policy in Guix is to not use bundled software: it=E2=80=99s a waste of resources (especially for large pieces of software like WebKit), but more importantly it=E2=80=99s a security issue (nobody will notice if =E2=80=98java-openjfx-web=E2=80=99 includes an outdated, vulnerable version= of WebKit). So the solution is to: 1. Pass the relevant flags to tell the build system to use the =E2=80=9Csystem=E2=80=9D copies of these libraries. If there=E2=80=99= s no such flag, patch the build system to not try to build these things. 2. Add a snippet to remove bundled copies of these libraries, to make sure they=E2=80=99re not picked up by mistake. Sometimes it=E2=80=99s just a build flag, and sometimes it=E2=80=99s harder= . If it turns out to be difficult, let us know, and perhaps we can find an interim solution. Could you take a look? Let me know what you think! Thanks, Ludo=E2=80=99.
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v3 1/9] gnu: java-openjfx-build: Add helpful patch. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Wed, 03 Jun 2020 15:51:01 +0000 Resent-Message-ID: <handler.41360.B41360.15911994474449 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov <levenson@HIDDEN> Cc: 41360 <at> debbugs.gnu.org, Julien Lepiller <julien@HIDDEN> Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.15911994474449 (code B ref 41360); Wed, 03 Jun 2020 15:51:01 +0000 Received: (at 41360) by debbugs.gnu.org; 3 Jun 2020 15:50:47 +0000 Received: from localhost ([127.0.0.1]:44412 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jgVfD-00019g-2S for submit <at> debbugs.gnu.org; Wed, 03 Jun 2020 11:50:47 -0400 Received: from eggs.gnu.org ([209.51.188.92]:58130) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1jgVfC-00019U-38 for 41360 <at> debbugs.gnu.org; Wed, 03 Jun 2020 11:50:46 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43745) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1jgVf6-0005lH-4j; Wed, 03 Jun 2020 11:50:40 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=41698 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1jgVf5-00033r-OE; Wed, 03 Jun 2020 11:50:39 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> References: <20200517132829.1553311-1-levenson@HIDDEN> <20200530170951.1649-1-levenson@HIDDEN> Date: Wed, 03 Jun 2020 17:50:38 +0200 In-Reply-To: <20200530170951.1649-1-levenson@HIDDEN> (Alexey Abramov's message of "Sat, 30 May 2020 19:09:43 +0200") Message-ID: <87pnagkv1t.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Alexey Abramov <levenson@HIDDEN> skribis: > +++ b/gnu/packages/patches/java-openjfx-build-jdk_version.patch > @@ -0,0 +1,27 @@ > +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME > + > +Icedtea contains guix in its version, so build.gradle failes to run. Ope= njfx > +packaging is not trivial, so you will probably need to try build it with > +gradlew. > + > +--- > + build.gradle | 5 ++--- > + 1 file changed, 2 insertions(+), 3 deletions(-) This patch also made me realize that we=E2=80=99re using Gradle here, but there=E2=80=99s no Gradle package in Guix. That means we must be using a pre-built jar somewhere, though I didn=E2=80=99t find it. Any idea where t= hat comes from? Julien, any idea? (The problem existed before your patches.) Thanks, Ludo=E2=80=99.
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v3 1/9] gnu: java-openjfx-build: Add helpful patch. Resent-From: Julien Lepiller <julien@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Wed, 03 Jun 2020 16:26:02 +0000 Resent-Message-ID: <handler.41360.B41360.159120153816152 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Alexey Abramov <levenson@HIDDEN> Cc: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159120153816152 (code B ref 41360); Wed, 03 Jun 2020 16:26:02 +0000 Received: (at 41360) by debbugs.gnu.org; 3 Jun 2020 16:25:38 +0000 Received: from localhost ([127.0.0.1]:44482 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jgWCi-0004CC-PE for submit <at> debbugs.gnu.org; Wed, 03 Jun 2020 12:25:38 -0400 Received: from lepiller.eu ([89.234.186.109]:54826) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jgWCh-0004C3-1e for 41360 <at> debbugs.gnu.org; Wed, 03 Jun 2020 12:25:23 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 7438b954; Wed, 3 Jun 2020 16:25:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date :in-reply-to:references:mime-version:content-type :content-transfer-encoding:subject:to:cc:from:message-id; s= dkim; bh=FeULLNLaBoDFezkr+jG0MNtD6vE2uCeTspxxH5Alxtk=; b=JNL4xeq DH3fynpJx1vEYelldkc1aiWHOALU9qGUqJXtWXKva385pqRDsYpiLqjrdfny9v92 i9bGkJ14NpnXpn/f7Ll1KBmMctuefXm98WBfBhMvTnYqIDs0+wGfJrFstQRZZCVE hzNvXeJZgatQ/5L7SIxAekXbS5Yjk7zYwnYoaQdHmSzmHPbgZTv4LGj9su5fr7HG 0uMwM42YUtdMcv/i1fSAZBB6OtzmSOw9DxvPRncvByMZTSUjWKCEoQv6HcDCPIED mAvsPOuIWfXETadn1jKaaf0g6AYywTTmCrG6+THMylAuFVCBlUb8AKKUFdosmp0f W1O0QpSBYPGTnug== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 8d2f02c3 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Wed, 3 Jun 2020 16:25:19 +0000 (UTC) Date: Wed, 03 Jun 2020 12:24:58 -0400 User-Agent: K-9 Mail for Android In-Reply-To: <87pnagkv1t.fsf@HIDDEN> References: <20200517132829.1553311-1-levenson@HIDDEN> <20200530170951.1649-1-levenson@HIDDEN> <87pnagkv1t.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: Julien Lepiller <julien@HIDDEN> Message-ID: <0F005145-C408-4B05-86C2-750219F7F2E3@HIDDEN> X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Le 3 juin 2020 11:50:38 GMT-04:00, "Ludovic Court=C3=A8s" <ludo@gnu=2Eorg> = a =C3=A9crit : >Alexey Abramov <levenson@mmer=2Eorg> skribis: > >> +++ b/gnu/packages/patches/java-openjfx-build-jdk_version=2Epatch >> @@ -0,0 +1,27 @@ >> +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME >> + >> +Icedtea contains guix in its version, so build=2Egradle failes to run= =2E >Openjfx >> +packaging is not trivial, so you will probably need to try build it >with >> +gradlew=2E >> + >> +--- >> + build=2Egradle | 5 ++--- >> + 1 file changed, 2 insertions(+), 3 deletions(-) > >This patch also made me realize that we=E2=80=99re using Gradle here, but >there=E2=80=99s no Gradle package in Guix=2E That means we must be using= a >pre-built jar somewhere, though I didn=E2=80=99t find it=2E Any idea whe= re that >comes from? Julien, any idea? > >(The problem existed before your patches=2E) > >Thanks, >Ludo=E2=80=99=2E From=20what I understand, this patcg helps build openjfx with gradle on guix= , if you use the guix source in an environment, but reading the other patch= es, it doesn't look like gradle is actually used anywhere=2E It looks like this patch is helpful in the sense that it allows users to m= anually build the package outside of guix, but is not used at all during th= e build of openjfx by guix itself=2E Alexey, can you confirm?
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v3 1/9] gnu: java-openjfx-build: Add helpful patch. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Wed, 03 Jun 2020 16:37:02 +0000 Resent-Message-ID: <handler.41360.B41360.159120220617153 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Julien Lepiller <julien@HIDDEN> Cc: 41360 <at> debbugs.gnu.org, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159120220617153 (code B ref 41360); Wed, 03 Jun 2020 16:37:02 +0000 Received: (at 41360) by debbugs.gnu.org; 3 Jun 2020 16:36:46 +0000 Received: from localhost ([127.0.0.1]:44489 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jgWNh-0004Sb-Tq for submit <at> debbugs.gnu.org; Wed, 03 Jun 2020 12:36:46 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:50720) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jgWNe-0004SR-Ia for 41360 <at> debbugs.gnu.org; Wed, 03 Jun 2020 12:36:44 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id EC9EE9CC41; Wed, 3 Jun 2020 16:05:52 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> References: <20200517132829.1553311-1-levenson@HIDDEN> <20200530170951.1649-1-levenson@HIDDEN> <87pnagkv1t.fsf@HIDDEN> <0F005145-C408-4B05-86C2-750219F7F2E3@HIDDEN> Date: Wed, 03 Jun 2020 18:36:34 +0200 In-Reply-To: <0F005145-C408-4B05-86C2-750219F7F2E3@HIDDEN> (Julien Lepiller's message of "Wed, 03 Jun 2020 12:24:58 -0400") Message-ID: <877dwoyulp.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Hi Julien, Ludo, Julien Lepiller <julien@HIDDEN> writes: > Le 3 juin 2020 11:50:38 GMT-04:00, "Ludovic Court=C3=A8s" <ludo@HIDDEN> = a =C3=A9crit : >>Alexey Abramov <levenson@HIDDEN> skribis: >> >>> +++ b/gnu/packages/patches/java-openjfx-build-jdk_version.patch > >>> @@ -0,0 +1,27 @@ >>> +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME >>> + >>> +Icedtea contains guix in its version, so build.gradle failes to run. >>Openjfx >>> +packaging is not trivial, so you will probably need to try build it >>with >>> +gradlew. >>> + >>> +--- >>> + build.gradle | 5 ++--- >>> + 1 file changed, 2 insertions(+), 3 deletions(-) >> >>This patch also made me realize that we=E2=80=99re using Gradle here, but >>there=E2=80=99s no Gradle package in Guix. That means we must be using a >>pre-built jar somewhere, though I didn=E2=80=99t find it. Any idea where= that >>comes from? Julien, any idea? >> >>(The problem existed before your patches.) >> >>Thanks, >>Ludo=E2=80=99. > > From what I understand, this patcg helps build openjfx with gradle on > guix, if you use the guix source in an environment, but reading the > other patches, it doesn't look like gradle is actually used anywhere. > > It looks like this patch is helpful in the sense that it allows users to = manually build the package outside of guix, but is not used at all during t= he build of openjfx by guix itself. > > Alexey, can you confirm? Yes, you are right. I am not using gradle. The reason for this patch was to be able to debug the building process openjfx. I had to run gradlew multiple times, so I decided to just patch it. --=20 Alexey
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v3 1/9] gnu: java-openjfx-build: Add helpful patch. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Thu, 04 Jun 2020 09:57:02 +0000 Resent-Message-ID: <handler.41360.B41360.159126456916371 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov <levenson@HIDDEN> Cc: 41360 <at> debbugs.gnu.org, Julien Lepiller <julien@HIDDEN> Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159126456916371 (code B ref 41360); Thu, 04 Jun 2020 09:57:02 +0000 Received: (at 41360) by debbugs.gnu.org; 4 Jun 2020 09:56:09 +0000 Received: from localhost ([127.0.0.1]:45176 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jgmbZ-0004Fz-1t for submit <at> debbugs.gnu.org; Thu, 04 Jun 2020 05:56:09 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46302) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1jgmbX-0004Fl-Ci for 41360 <at> debbugs.gnu.org; Thu, 04 Jun 2020 05:56:07 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:57656) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1jgmbR-0006eZ-Aj; Thu, 04 Jun 2020 05:56:01 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=44758 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1jgmbQ-0003zS-Ta; Thu, 04 Jun 2020 05:56:01 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> References: <20200517132829.1553311-1-levenson@HIDDEN> <20200530170951.1649-1-levenson@HIDDEN> <87pnagkv1t.fsf@HIDDEN> <0F005145-C408-4B05-86C2-750219F7F2E3@HIDDEN> <877dwoyulp.fsf@HIDDEN> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 17 Prairial an 228 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 04 Jun 2020 11:55:59 +0200 In-Reply-To: <877dwoyulp.fsf@HIDDEN> (Alexey Abramov's message of "Wed, 03 Jun 2020 18:36:34 +0200") Message-ID: <87h7vrduj4.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi, Alexey Abramov <levenson@HIDDEN> skribis: > Julien Lepiller <julien@HIDDEN> writes: > >> Le 3 juin 2020 11:50:38 GMT-04:00, "Ludovic Court=C3=A8s" <ludo@HIDDEN>= a =C3=A9crit : >>>Alexey Abramov <levenson@HIDDEN> skribis: >>> >>>> +++ b/gnu/packages/patches/java-openjfx-build-jdk_version.patch >> >>>> @@ -0,0 +1,27 @@ >>>> +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME >>>> + >>>> +Icedtea contains guix in its version, so build.gradle failes to run. >>>Openjfx >>>> +packaging is not trivial, so you will probably need to try build it >>>with >>>> +gradlew. >>>> + >>>> +--- >>>> + build.gradle | 5 ++--- >>>> + 1 file changed, 2 insertions(+), 3 deletions(-) >>> >>>This patch also made me realize that we=E2=80=99re using Gradle here, but >>>there=E2=80=99s no Gradle package in Guix. That means we must be using a >>>pre-built jar somewhere, though I didn=E2=80=99t find it. Any idea wher= e that >>>comes from? Julien, any idea? >>> >>>(The problem existed before your patches.) >>> >>>Thanks, >>>Ludo=E2=80=99. >> >> From what I understand, this patcg helps build openjfx with gradle on >> guix, if you use the guix source in an environment, but reading the >> other patches, it doesn't look like gradle is actually used anywhere. >> >> It looks like this patch is helpful in the sense that it allows users to= manually build the package outside of guix, but is not used at all during = the build of openjfx by guix itself. >> >> Alexey, can you confirm? > > Yes, you are right. I am not using gradle. The reason for this patch was > to be able to debug the building process openjfx. I had to run gradlew > multiple times, so I decided to just patch it. OK, thanks for explaining! BTW, I=E2=80=99ve pushed the first two patches of this series, Alexey. Ludo=E2=80=99.
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v4 03/12] gnu: java-openjfx-swing: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 07 Jun 2020 15:56:01 +0000 Resent-Message-ID: <handler.41360.B41360.159154533629948 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159154533629948 (code B ref 41360); Sun, 07 Jun 2020 15:56:01 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:55:36 +0000 Received: from localhost ([127.0.0.1]:54682 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jhxe1-0007mi-BH for submit <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:36 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62709) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jhxe0-0007mT-5H for 41360 <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:32 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id B1DBE9CF21 for <41360 <at> debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:44 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 7 Jun 2020 17:55:09 +0200 Message-Id: <20200607155518.1400-4-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@HIDDEN> References: <20200607155518.1400-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-swing): New variable. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 6e7f92c859..d59288df9a 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3206,6 +3206,19 @@ distribution."))) `(("java-openjfx-base" ,java-openjfx-base) ("java-swt" ,java-swt))))) +(define-public java-openjfx-swing + (package (inherit java-openjfx-build) + (name "java-openjfx-swing") + (arguments + `(#:jar-name "java-openjfx-swing.jar" + #:source-dir "modules/swing/src/main/java" + #:tests? #f)) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v4 04/12] gnu: java-openjfx-swt: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 07 Jun 2020 15:56:02 +0000 Resent-Message-ID: <handler.41360.B41360.159154535030021 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159154535030021 (code B ref 41360); Sun, 07 Jun 2020 15:56:02 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:55:50 +0000 Received: from localhost ([127.0.0.1]:54690 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jhxe4-0007mz-IH for submit <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:50 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62713) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jhxe0-0007mZ-Ro for 41360 <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:33 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 687D19CF98 for <41360 <at> debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:45 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 7 Jun 2020 17:55:10 +0200 Message-Id: <20200607155518.1400-5-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@HIDDEN> References: <20200607155518.1400-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-swt): New variable. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d59288df9a..d90b999473 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3219,6 +3219,19 @@ distribution."))) (propagated-inputs `(("java-openjfx-graphics" ,java-openjfx-graphics))))) +(define-public java-openjfx-swt + (package (inherit java-openjfx-build) + (name "java-openjfx-swt") + (arguments + `(#:jar-name "java-openjfx-swt.jar" + #:source-dir "modules/swt/src/main/java" + #:tests? #f)) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v4 02/12] gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 07 Jun 2020 15:56:02 +0000 Resent-Message-ID: <handler.41360.B41360.159154535030029 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159154535030029 (code B ref 41360); Sun, 07 Jun 2020 15:56:02 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:55:50 +0000 Received: from localhost ([127.0.0.1]:54694 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jhxeI-0007oA-Ar for submit <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:50 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62705) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jhxdz-0007mR-L7 for 41360 <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:35 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 1F48B9CD79 for <41360 <at> debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:44 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 7 Jun 2020 17:55:08 +0200 Message-Id: <20200607155518.1400-3-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@HIDDEN> References: <20200607155518.1400-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/local.mk | 1 + gnu/packages/java.scm | 4 +- ...va-openjfx-build-swing-JFXPanel-JDK8.patch | 60 +++++++++++++++++++ 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch diff --git a/gnu/local.mk b/gnu/local.mk index ae8a2275f7..5fe0eeadda 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1109,6 +1109,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-jdk_version.patch \ + %D%/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index fb5d754a60..6e7f92c859 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2501,7 +2501,9 @@ new Date();")) (sha256 (base32 "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) - (patches (search-patches "java-openjfx-build-jdk_version.patch")))) + (patches (search-patches "java-openjfx-build-jdk_version.patch" + "java-openjfx-build-swing-JFXPanel-JDK8.patch" + )))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch b/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch new file mode 100644 index 0000000000..b540048621 --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch @@ -0,0 +1,60 @@ +Subject: [PATCH] java-openjfx-build: Cannot compile JFXPanel with JDK 8 + +In JDKu9 getDefaultScale method was removed and sun.java2d.SurfaceData class now +has separate getDefaultScaleX() and getDefaultScaleY() methods. See +https://bugs.openjdk.java.net/browse/JDK-8073320 for more info. + +Backport the missing port to build openjfx-swing package using JDKu8. For more +info please see https://bugs.openjdk.java.net/browse/JDK-8149967 + +--- + .../java/javafx/embed/swing/JFXPanel.java | 20 ++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java b/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java +index 97515e2290..614ed656b9 100644 +--- a/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java ++++ b/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java +@@ -81,6 +81,7 @@ import sun.awt.AppContext; + import sun.awt.CausedFocusEvent; + import sun.awt.SunToolkit; + import sun.java2d.SunGraphics2D; ++import sun.java2d.SurfaceData; + import sun.util.logging.PlatformLogger; + import sun.util.logging.PlatformLogger.Level; + +@@ -681,6 +682,23 @@ + e.getCaret().getInsertionIndex()); + } + ++ // FIXME: once we move to JDK 9 as the boot JDK we should remove the ++ // reflection code from this method, consider changing it to ++ // use double rather than int, and account for the possibility of ++ // a different scale factor in X and Y. ++ private int getDefaultScale(SurfaceData surfaceData) { ++ /* ++ double scale = surfaceData.getDefaultScaleX(); ++ */ ++ double scale = 1; ++ try { ++ Method meth = SurfaceData.class.getMethod("getDefaultScaleX"); ++ scale = (Double)meth.invoke(surfaceData); ++ } catch (Exception ex) { ++ } ++ ++ return (int)Math.round(scale); ++ } + + /** + * Overrides the {@link javax.swing.JComponent#paintComponent(Graphics)} +@@ -720,7 +738,7 @@ public class JFXPanel extends JComponent { + + int newScaleFactor = scaleFactor; + if (g instanceof SunGraphics2D) { +- newScaleFactor = ((SunGraphics2D)g).surfaceData.getDefaultScale(); ++ newScaleFactor = getDefaultScale(((SunGraphics2D)g).surfaceData); + } + if (scaleFactor != newScaleFactor) { + resizePixelBuffer(newScaleFactor); +-- +2.24.1 -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v4 05/12] gnu: java-openjfx-controls: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 07 Jun 2020 15:56:02 +0000 Resent-Message-ID: <handler.41360.B41360.159154535130035 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159154535130035 (code B ref 41360); Sun, 07 Jun 2020 15:56:02 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:55:51 +0000 Received: from localhost ([127.0.0.1]:54696 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jhxeI-0007oI-Mk for submit <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:50 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62717) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jhxe1-0007mb-8e for 41360 <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:36 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 06D1A9CFA5 for <41360 <at> debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:45 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 7 Jun 2020 17:55:11 +0200 Message-Id: <20200607155518.1400-6-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@HIDDEN> References: <20200607155518.1400-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-controls): New variable. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d90b999473..e05289758a 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3232,6 +3232,22 @@ distribution."))) (propagated-inputs `(("java-openjfx-graphics" ,java-openjfx-graphics))))) +(define-public java-openjfx-controls + (package (inherit java-openjfx-build) + (name "java-openjfx-controls") + (arguments + `(#:jar-name "java-openjfx-controls.jar" + #:source-dir "modules/controls/src/main/java" + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (let ((resources (string-append (getcwd) "/modules/controls/src/main/resources"))) + (copy-recursively resources "build/classes")) #t))))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v4 00/12] Improve OpenJFX and friends packages References: <20200517132829.1553311-1-levenson@HIDDEN> In-Reply-To: <20200517132829.1553311-1-levenson@HIDDEN> Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 07 Jun 2020 15:56:03 +0000 Resent-Message-ID: <handler.41360.B41360.159154535130043 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159154535130043 (code B ref 41360); Sun, 07 Jun 2020 15:56:03 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:55:51 +0000 Received: from localhost ([127.0.0.1]:54698 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jhxeI-0007oT-W1 for submit <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:51 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62698) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jhxdz-0007mO-1L for 41360 <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:37 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 2E22F9CC46 for <41360 <at> debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:43 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 7 Jun 2020 17:55:06 +0200 Message-Id: <20200607155518.1400-1-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) This is an updated series of patches for openjfx. We are now building WebKit java port and use Guix inputs, instead of embedded source code bundles ship with openjfx. Tests are still disabled. I left round brackets in java-openjfx-build package on a separate line, just to make diffs look cleaner. Is it OK? This is not an ideal build of course. Media component is missing for example. It would be also great to build a complete jfxrt.jar and not expose java-openjfx-<component> vars at all. I have also checked the webkitgtk package while doing this. I found that some patches apply to openjfx as well. Don't know if it's possible to use webkit.org sources for openjfx-web. In the meantime davmail and 2fa works :). Please let me know what you think. Alexey Abramov (12): gnu: java-openjfx-graphics: Implement a complete compilation. gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 gnu: java-openjfx-swing: Add new variable. gnu: java-openjfx-swt: Add new variable. gnu: java-openjfx-controls: Add new variable. gnu: java-openjfx-build: Patch DumpRenderTree for the web component. gnu: java-openjfx-build: Do not use an embedded 3rd party libraries. gnu: java-openjfx-build: Fix web component compilation with ICU 59+. gnu: java-openjfx-build: Fix web component linkage. gnu: java-openjfx-build: Fix web component compilation with ICU 65+. gnu: java-openjfx-build: Ensure use of system provided libraries. gnu: java-openjfx-web: Add new variable. gnu/local.mk | 6 + gnu/packages/java.scm | 871 +++++++++++++++++- ...va-openjfx-build-swing-JFXPanel-JDK8.patch | 60 ++ ...penjfx-build-web-DumpRenderTree-java.patch | 30 + ...-openjfx-build-web-OptionsJava.cmake.patch | 32 + .../patches/java-openjfx-build-web-WTF.patch | 33 + ...-build-web-WebKitCompilerFlags.cmake.patch | 36 + .../patches/java-openjfx-build-web-icu.patch | 38 + 8 files changed, 1097 insertions(+), 9 deletions(-) create mode 100644 gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch create mode 100644 gnu/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch create mode 100644 gnu/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch create mode 100644 gnu/packages/patches/java-openjfx-build-web-WTF.patch create mode 100644 gnu/packages/patches/java-openjfx-build-web-WebKitCompilerFlags.cmake.patch create mode 100644 gnu/packages/patches/java-openjfx-build-web-icu.patch -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v4 01/12] gnu: java-openjfx-graphics: Implement a complete compilation. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 07 Jun 2020 15:56:03 +0000 Resent-Message-ID: <handler.41360.B41360.159154536130075 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159154536130075 (code B ref 41360); Sun, 07 Jun 2020 15:56:03 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:56:01 +0000 Received: from localhost ([127.0.0.1]:54700 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jhxeJ-0007oW-8G for submit <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:56:01 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62701) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jhxdz-0007mQ-1M for 41360 <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:37 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 6288A9CC49 for <41360 <at> debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:43 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 7 Jun 2020 17:55:07 +0200 Message-Id: <20200607155518.1400-2-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@HIDDEN> References: <20200607155518.1400-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * 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. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 642 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 634 insertions(+), 8 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 43f0f37b91..fb5d754a60 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -56,6 +56,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) + #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms #:use-module (gnu packages gnome) #:use-module (gnu packages groovy) @@ -2567,16 +2568,641 @@ distribution."))) (arguments `(#:jar-name "java-openjfx-graphics.jar" #:source-dir "modules/graphics/src/main/java" - #:tests? #f; require X - #:test-dir "modules/graphics/src/test")) + #:tests? #f ; requires X + #:test-dir "modules/graphics/src/test" + #:test-include (list "**/*Test.*") + #:modules ((guix build ant-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 regex) + (ice-9 match)) + #:phases + (let* ((jdk (assoc-ref %build-inputs "jdk")) + (javac/h-flags + '(;; When javac is compiling code it doesn't link + ;; against rt.jar by default. Instead it uses special + ;; symbol file lib/ct.sym with class stubs. + ;; Surprisingly this file contains many but not *all* + ;; of internal classes. + "-XDignore.symbol.file" + ;; It’s an internal option for JDK 1.7+ that prevents + ;; the compiler from sharing a table that will never + ;; be reused. When shared, it can’t be garbage + ;; collected, continues to accumulate data, and + ;; therefore wastes memory. + "-XDuseUnsharedTable=true")) + (common-flags + '("-fno-strict-aliasing" "-fPIC" "-fno-omit-frame-pointer" ;; optimization flags + "-fstack-protector" + "-W" "-Wall" "-Wno-unused" "-Wno-parentheses")) + (cc-flags + `(,@common-flags "-c" "-ffunction-sections" "-fdata-sections" + "-I" ,(string-append jdk "/include") + "-I" ,(string-append jdk "/include/linux"))) + (link-flags + `("-static-libgcc" "-static-libstdc++" "-shared" ,@common-flags + "-z" "relro" + "-Wl,--gc-sections")) + (java-aux-class? + (lambda (class) + (string-match "\\$[0-9]+\\.class" class))) + (java-list-classes + (lambda (path) + ;; For each .java file we need to figure out what + ;; class the .java file belongs in and convert it to a + ;; class name. + (filter-map + (lambda (class) + (let* ((rx (make-regexp (string-append path file-name-separator-string "?"))) + (class (string-drop-right class (string-length ".class"))) + (class (match:suffix (regexp-exec rx class)))) + (if (java-aux-class? class) + #f + (string-join (string-split class #\/) ".")))) + (find-files path "\\.class$"))))) + (modify-phases %standard-phases + + (replace 'build + (lambda _ + ;; Do not mix different classes. There will be more stuff in build/classes + (invoke "ant" "compile" "-Dclasses.dir=modules/graphics/build/classes/java/main") + #t)) + + ;; XX: Description can be found in build.gradle:1429. Currently + ;; there is no sdk creation step. + ;; + ;; The Decora and Prism JSL files have to be generated in a very specific set of steps. + ;; 1) Compile the *Compile.java classes. These live in src/main/jsl-* and will be + ;; output to $buildDir/classes/jsl-compilers/* (where * == decora or prism). + ;; 2) Generate source files from the JSL files contained in src/main/jsl-*. These + ;; will be output to $buildDir/generated-src/jsl-* + ;; 3) Compile the JSL Java sources in $buildDir/generated-src/jsl-* and put the output + ;; into classes/jsl-* + ;; 4) Compile the native JSL sources in $buildDir/generated-src/jsl-* and put the obj + ;; files into native/jsl-* and the resulting library into libs/jsl-*.dll|so|dylib + ;; 5) Modify the jar step to include classes/jsl-* + ;; The native library must be copied over during SDK creation time in the "sdk" task. In + ;; addition to these steps, the clean task is created. Note that I didn't bother to create + ;; a new task for each of the decora files, preferring instead just to create a rule?? Also + ;; need "clean" tasks for each compile task. + (add-after 'build 'compile-prism-compilers + (lambda _ + (let ((prism-compilers-classes "modules/graphics/build/classes/jsl-compilers/prism") + (prism-src "modules/graphics/src/main/jsl-prism/")) + (mkdir-p prism-compilers-classes) + + (apply invoke "javac" "-d" prism-compilers-classes + (append javac/h-flags (find-files prism-src "\\.java")))) + + #t)) + + (add-after 'compile-prism-compilers 'generate-prism-shaders + (lambda _ + (let ((prism-compilers-classes "modules/graphics/build/classes/jsl-compilers/prism") + (prism-src "modules/graphics/src/main/jsl-prism/") + (prism-gen-src "modules/graphics/build/generated-src/jsl-prism")) + (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))) + (find-files prism-src "\\.jsl$"))) + #t)) + + (add-after 'generate-prism-shaders 'compile-prism-shaders + (lambda _ + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-classes "modules/graphics/build/classes/jsl-prism") + (prism-gen-src "modules/graphics/build/generated-src/jsl-prism") + (prism-gen-shaders-src (string-append prism-gen-src "/com/sun/prism/shader"))) + (mkdir-p prism-classes) + (apply invoke "javac" + "-d" prism-classes + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags (find-files prism-gen-shaders-src)))) + #t)) + + (add-after 'compile-prism-shaders 'compile-decora-compilers + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-compilers-classes "modules/graphics/build/classes/jsl-compilers/decora") + (decora-src "modules/graphics/src/main/jsl-decora/")) + (mkdir-p decora-compilers-classes) + (apply invoke "javac" + "-d" decora-compilers-classes + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags (find-files decora-src "\\.java")))) + #t)) + + (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")]))) + (mkdir-p decora-gen-src) + (for-each (match-lambda + ((('file-name . file-name) + ('generator . generator) + ('outputs . outputs)) + (apply invoke "java" + "-cp" (string-join (cons* classes + decora-src + ;; CompileJSL + decora-compilers-classes + decora-classes + ;; We need resources from the build + "buildSrc/src/main/resources" + (list (getenv "CLASSPATH"))) + ":") + generator + "-i" decora-src + "-o" decora-gen-src + "-t" + "-pkg" "com/sun/scenario/effect" + outputs + (list file-name)))) + decora-components) + #t))) + + (add-after 'generate-decora-shaders 'compile-decora-shaders + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-classes "modules/graphics/build/classes/jsl-decora/") + (decora-gen-src "modules/graphics/build/generated-src/jsl-decora")) + (mkdir-p decora-classes) + (apply invoke "javac" + "-d" decora-classes + "-cp" classes + (append javac/h-flags (find-files decora-gen-src "\\.java$")))) + #t)) + + (add-after 'compile-decora-shaders 'compile-decora-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (decora-gen-headers "modules/graphics/build/generated-src/headers/jsl-decora") + (decora-gen-src "modules/graphics/build/generated-src/jsl-decora") + (decora-native-lib "modules/graphics/build/libs/jsl-decora/linux/libdecora_sse.so") + (decora-native-obj "modules/graphics/build/native/jsl-decora/linux") + (decora-native-src "modules/graphics/src/main/native-decora") + (decora-src "modules/graphics/src/main/jsl-decora/") + (decora-classes "modules/graphics/build/classes/jsl-decora/") + (decora-cc-flags `(,@cc-flags "-ffast-math"))) + (mkdir-p decora-gen-headers) + (apply invoke "javah" + "-d" decora-gen-headers + "-cp" (string-join (list classes decora-classes) ":") + (append javac/h-flags + (filter (cut string-prefix? "com.sun.scenario.effect.impl.sw.sse" <>) + (append (java-list-classes classes) + (java-list-classes decora-classes))))) + (mkdir-p decora-native-obj) + (for-each (lambda (cc) + (apply invoke "gcc" + "-I" decora-gen-headers + "-I" decora-gen-src + "-I" decora-native-src + "-o" (string-append decora-native-obj "/" (basename cc ".cc") ".obj") + (append decora-cc-flags (list cc)))) + (append (find-files decora-gen-src "\\.cc$") + (find-files decora-native-src "\\.cc$"))) + (mkdir-p (dirname decora-native-lib)) + (apply invoke "g++" "-o" decora-native-lib + (append link-flags (find-files decora-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-decora-native-lib 'compile-linux-font-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (font-gen-headers "modules/graphics/build/generated-src/headers/font/linux") + (font-native-lib "modules/graphics/build/libs/font/linux/libjavafx_font.so") + (font-native-obj "modules/graphics/build/native/font/linux") + (font-native-src "modules/graphics/src/main/native-font") + ;; + (font-cc-flags `("-DJFXFONT_PLUS" ,@cc-flags))) + (mkdir-p font-gen-headers) + (apply invoke "javah" + "-d" font-gen-headers + "-cp" classes + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.javafx.font" class) + (string-prefix? "com.sun.javafx.text" class))) + (java-list-classes classes)))) + (mkdir-p font-native-obj) + (for-each (lambda (cc) + (apply invoke "gcc" + "-I" font-gen-headers + "-I" font-native-src + "-o" (string-append font-native-obj "/" + (basename cc ".c") ".obj") + (append font-cc-flags (list cc)))) + (find-files font-native-src "\\.c$")) + (mkdir-p (dirname font-native-lib)) + (apply invoke "g++" + "-o" font-native-lib + (append link-flags + (find-files font-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-linux-font-native-lib 'compile-linux-font-freetype + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + ;; + (font-freetype-gen-headers "modules/graphics/build/generated-src/headers/fontFreetype/linux") + (font-freetype-native-lib "modules/graphics/build/libs/fontFreetype/linux/libjavafx_font_freetype.so") + (font-freetype-native-obj "modules/graphics/build/native/fontFreetype/linux") + (font-freetype-native-src "modules/graphics/src/main/native-font/freetype.c") + (font-freetype-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_PANGO" + "$(pkg-config --cflags freetype2)" ,@cc-flags)) + (font-freetype-link-flags `("$(pkg-config --libs freetype2)" ,@link-flags))) + (mkdir-p font-freetype-gen-headers) + (apply invoke "javah" + "-d" font-freetype-gen-headers + "-cp" classes + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.font.freetype.OSFreetype" <>) + (java-list-classes classes)))) + (mkdir-p font-freetype-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-freetype-cc-flags + "-I" ,font-freetype-gen-headers + "-I" ,(dirname font-freetype-native-src) + "-o" ,(string-append font-freetype-native-obj "/" + (basename font-freetype-native-src ".c") ".obj") + ,font-freetype-native-src))) + (mkdir-p (dirname font-freetype-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + "-o" ,font-freetype-native-lib + ,@font-freetype-link-flags + ,@(find-files font-freetype-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-font-freetype 'compile-linux-font-pango-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (font-pango-gen-headers "modules/graphics/build/generated-src/headers/fontPango/linux") + (font-pango-native-lib "modules/graphics/build/libs/fontPango/linux/libjavafx_font_pango.so") + (font-pango-native-obj "modules/graphics/build/native/fontPango/linux") + (font-pango-native-src "modules/graphics/src/main/native-font/pango.c") + (font-pango-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_PANGO" + "$(pkg-config --cflags pangoft2)" ,@cc-flags)) + (font-pango-link-flags `("$(pkg-config --libs pangoft2)" ,@link-flags))) + (mkdir-p font-pango-gen-headers) + (apply invoke "javah" + "-d" font-pango-gen-headers + "-cp" classes + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.font.freetype.OSPango" <>) + (java-list-classes classes)))) + (mkdir-p font-pango-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-pango-cc-flags + "-I" ,font-pango-gen-headers + "-I" ,(dirname font-pango-native-src) + "-o" ,(string-append font-pango-native-obj "/" + (basename font-pango-native-src ".c") ".obj") + ,font-pango-native-src))) + (mkdir-p (dirname font-pango-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@font-pango-link-flags + "-o" ,font-pango-native-lib + ,@(find-files font-pango-native-obj "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-font-pango-lib 'compile-linux-glass-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + ;; glass + (glass-gen-headers "modules/graphics/build/generated-src/headers/glass/linux") + (glass-native-lib "modules/graphics/build/libs/glass/linux/libglass.so") + (glass-native-obj "modules/graphics/build/native/glass/linux/glass") + (glass-native-src "modules/graphics/src/main/native-glass/gtk/launcher.c") + (glass-cc-flags + `(,@cc-flags + "$(pkg-config --cflags glib-2.0 gdk-2.0 gtk+-2.0 gthread-2.0 xtst)" + "-Werror")) + (glass-link-flags + `(,@link-flags "$(pkg-config --libs x11)" "-ldl")) + ;; glass-gtk2 + (gtk (assoc-ref inputs "gtk")) + (glass-gtk2-native-obj "modules/graphics/build/native/glass/linux/glassgtk2") + (glass-gtk2-native-src (dirname glass-native-src)) + (glass-gtk2-native-lib "modules/graphics/build/libs/glass/linux/libglassgtk2.so") + (glass-gtk2-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-2.0 gthread-2.0 xtst)" + ;; XX: GTimeVal has been deprecated in GLIB since + ;; version 2.62. GTimeVal s not year-2038-safe. Gtk + ;; 2.24 uses GTimeVal so our build is also failing. + "-Wno-deprecated-declarations" + "-Werror")) + (glass-gtk2-link-flags + `(,@link-flags + "$(pkg-config --libs gtk+-2.0 gthread-2.0 xtst)")) + ;; glass-gtk3 + (gtk3 (assoc-ref inputs "gtk3")) + (glass-gtk3-native-obj "modules/graphics/build/native/glass/linux/glassgtk3") + (glass-gtk3-native-src (dirname glass-native-src)) + (glass-gtk3-native-lib "modules/graphics/build/libs/glass/linux/libglassgtk3.so") + (glass-gtk3-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-3.0 gthread-2.0 xtst)" + "-Wno-deprecated-declarations" "-Werror")) + (glass-gtk3-link-flags + `(,@link-flags "$(pkg-config --libs gtk+-3.0 gthread-2.0 xtst)"))) + ;; glass + (mkdir-p glass-gen-headers) + (apply invoke "javah" + "-d" glass-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.glass.events" class) + (string-prefix? "com.sun.glass.ui.gtk" class) + (string-prefix? "com.sun.glass.ui" class))) + (java-list-classes classes)))) + (mkdir-p glass-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-cc-flags + "-I" ,glass-gen-headers + "-I" ,(dirname glass-native-src) + "-o" ,(string-append glass-native-obj "/" + (basename glass-native-src ".c") ".obj") + ,glass-native-src))) + (mkdir-p (dirname glass-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-link-flags + "-o" ,glass-native-lib + ,@(find-files glass-native-obj "\\.obj$")))) + ;; gtk2 + (mkdir-p glass-gtk2-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk2-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append glass-gtk2-native-obj "/" + (basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk2-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk2-link-flags + "-o" ,glass-gtk2-native-lib + ,@(find-files glass-gtk2-native-obj "\\.obj$")))) + ;; gtk3 + (mkdir-p glass-gtk3-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk3-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append glass-gtk3-native-obj "/" + (basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk3-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk3-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk3-link-flags + "-o" ,glass-gtk3-native-lib + ,@(find-files glass-gtk3-native-obj "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-glass-lib 'compile-linux-iio + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (iio-gen-headers "modules/graphics/build/generated-src/headers/iio/linux") + (iio-native-lib "modules/graphics/build/libs/iio/linux/libjavafx_iio.so") + (iio-native-obj "modules/graphics/build/native/iio/linux") + (iio-native-src "modules/graphics/src/main/native-iio") + (iio-cc-flags cc-flags) + (iio-link-flags link-flags)) + (mkdir-p iio-gen-headers) + (apply invoke "javah" + "-d" iio-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.iio" <>) + (java-list-classes classes)))) + (mkdir-p iio-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@iio-cc-flags + "-I" ,iio-gen-headers + "-o" ,(string-append iio-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files iio-native-src "\\.c$")) + (mkdir-p (dirname iio-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@iio-link-flags + "-o" ,iio-native-lib + ,@(find-files iio-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-iio 'compile-linux-prism + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-gen-headers "modules/graphics/build/generated-src/headers/prism/linux") + (prism-native-lib "modules/graphics/build/libs/prism/linux/libprism_common.so") + (prism-native-obj "modules/graphics/build/native/prism/linux") + (prism-native-src "modules/graphics/src/main/native-prism") + (prism-cc-flags `(,@cc-flags "-DINLINE=inline")) + (prism-link-flags link-flags)) + (mkdir-p prism-gen-headers) + (apply invoke "javah" + "-d" prism-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.prism.impl" class) + (string-prefix? "com.sun.prism.PresentableState" class))) + (java-list-classes classes)))) + (mkdir-p prism-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-cc-flags + "-I" ,prism-gen-headers + "-I" ,prism-native-src + "-o" ,(string-append prism-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files prism-native-obj "\\.c$")) + (mkdir-p (dirname prism-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-link-flags + "-o" ,prism-native-lib + ,@(find-files prism-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism 'compile-linux-prism-es2 + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-es2-gen-headers "modules/graphics/build/generated-src/headers/prismES2/linux") + (prism-es2-native-lib "modules/graphics/build/libs/prism/linux/libprism_es2.so") + (prism-es2-native-obj "modules/graphics/build/native/prismES2/linux") + (prism-es2-native-src "modules/graphics/src/main/native-prism-es2") + (prism-es2-cc-flags `("-DLINUX" ,@cc-flags)) + (prism-es2-link-flags + `(,@link-flags "$(pkg-config --libs x11 xxf86vm gl)")) + ;; We need all *.c files in the root and only those + ;; which are in a specific directories. + (filter-src + (lambda (abs _) + (or (regexp-exec (make-regexp (string-append prism-es2-native-src "[^/]*\\.c$")) + abs) + (regexp-exec (make-regexp (string-append prism-es2-native-src "(x11/|GL/)")) + abs))))) + (mkdir-p prism-es2-gen-headers) + (apply invoke "javah" + "-d" prism-es2-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.prism.es2" <>) + (java-list-classes classes)))) + (mkdir-p prism-es2-native-obj) + (for-each (lambda (c) + (apply invoke "gcc" + "-I" glass-native-src + "-I" prism-es2-gen-headers + "-I" prism-es2-native-src + "-I" (string-append prism-es2-native-src "/GL") + "-I" (string-append prism-es2-native-src "/x11") + "-o" (string-append prism-es2-native-obj "/" (basename c ".c") ".obj") + (append prism-es2-cc-flags (list c)))) + (find-files prism-es2-native-src filter-src)) + (mkdir-p (dirname prism-es2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-es2-link-flags + "-o" ,prism-es2-native-lib + ,@(find-files prism-es2-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism-es2 'compile-linux-prism-sw + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-sw-gen-headers "modules/graphics/build/generated-src/headers/prismSW/linux") + (prism-sw-native-lib "modules/graphics/build/libs/prism/linux/libprism_sw.so") + (prism-sw-native-obj "modules/graphics/build/native/prismSW/linux") + (prism-sw-native-src "modules/graphics/src/main/native-prism-sw") + ;; + (prism-sw-cc-flags `(,@cc-flags "-DINLINE=inline")) + (prism-sw-link-flags link-flags)) + (mkdir-p prism-sw-gen-headers) + (apply invoke "javah" + "-d" prism-sw-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.pisces" <>) + (java-list-classes classes)))) + (mkdir-p prism-sw-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-sw-cc-flags + "-I" ,prism-sw-gen-headers + "-I" ,prism-sw-native-src + "-o" ,(string-append prism-sw-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files prism-sw-native-src "\\.c$")) + (mkdir-p (dirname prism-sw-native-lib)) + (apply invoke "g++" "-o" prism-sw-native-lib + (append prism-sw-link-flags (find-files prism-sw-native-obj "\\.obj$"))) + #t))) + + (add-after 'compile-linux-prism-sw 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$")) + #t))) + + (add-after 'install-native 'build-jar + (lambda _ + (let* ((module (string-append "modules/graphics")) + (resources (string-append module "/src/main/resources")) + (classes (string-append module "/build/classes/java/main"))) + (copy-recursively resources classes) + + (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) + #t)))))) + (native-inputs + `(("freetype" ,freetype) + ("fontconfig" ,fontconfig) + ("gcc" ,gcc) + ("glib" ,glib) + ("zlib" ,zlib) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("jpeg" ,libjpeg-turbo) + ("libxtst" ,libxtst) + ("pango" ,pango) + ("libpng" ,libpng) + ("pkg-config" ,pkg-config))) (propagated-inputs `(("java-openjfx-base" ,java-openjfx-base) - ("java-swt" ,java-swt))) - (description "OpenJFX is a client application platform for desktop, -mobile and embedded systems built on Java. Its goal is to produce a -modern, efficient, and fully featured toolkit for developing rich client -applications. This package contains graphics-related classes for the -OpenJFX distribution."))) + ("java-swt" ,java-swt))))) (define-public java-openjfx-media (package (inherit java-openjfx-build) -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v4 06/12] gnu: java-openjfx-build: Patch DumpRenderTree for the web component. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 07 Jun 2020 15:57:02 +0000 Resent-Message-ID: <handler.41360.B41360.159154536530134 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159154536530134 (code B ref 41360); Sun, 07 Jun 2020 15:57:02 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:56:05 +0000 Received: from localhost ([127.0.0.1]:54702 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jhxeT-0007p3-Qk for submit <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:56:05 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62721) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jhxe1-0007mc-Eh for 41360 <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:40 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 4769C9CFB3 for <41360 <at> debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:46 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 7 Jun 2020 17:55:12 +0200 Message-Id: <20200607155518.1400-7-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@HIDDEN> References: <20200607155518.1400-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch: New file. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/local.mk | 1 + gnu/packages/java.scm | 1 + ...penjfx-build-web-DumpRenderTree-java.patch | 30 +++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 gnu/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5fe0eeadda..f8a59da3da 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1110,6 +1110,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-jdk_version.patch \ %D%/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch \ + %D%/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index e05289758a..d60ae7c8f1 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2503,6 +2503,7 @@ new Date();")) "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) (patches (search-patches "java-openjfx-build-jdk_version.patch" "java-openjfx-build-swing-JFXPanel-JDK8.patch" + "java-openjfx-build-web-DumpRenderTree-java.patch" )))) (build-system ant-build-system) (arguments diff --git a/gnu/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch b/gnu/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch new file mode 100644 index 0000000000..0200e92c05 --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch @@ -0,0 +1,30 @@ +Subject: [PATCH] Fix DumpRenderTree linking. + +DumpRenderTree compiles OK, but fails on a linking stage with the bellow +error. I found the very same fix for openjfx-8 FreeBSD ports as well. Let's +ignore undefined references for now. + +CMakeFiles/DumpRenderTreeJava.dir/__/TestRunner.cpp.o:TestRunner.cpp:function TestRunner::runUIScript(OpaqueJSContext const*, OpaqueJSString*, OpaqueJSValue const*): error: undefined reference to 'WTF::String::String(unsigned short const*, unsigned int)' +CMakeFiles/DumpRenderTreeJava.dir/__/__/TestRunnerShared/UIScriptContext/UIScriptContext.cpp.o:UIScriptContext.cpp:function WTR::UIScriptContext::tryToCompleteUIScriptForCurrentParentCallback(): error: undefined reference to 'WTF::String::String(unsigned short const*, unsigned int)' +collect2: error: ld returned 1 exit status + +--- + .../src/main/native/Tools/DumpRenderTree/java/CMakeLists.txt | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/modules/web/src/main/native/Tools/DumpRenderTree/java/CMakeLists.txt b/modules/web/src/main/native/Tools/DumpRenderTree/java/CMakeLists.txt +index e2ce5ef..2ad3db7 100644 +--- a/modules/web/src/main/native/Tools/DumpRenderTree/java/CMakeLists.txt ++++ b/modules/web/src/main/native/Tools/DumpRenderTree/java/CMakeLists.txt +@@ -72,9 +72,5 @@ add_library(DumpRenderTreeJava SHARED ${DumpRenderTree_SOURCES}) + add_definitions(-DWEBCORE_EXPORT=WTF_IMPORT -DWEBCORE_TESTSUPPORT_EXPORT=WTF_IMPORT) + add_dependencies(DumpRenderTreeJava DumpRenderTreeBindings) + +-if (UNIX AND NOT APPLE) +- set_target_properties(DumpRenderTreeJava PROPERTIES LINK_FLAGS "-Wl,--no-undefined") +-endif () +- + set_target_properties(DumpRenderTreeJava PROPERTIES OUTPUT_NAME "DumpRenderTreeJava") + target_link_libraries(DumpRenderTreeJava ${DumpRenderTree_LIBRARIES}) +-- +2.26.2 -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v4 07/12] gnu: java-openjfx-build: Do not use an embedded 3rd party libraries. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 07 Jun 2020 15:57:02 +0000 Resent-Message-ID: <handler.41360.B41360.159154536730143 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159154536730143 (code B ref 41360); Sun, 07 Jun 2020 15:57:02 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:56:07 +0000 Received: from localhost ([127.0.0.1]:54710 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jhxeX-0007pz-ID for submit <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:56:07 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62725) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jhxe1-0007mj-MJ for 41360 <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:41 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 751039CFD1 for <41360 <at> debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:46 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 7 Jun 2020 17:55:13 +0200 Message-Id: <20200607155518.1400-8-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@HIDDEN> References: <20200607155518.1400-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch: New file. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/local.mk | 1 + gnu/packages/java.scm | 1 + ...-openjfx-build-web-OptionsJava.cmake.patch | 32 +++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 gnu/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch diff --git a/gnu/local.mk b/gnu/local.mk index f8a59da3da..71b2cf1d69 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1111,6 +1111,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-openjfx-build-jdk_version.patch \ %D%/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch \ %D%/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch \ + %D%/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d60ae7c8f1..8ce8043335 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2504,6 +2504,7 @@ new Date();")) (patches (search-patches "java-openjfx-build-jdk_version.patch" "java-openjfx-build-swing-JFXPanel-JDK8.patch" "java-openjfx-build-web-DumpRenderTree-java.patch" + "java-openjfx-build-web-OptionsJava.cmake.patch" )))) (build-system ant-build-system) (arguments diff --git a/gnu/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch b/gnu/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch new file mode 100644 index 0000000000..1f133571cb --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch @@ -0,0 +1,32 @@ +Subject: [PATCH] Use find_package. + +We remove all embedded 3rd-party libs like icu, libxml, libxslt and sqlite, +and use libraries provided via guix inputs. +--- + .../web/src/main/native/Source/cmake/OptionsJava.cmake | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/modules/web/src/main/native/Source/cmake/OptionsJava.cmake b/modules/web/src/main/native/Source/cmake/OptionsJava.cmake +index 76a6695..73c525b 100644 +--- a/modules/web/src/main/native/Source/cmake/OptionsJava.cmake ++++ b/modules/web/src/main/native/Source/cmake/OptionsJava.cmake +@@ -26,13 +26,11 @@ endif () + set(LIB_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBDIR}" CACHE PATH "Absolute path to library installation directory") + set(EXEC_INSTALL_DIR "${CMAKE_INSTALL_FULL_BINDIR}" CACHE PATH "Absolute path to executable installation directory") + +-set(SQLITE_LIBRARIES SqliteJava) +-set(LIBXML2_LIBRARIES XMLJava) +-set(LIBXSLT_LIBRARIES XSLTJava) + +-set(ICU_LIBRARIES icuuc icudata) +-set(ICU_I18N_LIBRARIES icui18n icuuc icudata) +-set(ICU_DATA_LIBRARIES icudata) ++find_package(Sqlite REQUIRED) ++find_package(LibXml2 REQUIRED) ++find_package(LibXslt REQUIRED) ++find_package(ICU REQUIRED) + + find_package(JNI REQUIRED) + find_package(Threads REQUIRED) +-- +2.26.2 -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v4 11/12] gnu: java-openjfx-build: Ensure use of system provided libraries. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 07 Jun 2020 15:57:02 +0000 Resent-Message-ID: <handler.41360.B41360.159154537030153 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159154537030153 (code B ref 41360); Sun, 07 Jun 2020 15:57:02 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:56:10 +0000 Received: from localhost ([127.0.0.1]:54712 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jhxeZ-0007q8-9g for submit <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:56:10 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62717) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jhxe4-0007mb-So for 41360 <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:41 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 31A5B9D0CE for <41360 <at> debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:47 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 7 Jun 2020 17:55:17 +0200 Message-Id: <20200607155518.1400-12-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@HIDDEN> References: <20200607155518.1400-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Delete source code of embedded 3rd party libraries. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index a17da610d2..1b6b494700 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2497,6 +2497,9 @@ new Date();")) '(begin ;; Delete included gradle jar (delete-file-recursively "gradle/wrapper") + ;; Delete source code of a ThirdParty libraries + (delete-file-recursively "modules/web/src/main/native/Source/ThirdParty") + (delete-file-recursively "modules/web/src/main/native/Source/PlatformJava.cmake") #t)) (sha256 (base32 -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v4 09/12] gnu: java-openjfx-build: Fix web component linkage. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 07 Jun 2020 15:57:03 +0000 Resent-Message-ID: <handler.41360.B41360.159154537130160 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159154537130160 (code B ref 41360); Sun, 07 Jun 2020 15:57:03 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:56:11 +0000 Received: from localhost ([127.0.0.1]:54714 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jhxec-0007qI-Qj for submit <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:56:11 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62743) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jhxe4-0007mt-9f for 41360 <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:41 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id CD2519D05B for <41360 <at> debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:46 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 7 Jun 2020 17:55:15 +0200 Message-Id: <20200607155518.1400-10-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@HIDDEN> References: <20200607155518.1400-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-web-WebKitCompilerFlags.cmake.patch: New file. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/local.mk | 1 + gnu/packages/java.scm | 1 + ...-build-web-WebKitCompilerFlags.cmake.patch | 36 +++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 gnu/packages/patches/java-openjfx-build-web-WebKitCompilerFlags.cmake.patch diff --git a/gnu/local.mk b/gnu/local.mk index d36636fd81..85f8db7150 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1113,6 +1113,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch \ %D%/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch \ %D%/packages/patches/java-openjfx-build-web-WTF.patch \ + %D%/packages/patches/java-openjfx-build-web-WebKitCompilerFlags.cmake.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index cf6135e926..5da1476077 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2506,6 +2506,7 @@ new Date();")) "java-openjfx-build-web-DumpRenderTree-java.patch" "java-openjfx-build-web-OptionsJava.cmake.patch" "java-openjfx-build-web-WTF.patch" + "java-openjfx-build-web-WebKitCompilerFlags.cmake.patch" )))) (build-system ant-build-system) (arguments diff --git a/gnu/packages/patches/java-openjfx-build-web-WebKitCompilerFlags.cmake.patch b/gnu/packages/patches/java-openjfx-build-web-WebKitCompilerFlags.cmake.patch new file mode 100644 index 0000000000..d0bbb7e3b2 --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-WebKitCompilerFlags.cmake.patch @@ -0,0 +1,36 @@ +Subject: [PATCH] Fix WebKit linkage. + +Somehow the whole linkage fails because of the TestRunner's undefined +references. However, I see the very same fixes in openjfx8-devel FreeBSD port, +even though they use gradle to build it. + +CMakeFiles/DumpRenderTreeJava.dir/__/TestRunner.cpp.o:TestRunner.cpp:function TestRunner::runUIScript(OpaqueJSContext const*, OpaqueJSString*, OpaqueJSValue const*): error: undefined reference to 'WTF::String::String(unsigned short const*, unsigned int)' +CMakeFiles/DumpRenderTreeJava.dir/__/__/TestRunnerShared/UIScriptContext/UIScriptContext.cpp.o:UIScriptContext.cpp:function WTR::UIScriptContext::tryToCompleteUIScriptForCurrentParentCallback(): error: undefined reference to 'WTF::String::String(unsigned short const*, unsigned int)' + +Some related bugs/commits are: +https://github.com/WebKit/webkit/commit/1e46377e47674363131299d54c8557734a99fb5f +https://bugs.webkit.org/show_bug.cgi?id=199625#c24 +https://bugs.webkit.org/show_bug.cgi?id=200074 + +--- + .../src/main/native/Source/cmake/WebKitCompilerFlags.cmake | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/modules/web/src/main/native/Source/cmake/WebKitCompilerFlags.cmake b/modules/web/src/main/native/Source/cmake/WebKitCompilerFlags.cmake +index 5bcf047..4526ee6 100644 +--- a/modules/web/src/main/native/Source/cmake/WebKitCompilerFlags.cmake ++++ b/modules/web/src/main/native/Source/cmake/WebKitCompilerFlags.cmake +@@ -176,11 +176,6 @@ if (NOT MSVC) + string(REGEX MATCHALL "-fsanitize=[^ ]*" ENABLED_COMPILER_SANITIZERS ${CMAKE_CXX_FLAGS}) + endif () + +-if (UNIX AND NOT APPLE AND NOT ENABLED_COMPILER_SANITIZERS) +- set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}") +-endif () +- +- + # CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS only matters with GCC >= 4.7.0. Since this + # version, -P does not output empty lines, which currently breaks make_names.pl in + # WebCore. Investigating whether make_names.pl should be changed instead is left as an exercise to +-- +2.26.2 -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v4 12/12] gnu: java-openjfx-web: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 07 Jun 2020 15:57:03 +0000 Resent-Message-ID: <handler.41360.B41360.159154537130168 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159154537130168 (code B ref 41360); Sun, 07 Jun 2020 15:57:03 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:56:11 +0000 Received: from localhost ([127.0.0.1]:54716 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jhxed-0007qP-5h for submit <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:56:11 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62745) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jhxe5-0007nA-6y for 41360 <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:42 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 59AE19D14A for <41360 <at> debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:47 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 7 Jun 2020 17:55:18 +0200 Message-Id: <20200607155518.1400-13-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@HIDDEN> References: <20200607155518.1400-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-web): New variable. We build not only the web component here, but webkit java port as well. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 175 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 1b6b494700..6922e51940 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018 Chris Marusich <cmmarusich@HIDDEN> ;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@HIDDEN> ;;; Copyright © 2019, 2020 Björn Höfling <bjoern.hoefling@HIDDEN> +;;; Copyright © 2020 Alexey Abramov <levenson@HIDDEN> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@HIDDEN> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@HIDDEN> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@HIDDEN> @@ -50,11 +51,13 @@ #:use-module (gnu packages cpio) #:use-module (gnu packages cups) #:use-module (gnu packages compression) + #:use-module (gnu packages cmake) #:use-module (gnu packages elf) #:use-module (gnu packages fontutils) #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) + #:use-module (gnu packages gperf) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms @@ -74,10 +77,13 @@ #:use-module (gnu packages wget) #:use-module (gnu packages pkg-config) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages popt) #:use-module (gnu packages kerberos) + #:use-module (gnu packages ruby) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) + #:use-module (gnu packages sqlite) #:use-module (gnu packages texinfo) #:use-module ((srfi srfi-1) #:select (fold alist-delete)) #:use-module (srfi srfi-11) @@ -3271,6 +3277,175 @@ modern, efficient, and fully featured toolkit for developing rich client applications. This package contains media-related classes for the OpenJFX distribution."))) +(define-public java-openjfx-web + (package (inherit java-openjfx-build) + (name "java-openjfx-web") + (arguments + `(#:jar-name "java-openjfx-web.jar" + #:source-dir (string-join '("modules/web/src/main/java" + "modules/web/src/main/native/Source/WebCore/bindings/java/dom3") + ";") + #:tests? #f + #:modules ((ice-9 match) + (guix build ant-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* _ + (invoke "ant" "compile" "-Dclasses.dir=modules/web/build/classes/java/main") + #t)) + + (add-after 'build 'generate-headers + ;; XX: We provide only software built from source, so let's build + ;; webkit as well. List of webkit classes can be found in + ;; build.gradle:2516. We need to generate headers for the upcoming + ;; compilation step first and put them in generated-src/headers + ;; location. + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/web/build/classes/java/main") + (web-generated-headers "modules/web/build/generated-src/headers") + (web-generated-classes '("com.sun.webkit.ContextMenu" + "com.sun.webkit.ContextMenuItem" + "com.sun.webkit.CursorManager" + "com.sun.webkit.PageCache" + "com.sun.webkit.PopupMenu" + "com.sun.webkit.SharedBuffer" + "com.sun.webkit.WebPage" + "com.sun.webkit.LoadListenerClient" + "com.sun.webkit.event.WCFocusEvent" + "com.sun.webkit.event.WCKeyEvent" + "com.sun.webkit.event.WCMouseEvent" + "com.sun.webkit.event.WCMouseWheelEvent" + "com.sun.webkit.graphics.GraphicsDecoder" + "com.sun.webkit.graphics.RenderMediaControls" + "com.sun.webkit.graphics.RenderTheme" + "com.sun.webkit.graphics.ScrollBarTheme" + "com.sun.webkit.graphics.WCMediaPlayer" + "com.sun.webkit.graphics.WCGraphicsManager" + "com.sun.webkit.graphics.WCRenderQueue" + "com.sun.webkit.graphics.WCPath" + "com.sun.webkit.graphics.WCPathIterator" + "com.sun.webkit.Timer" + "com.sun.webkit.WCFrameView" + "com.sun.webkit.WCPasteboard" + "com.sun.webkit.WCPluginWidget" + "com.sun.webkit.dom.CharacterDataImpl" + "com.sun.webkit.dom.JSObject" + "com.sun.webkit.network.SocketStreamHandle" + "com.sun.webkit.network.URLLoader" + "com.sun.webkit.text.TextBreakIterator" + "com.sun.webkit.text.TextNormalizer")) + (graphics (assoc-ref inputs "java-openjfx-graphics"))) + (mkdir-p web-generated-headers) + (apply invoke + "javah" + "-Djava.ext.dirs=" + "-XDignore.symbol.file" + "-XDuseUnsharedTable=true" + "-d" web-generated-headers + "-cp" (string-join (cons* classes (find-files graphics "\\.jar$")) ":") + web-generated-classes)) + #t)) + + (add-after 'generate-headers 'compile-native-linux + (lambda* (#:key inputs system outputs #:allow-other-keys) + (let* ((module (string-append (getcwd) "/modules/web")) + ;; + (webkit-native-dest (string-append module "/build/linux")) + (webkit-native-src (string-append module "/src/main/native")) + ;; + (lib (string-append (assoc-ref outputs "out") "/lib")) + ;; uname -m + (machine (match system + ("x86_64-linux" "x86_64") + ("i686-linux" "i686") + ;; Prevent errors when querying this + ;; package on unsupported platforms, + ;; e.g. when running "guix package + ;; --search=" + (_ "UNSUPPORTED")))) + + (setenv "PYTHONDONTWRITEBYTECODE" "1") + (setenv "WEBKIT_OUTPUTDIR" webkit-native-dest) + (apply invoke `("perl" + ,(string-append webkit-native-src "/Tools/Scripts/set-webkit-configuration") + ,(if ,(target-64bit?) "--64-bit" "--32-bit") + "--release")) + + (invoke "perl" + (string-append webkit-native-src "/Tools/Scripts/build-webkit") + "--java" ; webkit port + "--skip-library-update" + "--icu-unicode" + "--verbose" + (string-append + "--cmakeargs=" + (string-join + (list "-DENABLE_TOOLS=1" + "-DCMAKE_SYSTEM_NAME=Linux" + ;; Ensure that the libraries are installed into /lib + (string-append "-DCMAKE_INSTALL_LIBDIR=" lib) + ;; Add input libraries to rpath + "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" + ;; Enable verbose output from builds + "-DCMAKE_VERBOSE_MAKEFILE=ON" + (string-append "-DCMAKE_SHARED_LINKER_FLAGS=" + "\"-Wl,-rpath=" lib "\"") + (string-append "-DCMAKE_SYSTEM_PROCESSOR=" machine) + "-DJAVAFX_RELEASE_VERSION=8.0" + "-W" + "-Wall" + "-Werror=implicit-function-declaration" + "-Wl,--gc-sections" + "-Wno-parentheses" + "-Wno-unused" + "-fPIC" + "-fno-omit-frame-pointer" + "-fno-strict-aliasing" + "-fstack-protector"))))) + #t)) + + (add-after 'compile-native-linux 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$"))) + #t)) + + (add-before 'install 'build-jar + (lambda _ + (let* ((resources "modules/web/src/main/resources") + (classes "modules/web/build/classes/java/main")) + (copy-recursively resources classes) + (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) + #t))))) + + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core) + ("cmake" ,cmake) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("ruby" ,ruby) + ("perl" ,perl) + ("gperf" ,gperf) + ("python-2" ,python-2) + ("pkg-config" ,pkg-config))) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate) + ;; Webkit Java port dependencies + ("icu4c" ,icu4c) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("sqlite" ,sqlite))) + (propagated-inputs + `(("java-openjfx-controls" ,java-openjfx-controls) + ("java-openjfx-media" ,java-openjfx-media) + ("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public javacc-4 (package (name "javacc") -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v4 08/12] gnu: java-openjfx-build: Fix web component compilation with ICU 59+. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 07 Jun 2020 15:57:04 +0000 Resent-Message-ID: <handler.41360.B41360.159154537230175 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159154537230175 (code B ref 41360); Sun, 07 Jun 2020 15:57:04 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:56:12 +0000 Received: from localhost ([127.0.0.1]:54718 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jhxed-0007qX-MK for submit <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:56:11 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62729) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jhxe1-0007mk-QM for 41360 <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:42 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id A16219CFDD for <41360 <at> debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:46 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 7 Jun 2020 17:55:14 +0200 Message-Id: <20200607155518.1400-9-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@HIDDEN> References: <20200607155518.1400-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-web-WTF.patch: New file. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/local.mk | 1 + gnu/packages/java.scm | 1 + .../patches/java-openjfx-build-web-WTF.patch | 33 +++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 gnu/packages/patches/java-openjfx-build-web-WTF.patch diff --git a/gnu/local.mk b/gnu/local.mk index 71b2cf1d69..d36636fd81 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1112,6 +1112,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch \ %D%/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch \ %D%/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch \ + %D%/packages/patches/java-openjfx-build-web-WTF.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 8ce8043335..cf6135e926 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2505,6 +2505,7 @@ new Date();")) "java-openjfx-build-swing-JFXPanel-JDK8.patch" "java-openjfx-build-web-DumpRenderTree-java.patch" "java-openjfx-build-web-OptionsJava.cmake.patch" + "java-openjfx-build-web-WTF.patch" )))) (build-system ant-build-system) (arguments diff --git a/gnu/packages/patches/java-openjfx-build-web-WTF.patch b/gnu/packages/patches/java-openjfx-build-web-WTF.patch new file mode 100644 index 0000000000..5fa76449df --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-WTF.patch @@ -0,0 +1,33 @@ +Subject: [PATCH] Fix compilation against ICU 59+. + +ICU4C has moved to char16_t as the type for UTF-16 +http://site.icu-project.org/download/59 + +diff --git a/modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h b/modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h +index 0993aa6..e6ea131 100644 +--- a/modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h ++++ b/modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h +@@ -15,21 +15,6 @@ + + #define CharProp(p) com_sun_webkit_dom_CharacterDataImpl_##p + +-#if PLATFORM(JAVA) && OS(WINDOWS) +-typedef wchar_t UChar; +-#else +-typedef uint16_t UChar; +-#endif +- +-// #ifdef UChar32 +-// #undef UChar32 +-// #endif +- +-#ifndef __UMACHINE_H__ //XXX: recheck +-typedef uint32_t UChar32; +-#endif +- +-#define U_MASK(x) ((uint32_t)1<<(x)) + #define USE_FAST_PATH(c, fast, slow) ((c) <= 0x7F ? fast((char)c) : slow(c)) + + #define CHECK_PROPERTY(c, mask, isSet) \ +-- +2.26.2 -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v4 10/12] gnu: java-openjfx-build: Fix web component compilation with ICU 65+. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 07 Jun 2020 15:57:04 +0000 Resent-Message-ID: <handler.41360.B41360.159154538530193 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159154538530193 (code B ref 41360); Sun, 07 Jun 2020 15:57:04 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:56:25 +0000 Received: from localhost ([127.0.0.1]:54720 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jhxed-0007qe-VP for submit <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:56:24 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62744) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jhxe4-0007mu-9k for 41360 <at> debbugs.gnu.org; Sun, 07 Jun 2020 11:55:42 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 0569E9D066 for <41360 <at> debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:46 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> Date: Sun, 7 Jun 2020 17:55:16 +0200 Message-Id: <20200607155518.1400-11-levenson@HIDDEN> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@HIDDEN> References: <20200607155518.1400-1-levenson@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-web-icu.patch: New file. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/local.mk | 1 + gnu/packages/java.scm | 1 + .../patches/java-openjfx-build-web-icu.patch | 38 +++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 gnu/packages/patches/java-openjfx-build-web-icu.patch diff --git a/gnu/local.mk b/gnu/local.mk index 85f8db7150..40458ac9c4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1114,6 +1114,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch \ %D%/packages/patches/java-openjfx-build-web-WTF.patch \ %D%/packages/patches/java-openjfx-build-web-WebKitCompilerFlags.cmake.patch \ + %D%/packages/patches/java-openjfx-build-web-icu.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 5da1476077..a17da610d2 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2507,6 +2507,7 @@ new Date();")) "java-openjfx-build-web-OptionsJava.cmake.patch" "java-openjfx-build-web-WTF.patch" "java-openjfx-build-web-WebKitCompilerFlags.cmake.patch" + "java-openjfx-build-web-icu.patch" )))) (build-system ant-build-system) (arguments diff --git a/gnu/packages/patches/java-openjfx-build-web-icu.patch b/gnu/packages/patches/java-openjfx-build-web-icu.patch new file mode 100644 index 0000000000..3e5c4a770c --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-icu.patch @@ -0,0 +1,38 @@ +Subject: [PATCH] Fix compilateion with ICU. + +Regressed by https://github.com/unicode-org/icu/commit/480bec3ea652 + +--- + modules/web/src/main/native/Source/WebCore/dom/Document.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/modules/web/src/main/native/Source/WebCore/dom/Document.cpp b/modules/web/src/main/native/Source/WebCore/dom/Document.cpp +index ec30fb5..4b0ff9d 100644 +--- a/modules/web/src/main/native/Source/WebCore/dom/Document.cpp ++++ b/modules/web/src/main/native/Source/WebCore/dom/Document.cpp +@@ -4704,12 +4704,12 @@ static bool isValidNameNonASCII(const UChar* characters, unsigned length) + unsigned i = 0; + + UChar32 c; +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNameStart(c)) + return false; + + while (i < length) { +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNamePart(c)) + return false; + } +@@ -4769,7 +4769,7 @@ ExceptionOr<std::pair<AtomicString, AtomicString>> Document::parseQualifiedName( + + for (unsigned i = 0; i < length; ) { + UChar32 c; +- U16_NEXT(qualifiedName, i, length, c) ++ U16_NEXT(qualifiedName, i, length, c); + if (c == ':') { + if (sawColon) + return Exception { InvalidCharacterError }; +-- +2.26.2 -- 2.26.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH 09/12] gnu: java-openjfx-web: Add new variable. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 07 Jun 2020 16:26:01 +0000 Resent-Message-ID: <handler.41360.B41360.15915471249161 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Cc: 41360 <at> debbugs.gnu.org Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.15915471249161 (code B ref 41360); Sun, 07 Jun 2020 16:26:01 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 16:25:24 +0000 Received: from localhost ([127.0.0.1]:54782 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jhy6u-0002Nf-15 for submit <at> debbugs.gnu.org; Sun, 07 Jun 2020 12:25:24 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:54215) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jhy6r-0002NV-Oq for 41360 <at> debbugs.gnu.org; Sun, 07 Jun 2020 12:25:22 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 138B99CC35; Sun, 7 Jun 2020 15:54:34 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> In-Reply-To: <87v9k8kv7s.fsf@HIDDEN> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Wed, 03 Jun 2020 17:47:03 +0200") References: <20200517135138.1651512-1-levenson@HIDDEN> <20200517135138.1651512-9-levenson@HIDDEN> <87tv0668us.fsf@HIDDEN> <87wo4t1ie8.fsf@HIDDEN> <87v9k8kv7s.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) Date: Sun, 07 Jun 2020 18:25:18 +0200 Message-ID: <87img2c07l.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) True. I have sent a new series with fixes. This move allowed me to drop off gcc-5, and switch back to the current one. It is also shed some light on what should/could be investigated/done to make tests work. -- Alexey
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v4 01/12] gnu: java-openjfx-graphics: Implement a complete compilation. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Fri, 12 Jun 2020 16:13:02 +0000 Resent-Message-ID: <handler.41360.B41360.159197835228499 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov <levenson@HIDDEN> Cc: 41360 <at> debbugs.gnu.org, Julien Lepiller <julien@HIDDEN> Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159197835228499 (code B ref 41360); Fri, 12 Jun 2020 16:13:02 +0000 Received: (at 41360) by debbugs.gnu.org; 12 Jun 2020 16:12:32 +0000 Received: from localhost ([127.0.0.1]:40475 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jjmI9-0007PY-1G for submit <at> debbugs.gnu.org; Fri, 12 Jun 2020 12:12:32 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51478) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1jjmI6-0007PH-MJ for 41360 <at> debbugs.gnu.org; Fri, 12 Jun 2020 12:12:27 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:38453) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1jjmI0-0002CY-7v; Fri, 12 Jun 2020 12:12:20 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=55068 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1jjmHy-0004Tt-5l; Fri, 12 Jun 2020 12:12:19 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> References: <20200607155518.1400-1-levenson@HIDDEN> <20200607155518.1400-2-levenson@HIDDEN> Date: Fri, 12 Jun 2020 18:12:16 +0200 In-Reply-To: <20200607155518.1400-2-levenson@HIDDEN> (Alexey Abramov's message of "Sun, 7 Jun 2020 17:55:07 +0200") Message-ID: <87bllo5km7.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi Alexey, Alexey Abramov <levenson@HIDDEN> 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@HIDDEN> > --- > gnu/packages/java.scm | 642 +++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 634 insertions(+), 8 deletions(-) I guess it=E2=80=99s still =E2=80=9Csource=E2=80=9D, but that=E2=80=99s a l= ot of it. Do you think there are ways this could be factorized? I=E2=80=99m not sayi= ng 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. Current= ly I think you can remove =E2=80=9CXX=E2=80=9D, but description of what? Prob= ably 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 "CLASSPA= TH")) > + ":") > + "CompileJSL" > + "-i" prism-src > + "-o" prism-gen-src > + "-t" > + "-pkg" "com/sun/prism" > + "-d3d" > + "-es2" > + "-name" (list file))) Problem is we won=E2=80=99t know where those flags come from, right? Perha= ps there=E2=80=99s 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/c= lasses/jsl-compilers/decora") > + (decora-gen-src "modules/graphics/build/generated-s= rc/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 . "PerspectiveTran= sform") > + (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 . "CompileLinearCo= nvolve") > + (outputs . "-hw")] > + [(file-name . "LinearConvolveS= hadow") > + (generator . "CompileLinearCo= nvolve") > + (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=E2=80=99m concerned about maintainability. Julien, what are the prospects of getting Gradle in Guix? What are your thoughts here? Thanks, Ludo=E2=80=99.
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v4 01/12] gnu: java-openjfx-graphics: Implement a complete compilation. Resent-From: Alexey Abramov <levenson@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Thu, 18 Jun 2020 17:33:02 +0000 Resent-Message-ID: <handler.41360.B41360.159250153321528 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Cc: 41360 <at> debbugs.gnu.org, Julien Lepiller <julien@HIDDEN> Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.159250153321528 (code B ref 41360); Thu, 18 Jun 2020 17:33:02 +0000 Received: (at 41360) by debbugs.gnu.org; 18 Jun 2020 17:32:13 +0000 Received: from localhost ([127.0.0.1]:54295 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jlyOR-0005TW-1F for submit <at> debbugs.gnu.org; Thu, 18 Jun 2020 13:32:13 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:49587) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <levenson@HIDDEN>) id 1jlyOC-0005HM-Jm for 41360 <at> debbugs.gnu.org; Thu, 18 Jun 2020 13:32:01 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 9E6C29CE4E; Thu, 18 Jun 2020 17:00:59 +0000 (UTC) From: Alexey Abramov <levenson@HIDDEN> In-Reply-To: <87bllo5km7.fsf@HIDDEN> ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Fri, 12 Jun 2020 18:12:16 +0200") References: <20200607155518.1400-1-levenson@HIDDEN> <20200607155518.1400-2-levenson@HIDDEN> <87bllo5km7.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.91 (gnu/linux) Date: Thu, 18 Jun 2020 19:31:42 +0200 Message-ID: <87o8pgs2kh.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Ludovic, Please see an updated version of the java-openjfx-graphics in the attachmen= ts.=20 - Add yet another comment on top of the definition. - Remove "XX" part from the commit, and put it to the above comment. Ludovic Court=C3=A8s <ludo@HIDDEN> writes: > Hi Alexey, > > Alexey Abramov <levenson@HIDDEN> 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? Done. > So essentially all these phases and the unrolled and translated version > of what Gradle would do, right? Yes. Some of them are pretty straightforward, but others (like prism and sh= aders) are tricky. > >> Signed-off-by: Alexey Abramov <levenson@HIDDEN> >> --- >> gnu/packages/java.scm | 642 +++++++++++++++++++++++++++++++++++++++++- >> 1 file changed, 634 insertions(+), 8 deletions(-) > > I guess it=E2=80=99s still =E2=80=9Csource=E2=80=9D, but that=E2=80=99s a= lot of it. > > Do you think there are ways this could be factorized? I=E2=80=99m not sa= ying 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. I guess, In the beginning, I was trying to wrap those steps with some proce= dure/s, like the one gradle.build has, but when I was doing this, I realize= d that it might become more complicated, than just simple series of javah/j= avac/gcc/g++ steps. They all kinda look alike, but different. > >> + ;; XX: Description can be found in build.gradle:1429. Curren= tly > > I think you can remove =E2=80=9CXX=E2=80=9D, but description of what? Pr= obably a bit > more context would be fine. Done. > >> + (mkdir-p prism-gen-src) >> + (for-each (lambda (file) >> + (apply invoke "java" >> + "-cp" (string-join (list >> + ;; For CompileJ= SL >> + prism-compilers= -classes >> + ;; jsl files ar= e there >> + prism-src >> + (getenv "CLASSP= ATH")) >> + ":") >> + "CompileJSL" >> + "-i" prism-src >> + "-o" prism-gen-src >> + "-t" >> + "-pkg" "com/sun/prism" >> + "-d3d" >> + "-es2" >> + "-name" (list file))) > > Problem is we won=E2=80=99t know where those flags come from, right? Per= haps > there=E2=80=99s additional info the Gradle build files? gradle.build has no comments about that =3D(. This is what you can find on= top of the graphics module: // The graphics module is needed for any graphical JavaFX application. It r= equires the base module and includes the scene graph, layout, css, prism, w= indowing, etc. This is a fairly complicated module. There are many differen= t types of native components that all need to be compiled. I also put it above the java-openjfx-graphics definition. > >> + (add-after 'compile-decora-compilers 'generate-decora-shaders >> + (lambda _ >> + (let ((classes "modules/graphics/build/classes/java/main= ") >> + (decora-classes "modules/graphics/build/classes/js= l-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 . "PerspectiveTra= nsform") >> + (generator . "CompileJSL") >> + (outputs . "-all")] >> + [(file-name . "DisplacementMa= p") >> + (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 . "CompileLinearC= onvolve") >> + (outputs . "-hw")] >> + [(file-name . "LinearConvolve= Shadow") >> + (generator . "CompileLinearC= onvolve") >> + (outputs . "-hw")]))) > > We should at least have a comment explaining where that list comes from > and what it means. I put a big comment I found in gradle.build a little bit higher, before tho= se steps where we compile these generators. > I appreciate the huge amount of work you put into this, but I=E2=80=99m > concerned about maintainability. Thanks, I agree. These patches are also not complete. Ideally, javafx shoul= d provide a jfxrt.jar and users should not think about these modules at all= . We are half-way there. > Julien, what are the prospects of getting Gradle in Guix? What are your > thoughts here? That would be awesome to have (guix build-system gradle)! I was looking int= o this as well, and even found some links where I got an idea that "probabl= y" some older version of gradle could be build with ant. > Thanks, > Ludo=E2=80=99. -- Alexey --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-gnu-java-openjfx-graphics-Implement-a-complete-compi.patch Content-Transfer-Encoding: quoted-printable From f9a444680c9c1be2d75c021469cc265599130b65 Mon Sep 17 00:00:00 2001 From: Alexey Abramov <levenson@HIDDEN> Date: Sat, 22 Feb 2020 21:17:51 +0100 Subject: [PATCH v5 01/12] gnu: java-openjfx-graphics: Implement a complete compilation. * 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. Signed-off-by: Alexey Abramov <levenson@HIDDEN> --- gnu/packages/java.scm | 646 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 638 insertions(+), 8 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d5bc713c70..a0e7957c25 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -56,6 +56,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) + #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms #:use-module (gnu packages gnome) #:use-module (gnu packages groovy) @@ -2561,22 +2562,651 @@ modern, efficient, and fully featured toolkit for = developing rich client applications. This package contains base classes for the OpenJFX distribution."))) =20 +;; The graphics module is needed for any graphical JavaFX application. It +;; requires the base module and includes the scene graph, layout, css, pri= sm, +;; windowing, etc. This is a fairly complicated module. There are many +;; different types of native components that all need to be compiled. +;; +;; All the bellow steps were taken by inspecting build.gradel and ./gradl= ew build --info +;; result. (define-public java-openjfx-graphics (package (inherit java-openjfx-build) (name "java-openjfx-graphics") (arguments `(#:jar-name "java-openjfx-graphics.jar" #:source-dir "modules/graphics/src/main/java" - #:tests? #f; require X - #:test-dir "modules/graphics/src/test")) + #:tests? #f ; require X + #:test-dir "modules/graphics/src/test" + #:test-include (list "**/*Test.*") + #:modules ((guix build ant-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 regex) + (ice-9 match)) + #:phases + (let* ((jdk (assoc-ref %build-inputs "jdk")) + (javac/h-flags + '(;; When javac is compiling code it doesn't link + ;; against rt.jar by default. Instead it uses special + ;; symbol file lib/ct.sym with class stubs. + ;; Surprisingly this file contains many but not *all* + ;; of internal classes. + "-XDignore.symbol.file" + ;; It=E2=80=99s an internal option for JDK 1.7+ that prev= ents + ;; the compiler from sharing a table that will never + ;; be reused. When shared, it can=E2=80=99t be garbage + ;; collected, continues to accumulate data, and + ;; therefore wastes memory. + "-XDuseUnsharedTable=3Dtrue")) + (common-flags + '("-fno-strict-aliasing" "-fPIC" "-fno-omit-frame-pointer" = ;; optimization flags + "-fstack-protector" + "-W" "-Wall" "-Wno-unused" "-Wno-parentheses")) + (cc-flags + `(,@common-flags "-c" "-ffunction-sections" "-fdata-section= s" + "-I" ,(string-append jdk "/include") + "-I" ,(string-append jdk "/include/linux")= )) + (link-flags + `("-static-libgcc" "-static-libstdc++" "-shared" ,@common-f= lags + "-z" "relro" + "-Wl,--gc-sections")) + (java-aux-class? + (lambda (class) + (string-match "\\$[0-9]+\\.class" class))) + (java-list-classes + (lambda (path) + ;; For each .java file we need to figure out what + ;; class the .java file belongs in and convert it to a + ;; class name. + (filter-map + (lambda (class) + (let* ((rx (make-regexp (string-append path file-name-= separator-string "?"))) + (class (string-drop-right class (string-length = ".class"))) + (class (match:suffix (regexp-exec rx class)))) + (if (java-aux-class? class) + #f + (string-join (string-split class #\/) ".")))) + (find-files path "\\.class$"))))) + (modify-phases %standard-phases + + (replace 'build + (lambda _ + ;; Do not mix different classes. There will be more stuff i= n build/classes + (invoke "ant" "compile" "-Dclasses.dir=3Dmodules/graphics/b= uild/classes/java/main") + #t)) + + ;; The Decora and Prism JSL files have to be generated in a ver= y specific set of steps. + ;; 1) Compile the *Compile.java classes. These live in src= /main/jsl-* and will be + ;; output to $buildDir/classes/jsl-compilers/* (where *= =3D=3D decora or prism). + ;; 2) Generate source files from the JSL files contained i= n src/main/jsl-*. These + ;; will be output to $buildDir/generated-src/jsl-* + ;; 3) Compile the JSL Java sources in $buildDir/generated-= src/jsl-* and put the output + ;; into classes/jsl-* + ;; 4) Compile the native JSL sources in $buildDir/generate= d-src/jsl-* and put the obj + ;; files into native/jsl-* and the resulting library in= to libs/jsl-*.dll|so|dylib + ;; 5) Modify the jar step to include classes/jsl-* + ;; The native library must be copied over during SDK creation t= ime in the "sdk" task. In + ;; addition to these steps, the clean task is created. Note tha= t I didn't bother to create + ;; a new task for each of the decora files, preferring instead = just to create a rule?? Also + ;; need "clean" tasks for each compile task. + (add-after 'build 'compile-prism-compilers + (lambda _ + (let ((prism-compilers-classes "modules/graphics/build/clas= ses/jsl-compilers/prism") + (prism-src "modules/graphics/src/main/jsl-prism/")) + (mkdir-p prism-compilers-classes) + + (apply invoke "javac" "-d" prism-compilers-classes + (append javac/h-flags (find-files prism-src "\\.ja= va")))) + + #t)) + + (add-after 'compile-prism-compilers 'generate-prism-shaders + (lambda _ + (let ((prism-compilers-classes "modules/graphics/build/clas= ses/jsl-compilers/prism") + (prism-src "modules/graphics/src/main/jsl-prism/") + (prism-gen-src "modules/graphics/build/generated-src/= jsl-prism")) + (mkdir-p prism-gen-src) + (for-each (lambda (file) + (apply invoke "java" + "-cp" (string-join (list + ;; For CompileJSL + prism-compilers-cl= asses + ;; jsl files are t= here + prism-src + (getenv "CLASSPATH= ")) + ":") + "CompileJSL" + "-i" prism-src + "-o" prism-gen-src + "-t" + "-pkg" "com/sun/prism" + "-d3d" + "-es2" + "-name" (list file))) + (find-files prism-src "\\.jsl$"))) + #t)) + + (add-after 'generate-prism-shaders 'compile-prism-shaders + (lambda _ + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-classes "modules/graphics/build/classes/jsl-p= rism") + (prism-gen-src "modules/graphics/build/generated-src= /jsl-prism") + (prism-gen-shaders-src (string-append prism-gen-src = "/com/sun/prism/shader"))) + (mkdir-p prism-classes) + (apply invoke "javac" + "-d" prism-classes + "-cp" (string-append classes ":" (getenv "CLASSPAT= H")) + (append javac/h-flags (find-files prism-gen-shader= s-src)))) + #t)) + + (add-after 'compile-prism-shaders 'compile-decora-compilers + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-compilers-classes "modules/graphics/build/cla= sses/jsl-compilers/decora") + (decora-src "modules/graphics/src/main/jsl-decora/")) + (mkdir-p decora-compilers-classes) + (apply invoke "javac" + "-d" decora-compilers-classes + "-cp" (string-append classes ":" (getenv "CLASSPAT= H")) + (append javac/h-flags (find-files decora-src "\\.j= ava")))) + #t)) + + (add-after 'compile-decora-compilers 'generate-decora-shaders + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-classes "modules/graphics/build/classes/jsl-d= ecora/") + (decora-compilers-classes "modules/graphics/build/cla= sses/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 . "PerspectiveTransf= orm") + (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 . "CompileLinearConv= olve") + (outputs . "-hw")] + [(file-name . "LinearConvolveSha= dow") + (generator . "CompileLinearConv= olve") + (outputs . "-hw")]))) + (mkdir-p decora-gen-src) + (for-each (match-lambda + ((('file-name . file-name) + ('generator . generator) + ('outputs . outputs)) + (apply invoke "java" + "-cp" (string-join (cons* classes + decora-src + ;; CompileJ= SL + decora-comp= ilers-classes + decora-clas= ses + ;; We need = resources from the build + "buildSrc/s= rc/main/resources" + (list (gete= nv "CLASSPATH"))) + ":") + generator + "-i" decora-src + "-o" decora-gen-src + "-t" + "-pkg" "com/sun/scenario/effect" + outputs + (list file-name)))) + decora-components) + #t))) + + (add-after 'generate-decora-shaders 'compile-decora-shaders + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-classes "modules/graphics/build/classes/jsl-d= ecora/") + (decora-gen-src "modules/graphics/build/generated-src= /jsl-decora")) + (mkdir-p decora-classes) + (apply invoke "javac" + "-d" decora-classes + "-cp" classes + (append javac/h-flags (find-files decora-gen-src "= \\.java$")))) + #t)) + + (add-after 'compile-decora-shaders 'compile-decora-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (decora-gen-headers "modules/graphics/build/generate= d-src/headers/jsl-decora") + (decora-gen-src "modules/graphics/build/generated-sr= c/jsl-decora") + (decora-native-lib "modules/graphics/build/libs/jsl-= decora/linux/libdecora_sse.so") + (decora-native-obj "modules/graphics/build/native/js= l-decora/linux") + (decora-native-src "modules/graphics/src/main/native= -decora") + (decora-src "modules/graphics/src/main/jsl-decora/") + (decora-classes "modules/graphics/build/classes/jsl-= decora/") + (decora-cc-flags `(,@cc-flags "-ffast-math"))) + (mkdir-p decora-gen-headers) + (apply invoke "javah" + "-d" decora-gen-headers + "-cp" (string-join (list classes decora-classes) "= :") + (append javac/h-flags + (filter (cut string-prefix? "com.sun.scena= rio.effect.impl.sw.sse" <>) + (append (java-list-classes classes) + (java-list-classes decora-= classes))))) + (mkdir-p decora-native-obj) + (for-each (lambda (cc) + (apply invoke "gcc" + "-I" decora-gen-headers + "-I" decora-gen-src + "-I" decora-native-src + "-o" (string-append decora-native-obj = "/" (basename cc ".cc") ".obj") + (append decora-cc-flags (list cc)))) + (append (find-files decora-gen-src "\\.cc$") + (find-files decora-native-src "\\.cc$")= )) + (mkdir-p (dirname decora-native-lib)) + (apply invoke "g++" "-o" decora-native-lib + (append link-flags (find-files decora-native-obj "= \\.obj$")))) + #t)) + + (add-after 'compile-decora-native-lib 'compile-linux-font-nativ= e-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (font-gen-headers "modules/graphics/build/generated-= src/headers/font/linux") + (font-native-lib "modules/graphics/build/libs/font/l= inux/libjavafx_font.so") + (font-native-obj "modules/graphics/build/native/font= /linux") + (font-native-src "modules/graphics/src/main/native-f= ont") + ;; + (font-cc-flags `("-DJFXFONT_PLUS" ,@cc-flags))) + (mkdir-p font-gen-headers) + (apply invoke "javah" + "-d" font-gen-headers + "-cp" classes + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.jav= afx.font" class) + (string-prefix? "com.sun.jav= afx.text" class))) + (java-list-classes classes)))) + (mkdir-p font-native-obj) + (for-each (lambda (cc) + (apply invoke "gcc" + "-I" font-gen-headers + "-I" font-native-src + "-o" (string-append font-native-obj "/" + (basename cc ".c")= ".obj") + (append font-cc-flags (list cc)))) + (find-files font-native-src "\\.c$")) + (mkdir-p (dirname font-native-lib)) + (apply invoke "g++" + "-o" font-native-lib + (append link-flags + (find-files font-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-linux-font-native-lib 'compile-linux-font-f= reetype + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + ;; + (font-freetype-gen-headers "modules/graphics/build/g= enerated-src/headers/fontFreetype/linux") + (font-freetype-native-lib "modules/graphics/build/li= bs/fontFreetype/linux/libjavafx_font_freetype.so") + (font-freetype-native-obj "modules/graphics/build/na= tive/fontFreetype/linux") + (font-freetype-native-src "modules/graphics/src/main= /native-font/freetype.c") + (font-freetype-cc-flags `("-DJFXFONT_PLUS" "-D_ENABL= E_PANGO" + "$(pkg-config --cflags fre= etype2)" ,@cc-flags)) + (font-freetype-link-flags `("$(pkg-config --libs fre= etype2)" ,@link-flags))) + (mkdir-p font-freetype-gen-headers) + (apply invoke "javah" + "-d" font-freetype-gen-headers + "-cp" classes + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javaf= x.font.freetype.OSFreetype" <>) + (java-list-classes classes)))) + (mkdir-p font-freetype-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-freetype-cc-flags + "-I" ,font-freetype-gen-headers + "-I" ,(dirname font-freetype-nativ= e-src) + "-o" ,(string-append font-freetype= -native-obj "/" + (basename fon= t-freetype-native-src ".c") ".obj") + ,font-freetype-native-src))) + (mkdir-p (dirname font-freetype-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + "-o" ,font-freetype-native-lib + ,@font-freetype-link-flags + ,@(find-files font-freetype-native= -obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-font-freetype 'compile-linux-font-pan= go-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (font-pango-gen-headers "modules/graphics/build/gene= rated-src/headers/fontPango/linux") + (font-pango-native-lib "modules/graphics/build/libs/= fontPango/linux/libjavafx_font_pango.so") + (font-pango-native-obj "modules/graphics/build/nativ= e/fontPango/linux") + (font-pango-native-src "modules/graphics/src/main/na= tive-font/pango.c") + (font-pango-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_P= ANGO" + "$(pkg-config --cflags pangof= t2)" ,@cc-flags)) + (font-pango-link-flags `("$(pkg-config --libs pangof= t2)" ,@link-flags))) + (mkdir-p font-pango-gen-headers) + (apply invoke "javah" + "-d" font-pango-gen-headers + "-cp" classes + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javaf= x.font.freetype.OSPango" <>) + (java-list-classes classes)))) + (mkdir-p font-pango-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-pango-cc-flags + "-I" ,font-pango-gen-headers + "-I" ,(dirname font-pango-native-s= rc) + "-o" ,(string-append font-pango-na= tive-obj "/" + (basename fon= t-pango-native-src ".c") ".obj") + ,font-pango-native-src))) + (mkdir-p (dirname font-pango-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@font-pango-link-flags + "-o" ,font-pango-native-lib + ,@(find-files font-pango-native-ob= j "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-font-pango-lib 'compile-linux-glass-l= ib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + ;; glass + (glass-gen-headers "modules/graphics/build/generated= -src/headers/glass/linux") + (glass-native-lib "modules/graphics/build/libs/glass= /linux/libglass.so") + (glass-native-obj "modules/graphics/build/native/gla= ss/linux/glass") + (glass-native-src "modules/graphics/src/main/native-= glass/gtk/launcher.c") + (glass-cc-flags + `(,@cc-flags + "$(pkg-config --cflags glib-2.0 gdk-2.0 gtk+-2.0 = gthread-2.0 xtst)" + "-Werror")) + (glass-link-flags + `(,@link-flags "$(pkg-config --libs x11)" "-ldl")) + ;; glass-gtk2 + (gtk (assoc-ref inputs "gtk")) + (glass-gtk2-native-obj "modules/graphics/build/nativ= e/glass/linux/glassgtk2") + (glass-gtk2-native-src (dirname glass-native-src)) + (glass-gtk2-native-lib "modules/graphics/build/libs/= glass/linux/libglassgtk2.so") + (glass-gtk2-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-2.0 gthread-2.0 xtst)" + ;; XX: GTimeVal has been deprecated in GLIB since + ;; version 2.62. GTimeVal s not year-2038-safe. G= tk + ;; 2.24 uses GTimeVal so our build is also failin= g. + "-Wno-deprecated-declarations" + "-Werror")) + (glass-gtk2-link-flags + `(,@link-flags + "$(pkg-config --libs gtk+-2.0 gthread-2.0 xtst)")) + ;; glass-gtk3 + (gtk3 (assoc-ref inputs "gtk3")) + (glass-gtk3-native-obj "modules/graphics/build/nativ= e/glass/linux/glassgtk3") + (glass-gtk3-native-src (dirname glass-native-src)) + (glass-gtk3-native-lib "modules/graphics/build/libs/= glass/linux/libglassgtk3.so") + (glass-gtk3-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-3.0 gthread-2.0 xtst)" + "-Wno-deprecated-declarations" "-Werror")) + (glass-gtk3-link-flags + `(,@link-flags "$(pkg-config --libs gtk+-3.0 gthrea= d-2.0 xtst)"))) + ;; glass + (mkdir-p glass-gen-headers) + (apply invoke "javah" + "-d" glass-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPAT= H")) + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.gla= ss.events" class) + (string-prefix? "com.sun.gla= ss.ui.gtk" class) + (string-prefix? "com.sun.gla= ss.ui" class))) + (java-list-classes classes)))) + (mkdir-p glass-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-cc-flags + "-I" ,glass-gen-headers + "-I" ,(dirname glass-native-src) + "-o" ,(string-append glass-native-= obj "/" + (basename gla= ss-native-src ".c") ".obj") + ,glass-native-src))) + (mkdir-p (dirname glass-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-link-flags + "-o" ,glass-native-lib + ,@(find-files glass-native-obj "\\= .obj$")))) + ;; gtk2 + (mkdir-p glass-gtk2-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk2-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append g= lass-gtk2-native-obj "/" + (= basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk2-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk2-link-flags + "-o" ,glass-gtk2-native-lib + ,@(find-files glass-gtk2-native-ob= j "\\.obj$")))) + ;; gtk3 + (mkdir-p glass-gtk3-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk3-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append g= lass-gtk3-native-obj "/" + (= basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk3-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk3-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk3-link-flags + "-o" ,glass-gtk3-native-lib + ,@(find-files glass-gtk3-native-ob= j "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-glass-lib 'compile-linux-iio + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (iio-gen-headers "modules/graphics/build/generated-s= rc/headers/iio/linux") + (iio-native-lib "modules/graphics/build/libs/iio/lin= ux/libjavafx_iio.so") + (iio-native-obj "modules/graphics/build/native/iio/l= inux") + (iio-native-src "modules/graphics/src/main/native-ii= o") + (iio-cc-flags cc-flags) + (iio-link-flags link-flags)) + (mkdir-p iio-gen-headers) + (apply invoke "javah" + "-d" iio-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPAT= H")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javaf= x.iio" <>) + (java-list-classes classes)))) + (mkdir-p iio-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@iio-cc-flags + "-I" ,iio-gen-headers + "-o" ,(string-append i= io-native-obj "/" + (= basename c ".c") ".obj") + ,c)))) + (find-files iio-native-src "\\.c$")) + (mkdir-p (dirname iio-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@iio-link-flags + "-o" ,iio-native-lib + ,@(find-files iio-native-obj "\\.o= bj$")))) + #t))) + + (add-after 'compile-linux-iio 'compile-linux-prism + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-gen-headers "modules/graphics/build/generated= -src/headers/prism/linux") + (prism-native-lib "modules/graphics/build/libs/prism= /linux/libprism_common.so") + (prism-native-obj "modules/graphics/build/native/pri= sm/linux") + (prism-native-src "modules/graphics/src/main/native-= prism") + (prism-cc-flags `(,@cc-flags "-DINLINE=3Dinline")) + (prism-link-flags link-flags)) + (mkdir-p prism-gen-headers) + (apply invoke "javah" + "-d" prism-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPAT= H")) + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.pri= sm.impl" class) + (string-prefix? "com.sun.pri= sm.PresentableState" class))) + (java-list-classes classes)))) + (mkdir-p prism-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-cc-flags + "-I" ,prism-gen-headers + "-I" ,prism-native-src + "-o" ,(string-append p= rism-native-obj "/" + (= basename c ".c") ".obj") + ,c)))) + (find-files prism-native-obj "\\.c$")) + (mkdir-p (dirname prism-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-link-flags + "-o" ,prism-native-lib + ,@(find-files prism-native-obj "\\= .obj$")))) + #t))) + + (add-after 'compile-linux-prism 'compile-linux-prism-es2 + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-es2-gen-headers "modules/graphics/build/gener= ated-src/headers/prismES2/linux") + (prism-es2-native-lib "modules/graphics/build/libs/p= rism/linux/libprism_es2.so") + (prism-es2-native-obj "modules/graphics/build/native= /prismES2/linux") + (prism-es2-native-src "modules/graphics/src/main/nat= ive-prism-es2") + (prism-es2-cc-flags `("-DLINUX" ,@cc-flags)) + (prism-es2-link-flags + `(,@link-flags "$(pkg-config --libs x11 xxf86vm gl)= ")) + ;; We need all *.c files in the root and only those + ;; which are in a specific directories. + (filter-src + (lambda (abs _) + (or (regexp-exec (make-regexp (string-append pris= m-es2-native-src "[^/]*\\.c$")) + abs) + (regexp-exec (make-regexp (string-append pris= m-es2-native-src "(x11/|GL/)")) + abs))))) + (mkdir-p prism-es2-gen-headers) + (apply invoke "javah" + "-d" prism-es2-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPAT= H")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.prism= .es2" <>) + (java-list-classes classes)))) + (mkdir-p prism-es2-native-obj) + (for-each (lambda (c) + (apply invoke "gcc" + "-I" glass-native-src + "-I" prism-es2-gen-headers + "-I" prism-es2-native-src + "-I" (string-append prism-es2-native-s= rc "/GL") + "-I" (string-append prism-es2-native-s= rc "/x11") + "-o" (string-append prism-es2-native-o= bj "/" (basename c ".c") ".obj") + (append prism-es2-cc-flags (list c)))) + (find-files prism-es2-native-src filter-src)) + (mkdir-p (dirname prism-es2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-es2-link-flags + "-o" ,prism-es2-native-lib + ,@(find-files prism-es2-native-obj= "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism-es2 'compile-linux-prism-sw + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-sw-gen-headers "modules/graphics/build/genera= ted-src/headers/prismSW/linux") + (prism-sw-native-lib "modules/graphics/build/libs/pr= ism/linux/libprism_sw.so") + (prism-sw-native-obj "modules/graphics/build/native/= prismSW/linux") + (prism-sw-native-src "modules/graphics/src/main/nati= ve-prism-sw") + ;; + (prism-sw-cc-flags `(,@cc-flags "-DINLINE=3Dinline")) + (prism-sw-link-flags link-flags)) + (mkdir-p prism-sw-gen-headers) + (apply invoke "javah" + "-d" prism-sw-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPAT= H")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.pisce= s" <>) + (java-list-classes classes)))) + (mkdir-p prism-sw-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-sw-cc-flags + "-I" ,prism-sw-gen-hea= ders + "-I" ,prism-sw-native-= src + "-o" ,(string-append p= rism-sw-native-obj "/" + (= basename c ".c") ".obj") + ,c)))) + (find-files prism-sw-native-src "\\.c$")) + (mkdir-p (dirname prism-sw-native-lib)) + (apply invoke "g++" "-o" prism-sw-native-lib + (append prism-sw-link-flags (find-files prism-sw-n= ative-obj "\\.obj$"))) + #t))) + + (add-after 'compile-linux-prism-sw 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib")= )) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$")) + #t))) + + (add-after 'install-native 'build-jar + (lambda _ + (let* ((module (string-append "modules/graphics")) + (resources (string-append module "/src/main/resource= s")) + (classes (string-append module "/build/classes/java/= main"))) + (copy-recursively resources classes) + + (invoke "ant" "jar" (string-append "-Dclasses.dir=3D" cla= sses))) + #t)))))) + (native-inputs + `(("freetype" ,freetype) + ("fontconfig" ,fontconfig) + ("gcc" ,gcc) + ("glib" ,glib) + ("zlib" ,zlib) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("jpeg" ,libjpeg-turbo) + ("libxtst" ,libxtst) + ("pango" ,pango) + ("libpng" ,libpng) + ("pkg-config" ,pkg-config))) (propagated-inputs `(("java-openjfx-base" ,java-openjfx-base) - ("java-swt" ,java-swt))) - (description "OpenJFX is a client application platform for desktop, -mobile and embedded systems built on Java. Its goal is to produce a -modern, efficient, and fully featured toolkit for developing rich client -applications. This package contains graphics-related classes for the -OpenJFX distribution."))) + ("java-swt" ,java-swt))))) =20 (define-public java-openjfx-media (package (inherit java-openjfx-build) --=20 2.26.2 --=-=-=--
X-Loop: help-debbugs@HIDDEN Subject: [bug#41360] [PATCH v5] finalize java-openjfx packages References: <20200517132829.1553311-1-levenson@HIDDEN> In-Reply-To: <20200517132829.1553311-1-levenson@HIDDEN> Resent-From: Ioannis Kappas <ioannis.kappas@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 19 Jun 2022 19:27:02 +0000 Resent-Message-ID: <handler.41360.B41360.165566681020993 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360 <at> debbugs.gnu.org Cc: ludo@HIDDEN, julien@HIDDEN, levenson@HIDDEN Received: via spool by 41360-submit <at> debbugs.gnu.org id=B41360.165566681020993 (code B ref 41360); Sun, 19 Jun 2022 19:27:02 +0000 Received: (at 41360) by debbugs.gnu.org; 19 Jun 2022 19:26:50 +0000 Received: from localhost ([127.0.0.1]:53263 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1o30ZO-0005SX-16 for submit <at> debbugs.gnu.org; Sun, 19 Jun 2022 15:26:50 -0400 Received: from mail-vs1-f41.google.com ([209.85.217.41]:34406) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ioannis.kappas@HIDDEN>) id 1o30ZM-0005SG-5i for 41360 <at> debbugs.gnu.org; Sun, 19 Jun 2022 15:26:48 -0400 Received: by mail-vs1-f41.google.com with SMTP id l28so621452vsb.1 for <41360 <at> debbugs.gnu.org>; Sun, 19 Jun 2022 12:26:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to:cc; bh=VNJ2PEk+LTuG2uaCyNlF3XljgstxbtKXXIyF6QhHhyA=; b=EmkcQMC3pkuwPGIkn2u1MyZ6vcmCjQXatQgW0NfrS44paICp0drHDk59dP+V8WbnZI Q3IJnKWNfGI6zFQ7fjN7G46PATldhplTMBk4NPjzU3HfN0HS8ogrpcPDXfZzUyj4Y/AN qNhIunOhDXUqPRNfIo8K9iqejB1qYdgl6Bx2c5lhPEXjXaDHEYsBki6lb4efRg/30ELf KpSJ3SjRZvyAhA7FnTvEgEcPlh+5GWxc0mwfHcGVN8tSSGSaGvILVSehYVcEy+DAoL5O KAOrUf/CaY7iXLXG5SbGNm4R3SR+XANw+24pXylyx3HN1YNsYeNcMHVccTKk8PLGyh7k lHEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=VNJ2PEk+LTuG2uaCyNlF3XljgstxbtKXXIyF6QhHhyA=; b=udxWFNTaQotaH2An/T4p4sEAFB8AYiWN3qEeadbqPf9NFKJTb1g7l/F8d/XeB58qea zDvlU1XeasRi4R5xB5e1d0PEx4+OJ/khOw+2HIixsBQfF0e80KyNx3uXfQYju9ldWATO cZPfdqtKtx++zDa7uopHrsE5W0pCnBkXIqYrC/p7RachAUbAu50otDhpHcH7akhXYrYY VCb68k/tfJMq78a4bzMyBDMalxB2WsHzlw7GdLbgRgZ9p13FgT/1LBHMS47LlkVhC9yb xxDCyaA9CX59vBuLEjpdpXxfXpGCv5bNuRv17quzpo+AInNMNkvX6ZLMhfwhFi4WuuCm uQ1Q== X-Gm-Message-State: AJIora+Ze72ra8mSLvVorH9+ZKnwvlZTvbHlVseA4R0D1BCSERI0O92u UwWAYWXYiSEasiZO893K2xDNtDGRiZvGJBdJRWlo64mt4hY= X-Google-Smtp-Source: AGRyM1tvQGhgayXAV05+zrFcpCSZXuaS0CVqYkLU8QcfHZ+PST3v4bQ9b1TF9dDg6wEdbvLExboGKHzSEs/mlq0QEp8= X-Received: by 2002:a05:6102:f81:b0:354:3967:118a with SMTP id e1-20020a0561020f8100b003543967118amr55694vsv.67.1655666802598; Sun, 19 Jun 2022 12:26:42 -0700 (PDT) MIME-Version: 1.0 From: Ioannis Kappas <ioannis.kappas@HIDDEN> Date: Sun, 19 Jun 2022 20:26:32 +0100 Message-ID: <CAMRHuGCUsJDzk-LoHAA5d1fSESyb0Xjg6KUxk09HgUjHFS3W2Q@HIDDEN> Content-Type: multipart/mixed; boundary="000000000000a2c70305e1d1f7a3" X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> --000000000000a2c70305e1d1f7a3 Content-Type: text/plain; charset="UTF-8" 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 --000000000000a2c70305e1d1f7a3 Content-Type: application/octet-stream; name="0002-Fix-openjfx-build-issues-occuring-from-merge.patch" Content-Disposition: attachment; filename="0002-Fix-openjfx-build-issues-occuring-from-merge.patch" Content-Transfer-Encoding: base64 Content-ID: <f_l4lotphg1> X-Attachment-Id: f_l4lotphg1 RnJvbSBiZjk4NzhkNmEwMmQ3ODFiZGEyNDA0MzIwMTdiZjc2NTliNDJiZDc1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJb2FubmlzIEthcHBhcyA8aW9hbm5pcy5rYXBwYXNAZ21hbWls LmNvbT4KRGF0ZTogU2F0LCAxOCBKdW4gMjAyMiAxNDozOToxOCArMDEwMApTdWJqZWN0OiBbUEFU Q0ggdjUgMi8zXSBGaXggb3BlbmpmeCBidWlsZCBpc3N1ZXMgb2NjdXJpbmcgZnJvbSBtZXJnZQoK VGhpcyBpcyBiZWNhdXNlIHRoZSBndWl4IHN5bnRheCBvciBpbnB1dHMgaGF2ZSBjaGFuZ2VkL3Vw ZGF0ZWQgc2luY2UgQWxleGV5J3MKdjQgcGF0Y2guCi0tLQogZ251L3BhY2thZ2VzL2phdmEuc2Nt IHwgODggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxl IGNoYW5nZWQsIDY5IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2dudS9wYWNrYWdlcy9qYXZhLnNjbSBiL2dudS9wYWNrYWdlcy9qYXZhLnNjbQppbmRleCA1MTg1 OTY3OTYwLi44YWM1MDEyNTJjIDEwMDY0NAotLS0gYS9nbnUvcGFja2FnZXMvamF2YS5zY20KKysr IGIvZ251L3BhY2thZ2VzL2phdmEuc2NtCkBAIC0yNjIxLDggKzI2MjEsNyBAQCAoZGVmaW5lLXB1 YmxpYyBqYXZhLW9wZW5qZngtZ3JhcGhpY3MKICAgICAgICAgICAgICAgICAgIChpY2UtOSByZWdl eCkKICAgICAgICAgICAgICAgICAgIChpY2UtOSBtYXRjaCkpCiAgICAgICAgIzpwaGFzZXMKLSAg ICAgICAobGV0KiAoKGpkayAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImpkayIpKQotICAgICAg ICAgICAgICAoamF2YWMvaC1mbGFncworICAgICAgIChsZXQqICgoamF2YWMvaC1mbGFncwogICAg ICAgICAgICAgICAgJyg7OyBXaGVuIGphdmFjIGlzIGNvbXBpbGluZyBjb2RlIGl0IGRvZXNuJ3Qg bGluawogICAgICAgICAgICAgICAgICA7OyBhZ2FpbnN0IHJ0LmphciBieSBkZWZhdWx0LiBJbnN0 ZWFkIGl0IHVzZXMgc3BlY2lhbAogICAgICAgICAgICAgICAgICA7OyBzeW1ib2wgZmlsZSBsaWIv Y3Quc3ltIHdpdGggY2xhc3Mgc3R1YnMuCkBAIC0yNjM5LDEwICsyNjM4LDYgQEAgKGRlZmluZS1w dWJsaWMgamF2YS1vcGVuamZ4LWdyYXBoaWNzCiAgICAgICAgICAgICAgICAnKCItZm5vLXN0cmlj dC1hbGlhc2luZyIgIi1mUElDIiAiLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIiIDs7IG9wdGltaXph dGlvbiBmbGFncwogICAgICAgICAgICAgICAgICAiLWZzdGFjay1wcm90ZWN0b3IiCiAgICAgICAg ICAgICAgICAgICItVyIgIi1XYWxsIiAiLVduby11bnVzZWQiICItV25vLXBhcmVudGhlc2VzIikp Ci0gICAgICAgICAgICAgIChjYy1mbGFncwotICAgICAgICAgICAgICAgYCgsQGNvbW1vbi1mbGFn cyAiLWMiICItZmZ1bmN0aW9uLXNlY3Rpb25zIiAiLWZkYXRhLXNlY3Rpb25zIgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9pbmNsdWRl IikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsKHN0cmluZy1hcHBlbmQg amRrICIvaW5jbHVkZS9saW51eCIpKSkKICAgICAgICAgICAgICAgKGxpbmstZmxhZ3MKICAgICAg ICAgICAgICAgIGAoIi1zdGF0aWMtbGliZ2NjIiAiLXN0YXRpYy1saWJzdGRjKysiICItc2hhcmVk IiAsQGNvbW1vbi1mbGFncwogICAgICAgICAgICAgICAgICAiLXoiICJyZWxybyIKQEAgLTI4MzIs NiArMjgyNywxMSBAQCAoY2xhc3MgKG1hdGNoOnN1ZmZpeCAocmVnZXhwLWV4ZWMgcnggY2xhc3Mp KSkpCiAgICAgICAgICAgICAgICAgICAgICAgKGRlY29yYS1uYXRpdmUtc3JjICJtb2R1bGVzL2dy YXBoaWNzL3NyYy9tYWluL25hdGl2ZS1kZWNvcmEiKQogICAgICAgICAgICAgICAgICAgICAgIChk ZWNvcmEtc3JjICJtb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL2pzbC1kZWNvcmEvIikKICAgICAg ICAgICAgICAgICAgICAgICAoZGVjb3JhLWNsYXNzZXMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQv Y2xhc3Nlcy9qc2wtZGVjb3JhLyIpCisgICAgICAgICAgICAgICAgICAgICAgKGpkayAoYXNzb2Mt cmVmIGlucHV0cyAiamRrIikpCisgICAgICAgICAgICAgICAgICAgICAgKGNjLWZsYWdzCisgICAg ICAgICAgICAgICAgICAgICAgIGAoLEBjb21tb24tZmxhZ3MgIi1jIiAiLWZmdW5jdGlvbi1zZWN0 aW9ucyIgIi1mZGF0YS1zZWN0aW9ucyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9pbmNsdWRlIikKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9p bmNsdWRlL2xpbnV4IikpKQogICAgICAgICAgICAgICAgICAgICAgIChkZWNvcmEtY2MtZmxhZ3Mg YCgsQGNjLWZsYWdzICItZmZhc3QtbWF0aCIpKSkKICAgICAgICAgICAgICAgICAgKG1rZGlyLXAg ZGVjb3JhLWdlbi1oZWFkZXJzKQogICAgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJqYXZh aCIKQEAgLTI4NjQsNiArMjg2NCwxMSBAQCAoY2xhc3MgKG1hdGNoOnN1ZmZpeCAocmVnZXhwLWV4 ZWMgcnggY2xhc3MpKSkpCiAgICAgICAgICAgICAgICAgICAgICAgKGZvbnQtbmF0aXZlLW9iaiAi bW9kdWxlcy9ncmFwaGljcy9idWlsZC9uYXRpdmUvZm9udC9saW51eCIpCiAgICAgICAgICAgICAg ICAgICAgICAgKGZvbnQtbmF0aXZlLXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRp dmUtZm9udCIpCiAgICAgICAgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgICAgICAgICAg ICAoamRrIChhc3NvYy1yZWYgaW5wdXRzICJqZGsiKSkKKyAgICAgICAgICAgICAgICAgICAgICAo Y2MtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgYCgsQGNvbW1vbi1mbGFncyAiLWMiICIt ZmZ1bmN0aW9uLXNlY3Rpb25zIiAiLWZkYXRhLXNlY3Rpb25zIgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUi KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmct YXBwZW5kIGpkayAiL2luY2x1ZGUvbGludXgiKSkpCiAgICAgICAgICAgICAgICAgICAgICAgKGZv bnQtY2MtZmxhZ3MgYCgiLURKRlhGT05UX1BMVVMiICxAY2MtZmxhZ3MpKSkKICAgICAgICAgICAg ICAgICAgKG1rZGlyLXAgZm9udC1nZW4taGVhZGVycykKICAgICAgICAgICAgICAgICAgKGFwcGx5 IGludm9rZSAiamF2YWgiCkBAIC0yODk4LDYgKzI5MDMsMTEgQEAgKGNsYXNzIChtYXRjaDpzdWZm aXggKHJlZ2V4cC1leGVjIHJ4IGNsYXNzKSkpKQogICAgICAgICAgICAgICAgICAgICAgIChmb250 LWZyZWV0eXBlLW5hdGl2ZS1saWIgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbGlicy9mb250RnJl ZXR5cGUvbGludXgvbGliamF2YWZ4X2ZvbnRfZnJlZXR5cGUuc28iKQogICAgICAgICAgICAgICAg ICAgICAgIChmb250LWZyZWV0eXBlLW5hdGl2ZS1vYmogIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQv bmF0aXZlL2ZvbnRGcmVldHlwZS9saW51eCIpCiAgICAgICAgICAgICAgICAgICAgICAgKGZvbnQt ZnJlZXR5cGUtbmF0aXZlLXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRpdmUtZm9u dC9mcmVldHlwZS5jIikKKyAgICAgICAgICAgICAgICAgICAgICAoamRrIChhc3NvYy1yZWYgaW5w dXRzICJqZGsiKSkKKyAgICAgICAgICAgICAgICAgICAgICAoY2MtZmxhZ3MKKyAgICAgICAgICAg ICAgICAgICAgICAgYCgsQGNvbW1vbi1mbGFncyAiLWMiICItZmZ1bmN0aW9uLXNlY3Rpb25zIiAi LWZkYXRhLXNlY3Rpb25zIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUiKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUv bGludXgiKSkpCiAgICAgICAgICAgICAgICAgICAgICAgKGZvbnQtZnJlZXR5cGUtY2MtZmxhZ3Mg YCgiLURKRlhGT05UX1BMVVMiICItRF9FTkFCTEVfUEFOR08iCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0tY2ZsYWdzIGZyZWV0 eXBlMikiICxAY2MtZmxhZ3MpKQogICAgICAgICAgICAgICAgICAgICAgIChmb250LWZyZWV0eXBl LWxpbmstZmxhZ3MgYCgiJChwa2ctY29uZmlnIC0tbGlicyBmcmVldHlwZTIpIiAsQGxpbmstZmxh Z3MpKSkKQEAgLTI5MzIsNiArMjk0MiwxMSBAQCAoY2xhc3MgKG1hdGNoOnN1ZmZpeCAocmVnZXhw LWV4ZWMgcnggY2xhc3MpKSkpCiAgICAgICAgICAgICAgICAgICAgICAgKGZvbnQtcGFuZ28tbmF0 aXZlLWxpYiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9saWJzL2ZvbnRQYW5nby9saW51eC9saWJq YXZhZnhfZm9udF9wYW5nby5zbyIpCiAgICAgICAgICAgICAgICAgICAgICAgKGZvbnQtcGFuZ28t bmF0aXZlLW9iaiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9uYXRpdmUvZm9udFBhbmdvL2xpbnV4 IikKICAgICAgICAgICAgICAgICAgICAgICAoZm9udC1wYW5nby1uYXRpdmUtc3JjICJtb2R1bGVz L2dyYXBoaWNzL3NyYy9tYWluL25hdGl2ZS1mb250L3BhbmdvLmMiKQorICAgICAgICAgICAgICAg ICAgICAgIChqZGsgKGFzc29jLXJlZiBpbnB1dHMgImpkayIpKQorICAgICAgICAgICAgICAgICAg ICAgIChjYy1mbGFncworICAgICAgICAgICAgICAgICAgICAgICBgKCxAY29tbW9uLWZsYWdzICIt YyIgIi1mZnVuY3Rpb24tc2VjdGlvbnMiICItZmRhdGEtc2VjdGlvbnMiCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsKHN0cmluZy1hcHBlbmQgamRrICIvaW5j bHVkZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsKHN0 cmluZy1hcHBlbmQgamRrICIvaW5jbHVkZS9saW51eCIpKSkKICAgICAgICAgICAgICAgICAgICAg ICAoZm9udC1wYW5nby1jYy1mbGFncyBgKCItREpGWEZPTlRfUExVUyIgIi1EX0VOQUJMRV9QQU5H TyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIkKHBrZy1j b25maWcgLS1jZmxhZ3MgcGFuZ29mdDIpIiAsQGNjLWZsYWdzKSkKICAgICAgICAgICAgICAgICAg ICAgICAoZm9udC1wYW5nby1saW5rLWZsYWdzIGAoIiQocGtnLWNvbmZpZyAtLWxpYnMgcGFuZ29m dDIpIiAsQGxpbmstZmxhZ3MpKSkKQEAgLTI5NjcsMTAgKzI5ODIsMTcgQEAgKGNsYXNzIChtYXRj aDpzdWZmaXggKHJlZ2V4cC1leGVjIHJ4IGNsYXNzKSkpKQogICAgICAgICAgICAgICAgICAgICAg IChnbGFzcy1uYXRpdmUtbGliICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvZ2xhc3MvbGlu dXgvbGliZ2xhc3Muc28iKQogICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1uYXRpdmUtb2Jq ICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL25hdGl2ZS9nbGFzcy9saW51eC9nbGFzcyIpCiAgICAg ICAgICAgICAgICAgICAgICAgKGdsYXNzLW5hdGl2ZS1zcmMgIm1vZHVsZXMvZ3JhcGhpY3Mvc3Jj L21haW4vbmF0aXZlLWdsYXNzL2d0ay9sYXVuY2hlci5jIikKKyAgICAgICAgICAgICAgICAgICAg ICAoamRrIChhc3NvYy1yZWYgaW5wdXRzICJqZGsiKSkKKyAgICAgICAgICAgICAgICAgICAgICAo Y2MtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgYCgsQGNvbW1vbi1mbGFncyAiLWMiICIt ZmZ1bmN0aW9uLXNlY3Rpb25zIiAiLWZkYXRhLXNlY3Rpb25zIgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUi KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmct YXBwZW5kIGpkayAiL2luY2x1ZGUvbGludXgiKSkpCiAgICAgICAgICAgICAgICAgICAgICAgKGds YXNzLWNjLWZsYWdzCiAgICAgICAgICAgICAgICAgICAgICAgIGAoLEBjYy1mbGFncwogICAgICAg ICAgICAgICAgICAgICAgICAgICIkKHBrZy1jb25maWcgLS1jZmxhZ3MgZ2xpYi0yLjAgZ2RrLTIu MCBndGsrLTIuMCBndGhyZWFkLTIuMCB4dHN0KSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAi LVdlcnJvciIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICItV2Vycm9yIgorICAgICAgICAg ICAgICAgICAgICAgICAgICItV25vLWNhc3QtZnVuY3Rpb24tdHlwZSIKKyAgICAgICAgICAgICAg ICAgICAgICAgICApKQogICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1saW5rLWZsYWdzCiAg ICAgICAgICAgICAgICAgICAgICAgIGAoLEBsaW5rLWZsYWdzICIkKHBrZy1jb25maWcgLS1saWJz IHgxMSkiICItbGRsIikpCiAgICAgICAgICAgICAgICAgICAgICAgOzsgZ2xhc3MtZ3RrMgpAQCAt Mjk4NSw3ICszMDA3LDkgQEAgKGNsYXNzIChtYXRjaDpzdWZmaXggKHJlZ2V4cC1leGVjIHJ4IGNs YXNzKSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgIDs7IHZlcnNpb24gMi42Mi4gR1RpbWVW YWwgcyBub3QgeWVhci0yMDM4LXNhZmUuIEd0awogICAgICAgICAgICAgICAgICAgICAgICAgIDs7 IDIuMjQgdXNlcyBHVGltZVZhbCBzbyBvdXIgYnVpbGQgaXMgYWxzbyBmYWlsaW5nLgogICAgICAg ICAgICAgICAgICAgICAgICAgICItV25vLWRlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgotICAgICAg ICAgICAgICAgICAgICAgICAgICItV2Vycm9yIikpCisgICAgICAgICAgICAgICAgICAgICAgICAg Ii1XZXJyb3IiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi1Xbm8tY2FzdC1mdW5jdGlvbi10 eXBlIgorICAgICAgICAgICAgICAgICAgICAgICAgICkpCiAgICAgICAgICAgICAgICAgICAgICAg KGdsYXNzLWd0azItbGluay1mbGFncwogICAgICAgICAgICAgICAgICAgICAgICBgKCxAbGluay1m bGFncwogICAgICAgICAgICAgICAgICAgICAgICAgICIkKHBrZy1jb25maWcgLS1saWJzIGd0ayst Mi4wIGd0aHJlYWQtMi4wIHh0c3QpIikpCkBAIC0yOTk3LDcgKzMwMjEsOSBAQCAoY2xhc3MgKG1h dGNoOnN1ZmZpeCAocmVnZXhwLWV4ZWMgcnggY2xhc3MpKSkpCiAgICAgICAgICAgICAgICAgICAg ICAgKGdsYXNzLWd0azMtY2MtZmxhZ3MKICAgICAgICAgICAgICAgICAgICAgICAgYCgsQGNjLWZs YWdzCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiQocGtnLWNvbmZpZyAtLWNmbGFncyBndGsr LTMuMCBndGhyZWFkLTIuMCB4dHN0KSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAiLVduby1k ZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIgIi1XZXJyb3IiKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAiLVduby1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIgIi1XZXJyb3IiCisgICAgICAgICAg ICAgICAgICAgICAgICAgIi1Xbm8tY2FzdC1mdW5jdGlvbi10eXBlIgorICAgICAgICAgICAgICAg ICAgICAgICAgICkpCiAgICAgICAgICAgICAgICAgICAgICAgKGdsYXNzLWd0azMtbGluay1mbGFn cwogICAgICAgICAgICAgICAgICAgICAgICBgKCxAbGluay1mbGFncyAiJChwa2ctY29uZmlnIC0t bGlicyBndGsrLTMuMCBndGhyZWFkLTIuMCB4dHN0KSIpKSkKICAgICAgICAgICAgICAgICAgOzsg Z2xhc3MKQEAgLTMwNjksNiArMzA5NSwxMSBAQCAoY2xhc3MgKG1hdGNoOnN1ZmZpeCAocmVnZXhw LWV4ZWMgcnggY2xhc3MpKSkpCiAgICAgICAgICAgICAgICAgICAgICAgKGlpby1uYXRpdmUtbGli ICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvaWlvL2xpbnV4L2xpYmphdmFmeF9paW8uc28i KQogICAgICAgICAgICAgICAgICAgICAgIChpaW8tbmF0aXZlLW9iaiAibW9kdWxlcy9ncmFwaGlj cy9idWlsZC9uYXRpdmUvaWlvL2xpbnV4IikKICAgICAgICAgICAgICAgICAgICAgICAoaWlvLW5h dGl2ZS1zcmMgIm1vZHVsZXMvZ3JhcGhpY3Mvc3JjL21haW4vbmF0aXZlLWlpbyIpCisgICAgICAg ICAgICAgICAgICAgICAgKGpkayAoYXNzb2MtcmVmIGlucHV0cyAiamRrIikpCisgICAgICAgICAg ICAgICAgICAgICAgKGNjLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgIGAoLEBjb21tb24t ZmxhZ3MgIi1jIiAiLWZmdW5jdGlvbi1zZWN0aW9ucyIgIi1mZGF0YS1zZWN0aW9ucyIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBq ZGsgIi9pbmNsdWRlIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi LUkiICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9pbmNsdWRlL2xpbnV4IikpKQogICAgICAgICAgICAg ICAgICAgICAgIChpaW8tY2MtZmxhZ3MgY2MtZmxhZ3MpCiAgICAgICAgICAgICAgICAgICAgICAg KGlpby1saW5rLWZsYWdzIGxpbmstZmxhZ3MpKQogICAgICAgICAgICAgICAgICAobWtkaXItcCBp aW8tZ2VuLWhlYWRlcnMpCkBAIC0zMTAzLDYgKzMxMzQsMTEgQEAgKGNsYXNzIChtYXRjaDpzdWZm aXggKHJlZ2V4cC1leGVjIHJ4IGNsYXNzKSkpKQogICAgICAgICAgICAgICAgICAgICAgIChwcmlz bS1uYXRpdmUtbGliICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvcHJpc20vbGludXgvbGli cHJpc21fY29tbW9uLnNvIikKICAgICAgICAgICAgICAgICAgICAgICAocHJpc20tbmF0aXZlLW9i aiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9uYXRpdmUvcHJpc20vbGludXgiKQogICAgICAgICAg ICAgICAgICAgICAgIChwcmlzbS1uYXRpdmUtc3JjICJtb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWlu L25hdGl2ZS1wcmlzbSIpCisgICAgICAgICAgICAgICAgICAgICAgKGpkayAoYXNzb2MtcmVmIGlu cHV0cyAiamRrIikpCisgICAgICAgICAgICAgICAgICAgICAgKGNjLWZsYWdzCisgICAgICAgICAg ICAgICAgICAgICAgIGAoLEBjb21tb24tZmxhZ3MgIi1jIiAiLWZmdW5jdGlvbi1zZWN0aW9ucyIg Ii1mZGF0YS1zZWN0aW9ucyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiLUkiICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9pbmNsdWRlIikKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9pbmNsdWRl L2xpbnV4IikpKQogICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1jYy1mbGFncyBgKCxAY2Mt ZmxhZ3MgIi1ESU5MSU5FPWlubGluZSIpKQogICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1s aW5rLWZsYWdzIGxpbmstZmxhZ3MpKQogICAgICAgICAgICAgICAgICAobWtkaXItcCBwcmlzbS1n ZW4taGVhZGVycykKQEAgLTMxNDAsNiArMzE3NiwxMSBAQCAoY2xhc3MgKG1hdGNoOnN1ZmZpeCAo cmVnZXhwLWV4ZWMgcnggY2xhc3MpKSkpCiAgICAgICAgICAgICAgICAgICAgICAgKHByaXNtLWVz Mi1uYXRpdmUtbGliICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvcHJpc20vbGludXgvbGli cHJpc21fZXMyLnNvIikKICAgICAgICAgICAgICAgICAgICAgICAocHJpc20tZXMyLW5hdGl2ZS1v YmogIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbmF0aXZlL3ByaXNtRVMyL2xpbnV4IikKICAgICAg ICAgICAgICAgICAgICAgICAocHJpc20tZXMyLW5hdGl2ZS1zcmMgIm1vZHVsZXMvZ3JhcGhpY3Mv c3JjL21haW4vbmF0aXZlLXByaXNtLWVzMiIpCisgICAgICAgICAgICAgICAgICAgICAgKGpkayAo YXNzb2MtcmVmIGlucHV0cyAiamRrIikpCisgICAgICAgICAgICAgICAgICAgICAgKGNjLWZsYWdz CisgICAgICAgICAgICAgICAgICAgICAgIGAoLEBjb21tb24tZmxhZ3MgIi1jIiAiLWZmdW5jdGlv bi1zZWN0aW9ucyIgIi1mZGF0YS1zZWN0aW9ucyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9pbmNsdWRlIikKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBq ZGsgIi9pbmNsdWRlL2xpbnV4IikpKQogICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1lczIt Y2MtZmxhZ3MgYCgiLURMSU5VWCIgLEBjYy1mbGFncykpCiAgICAgICAgICAgICAgICAgICAgICAg KHByaXNtLWVzMi1saW5rLWZsYWdzCiAgICAgICAgICAgICAgICAgICAgICAgIGAoLEBsaW5rLWZs YWdzICIkKHBrZy1jb25maWcgLS1saWJzIHgxMSB4eGY4NnZtIGdsKSIpKQpAQCAtMzE4NCw2ICsz MjI1LDExIEBAIChjbGFzcyAobWF0Y2g6c3VmZml4IChyZWdleHAtZXhlYyByeCBjbGFzcykpKSkK ICAgICAgICAgICAgICAgICAgICAgICAocHJpc20tc3ctbmF0aXZlLWxpYiAibW9kdWxlcy9ncmFw aGljcy9idWlsZC9saWJzL3ByaXNtL2xpbnV4L2xpYnByaXNtX3N3LnNvIikKICAgICAgICAgICAg ICAgICAgICAgICAocHJpc20tc3ctbmF0aXZlLW9iaiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9u YXRpdmUvcHJpc21TVy9saW51eCIpCiAgICAgICAgICAgICAgICAgICAgICAgKHByaXNtLXN3LW5h dGl2ZS1zcmMgIm1vZHVsZXMvZ3JhcGhpY3Mvc3JjL21haW4vbmF0aXZlLXByaXNtLXN3IikKKyAg ICAgICAgICAgICAgICAgICAgICAoamRrIChhc3NvYy1yZWYgaW5wdXRzICJqZGsiKSkKKyAgICAg ICAgICAgICAgICAgICAgICAoY2MtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgYCgsQGNv bW1vbi1mbGFncyAiLWMiICItZmZ1bmN0aW9uLXNlY3Rpb25zIiAiLWZkYXRhLXNlY3Rpb25zIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmctYXBw ZW5kIGpkayAiL2luY2x1ZGUiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUvbGludXgiKSkpCiAgICAgICAg ICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICAgICAocHJpc20tc3ctY2MtZmxh Z3MgYCgsQGNjLWZsYWdzICItRElOTElORT1pbmxpbmUiKSkKICAgICAgICAgICAgICAgICAgICAg ICAocHJpc20tc3ctbGluay1mbGFncyBsaW5rLWZsYWdzKSkKQEAgLTM0MTgsMTYgKzM0NjQsMjAg QEAgKGRlZmluZS1wdWJsaWMgamF2YS1vcGVuamZ4LXdlYgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJcIi1XbCwtcnBhdGg9IiBsaWIgIlwiIikKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiLURDTUFLRV9TWVNURU1f UFJPQ0VTU09SPSIgbWFjaGluZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLURK QVZBRlhfUkVMRUFTRV9WRVJTSU9OPTguMCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiLVciCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1XYWxsIgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICItV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0 aW9uIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItV2wsLS1nYy1zZWN0aW9ucyIK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLVduby1wYXJlbnRoZXNlcyIKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiLVduby11bnVzZWQiCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIi1mUElDIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt Zm5vLW9taXQtZnJhbWUtcG9pbnRlciIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi LWZuby1zdHJpY3QtYWxpYXNpbmciCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1m c3RhY2stcHJvdGVjdG9yIikpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1E Q01BS0VfQ1hYX0ZMQUdTPVwiIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJp bmctam9pbiAobGlzdCAiLVciCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICItRFVfREVGSU5FX0ZBTFNFX0FORF9UUlVFPTEiCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItV2FsbCIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1XZXJyb3I9aW1wbGljaXQt ZnVuY3Rpb24tZGVjbGFyYXRpb24iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICItV2wsLS1nYy1zZWN0aW9ucyIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1Xbm8tcGFyZW50aGVzZXMiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItV25vLXVudXNlZCIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1mUElD IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLWZu by1vbWl0LWZyYW1lLXBvaW50ZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICItZm5vLXN0cmljdC1hbGlhc2luZyIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1mc3RhY2stcHJvdGVjdG9yIikKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAiKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJcIiIpKSkpKQogICAgICAgICAgICAgICN0KSkKIAogICAg ICAgICAgKGFkZC1hZnRlciAnY29tcGlsZS1uYXRpdmUtbGludXggJ2luc3RhbGwtbmF0aXZlCi0t IAoyLjM0LjAKCg== --000000000000a2c70305e1d1f7a3 Content-Type: application/octet-stream; name="0003-Finalize-openjfx-libraries.patch" Content-Disposition: attachment; filename="0003-Finalize-openjfx-libraries.patch" Content-Transfer-Encoding: base64 Content-ID: <f_l4lotpho2> X-Attachment-Id: f_l4lotpho2 RnJvbSAwYjZjNzU2ZmM0NGZjZGEzMDNjZjEyNjhhOWVmYTY0ZjkzNjcyNGFkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJb2FubmlzIEthcHBhcyA8aW9hbm5pcy5rYXBwYXNAZ21hbWls LmNvbT4KRGF0ZTogU3VuLCAxOSBKdW4gMjAyMiAwOTo0NDoyNiArMDEwMApTdWJqZWN0OiBbUEFU Q0ggdjUgMy8zXSBGaW5hbGl6ZSBvcGVuamZ4IGxpYnJhcmllcwoKKiBqYXZhLW9wZW5qZngtZ3Jh cGhpY3MKICAxLiBOb3JtYWxpemUgaW5wdXRzLCBvbmx5IGJ1aWxkIGFnYWluc3QgZ3RrLTIuMC4K ICAyLiBPdXRwdXQgbmF0aXZlIGxpYnMgdG8gb3BlbmpmeCBzdGFuZGFyZCBzaGFyZS9hbWQ2NCBk aXIuCiAgMy4gRG8gbm90IGJ1aWxkIGxpYmpwZWcgZnJvbSBzb3VyY2UsIGJ1dCByYXRoZXIgdXNl IGNvcnJlc3BvbmRpbmcKICAgICBwYWNrYWdlLgogIDQuIFJ1biBhbGwgdGVzdHMuCiogamF2YS1v cGVuamZ4LWNvbnRyb2xzCiAgMS4gUnVuIGFsbCB0ZXN0cy4KICAyLiBGaXggamF2YS1vcGVuamZ4 LWdyYXBoaWNzIG5hbWUgdHlwby4KKiBqYXZhLW9wZW5qZngtbWVkaWEKICAxLiBCdWlsZCBhZ2Fp bnN0IGdzdHJlYW1lci4KICAyLiBDb21waWxlIG5hdGl2ZSBsaWJyYXJ5IGFuZCBtb2RpZnkgbG9h ZGVyIHRvIGxvYWQgaXQgZGlyZWN0bHkgZnJvbQogICAgIHRoZSBzdG9yZSBwYXRoLgoqIGphdmEt b3BlbmpmeC13ZWIKICAxLiBJbmNsdWRlIHZlcnNpb24uCiAgMi4gTW9kaWZ5IGxvYWRlciB0byBs b2FkIG5hdGl2ZSB3ZWIga2l0IGxpYiBkaXJlY3RseSBmcm9tIHRoZSBzdG9yZS4KICAzLiBGaXgg YSBmYWlsaW5nIHRlc3QsIGJ5IGFwcGx5aW5nIG5ldwogICAgIGphdmEtb3BlbmpmeC1idWlsZC13 ZWItanMtdGVzdC5wYXRjaCBhcyBwaWNrZWQgdXAgZnJvbSBhIGxhdGVyCiAgICAgb3BlbmpmeCBy ZXZpc2lvbiBzb3VyY2UgY29kZSByZXZpc2lvbiwgdG8gZml4IGEgZmFpbGluZyB0ZXN0LgogIDQu IFJ1biBhbGwgdGVzdHMuCiogamF2YS1zd3QKICAxLiBNb2RpZnkgbG9hZGVyIHRvIGxvYWQgbmF0 aXZlIGxpYnJhcnkgZGlyZWN0bHkgZnJvbSB0aGUgZ251L3N0b3JlCiAgICAgcGF0aCBpZiBpdCBj YW4ndCBiZSBmb3VuZCBvdGhlcndpc2UuIFRoaXMgaXMgcmVxdWlyZWQgZm9yCiAgICAgc2VhbWxl c3NseSBsb2FkaW5nIGphdmEtc3d0IGFzIGFuIGlucHV0LgotLS0KIGdudS9sb2NhbC5tayAgICAg ICAgICB8ICAgMSArCiBnbnUvcGFja2FnZXMvamF2YS5zY20gfCA0ODIgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDM5OSBpbnNlcnRp b25zKCspLCA4NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nbnUvbG9jYWwubWsgYi9nbnUv bG9jYWwubWsKaW5kZXggOWI5ODJjNDJkYi4uMjljM2Y3NTBhYSAxMDA2NDQKLS0tIGEvZ251L2xv Y2FsLm1rCisrKyBiL2dudS9sb2NhbC5tawpAQCAtMTMyNyw2ICsxMzI3LDcgQEAgZGlzdF9wYXRj aF9EQVRBID0JCQkJCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWls ZC13ZWItV1RGLnBhdGNoCQkJXAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngt YnVpbGQtd2ViLVdlYktpdENvbXBpbGVyRmxhZ3MuY21ha2UucGF0Y2gJXAogICAlRCUvcGFja2Fn ZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLWljdS5wYXRjaAkJCVwKKyAgJUQlL3Bh Y2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1qcy10ZXN0LnBhdGNoICAgICBc CiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtcG93ZXJtb2NrLWZpeC1qYXZhLWZpbGVzLnBh dGNoCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtc2ltcGxlLXhtbC1maXgtdGVzdHMu cGF0Y2gJCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvamF2YS1zdmctc2FsYW1hbmRlci1GaXgt bm9uLWRldC5wYXRjaAlcCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvamF2YS5zY20gYi9nbnUv cGFja2FnZXMvamF2YS5zY20KaW5kZXggOGFjNTAxMjUyYy4uNTk0MGRmMDE4YiAxMDA2NDQKLS0t IGEvZ251L3BhY2thZ2VzL2phdmEuc2NtCisrKyBiL2dudS9wYWNrYWdlcy9qYXZhLnNjbQpAQCAt NzIsNiArNzIsNyBAQCAoZGVmaW5lLW1vZHVsZSAoZ251IHBhY2thZ2VzIGphdmEpCiAgICM6dXNl LW1vZHVsZSAoZ251IHBhY2thZ2VzIGdob3N0c2NyaXB0KSA7bGNtcwogICAjOnVzZS1tb2R1bGUg KGdudSBwYWNrYWdlcyBnbm9tZSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ3Jvb3Z5 KQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBnc3RyZWFtZXIpCiAgICM6dXNlLW1vZHVs ZSAoZ251IHBhY2thZ2VzIGd0aykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ3VpbGUp CiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGljdTRjKQpAQCAtMjUyNyw2ICsyNTI4LDcg QEAgKGRlZmluZS1wdWJsaWMgamF2YS1vcGVuamZ4LWJ1aWxkCiAgICAgICAgICAgICAgICAgICA7 OyBEZWxldGUgc291cmNlIGNvZGUgb2YgYSBUaGlyZFBhcnR5IGxpYnJhcmllcwogICAgICAgICAg ICAgICAgICAgKGRlbGV0ZS1maWxlLXJlY3Vyc2l2ZWx5ICJtb2R1bGVzL3dlYi9zcmMvbWFpbi9u YXRpdmUvU291cmNlL1RoaXJkUGFydHkiKQogICAgICAgICAgICAgICAgICAgKGRlbGV0ZS1maWxl LXJlY3Vyc2l2ZWx5ICJtb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL1BsYXRmb3Jt SmF2YS5jbWFrZSIpCisgICAgICAgICAgICAgICAgICAoZGVsZXRlLWZpbGUtcmVjdXJzaXZlbHkg Im1vZHVsZXMvZ3JhcGhpY3Mvc3JjL21haW4vbmF0aXZlLWlpby9saWJqcGVnIikKICAgICAgICAg ICAgICAgICAgICN0KSkKICAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAgKGJh c2UzMgpAQCAtMjUzOSw3ICsyNTQxLDcgQEAgKGRlZmluZS1wdWJsaWMgamF2YS1vcGVuamZ4LWJ1 aWxkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiamF2YS1vcGVuamZ4 LWJ1aWxkLXdlYi1XVEYucGF0Y2giCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlLnBh dGNoIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImphdmEtb3Blbmpm eC1idWlsZC13ZWItaWN1LnBhdGNoIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImphdmEt b3BlbmpmeC1idWlsZC13ZWItanMtdGVzdC5wYXRjaCIpKSkpCiAgICAgKGJ1aWxkLXN5c3RlbSBh bnQtYnVpbGQtc3lzdGVtKQogICAgIChhcmd1bWVudHMKICAgICAgYCgjOmphci1uYW1lICJqYXZh LW9wZW5qZnguamFyIgpAQCAtMjYxMSw3ICsyNjEzLDYgQEAgKGRlZmluZS1wdWJsaWMgamF2YS1v cGVuamZ4LWdyYXBoaWNzCiAgICAgKGFyZ3VtZW50cwogICAgICBgKCM6amFyLW5hbWUgImphdmEt b3BlbmpmeC1ncmFwaGljcy5qYXIiCiAgICAgICAgIzpzb3VyY2UtZGlyICJtb2R1bGVzL2dyYXBo aWNzL3NyYy9tYWluL2phdmEiCi0gICAgICAgIzp0ZXN0cz8gI2YgICAgICAgICAgICAgICA7IHJl cXVpcmVzIFgKICAgICAgICAjOnRlc3QtZGlyICJtb2R1bGVzL2dyYXBoaWNzL3NyYy90ZXN0Igog ICAgICAgICM6dGVzdC1pbmNsdWRlIChsaXN0ICIqKi8qVGVzdC4qIikKICAgICAgICAjOm1vZHVs ZXMgKChndWl4IGJ1aWxkIGFudC1idWlsZC1zeXN0ZW0pCkBAIC0yOTc1LDEzICsyOTc2LDE1IEBA IChjbGFzcyAobWF0Y2g6c3VmZml4IChyZWdleHAtZXhlYyByeCBjbGFzcykpKSkKICAgICAgICAg ICAgICAgICN0KSkKIAogICAgICAgICAgICAoYWRkLWFmdGVyICdjb21waWxlLWxpbnV4LWZvbnQt cGFuZ28tbGliICdjb21waWxlLWxpbnV4LWdsYXNzLWxpYgotICAgICAgICAgICAgIChsYW1iZGEq ICgjOmtleSBpbnB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQorICAgICAgICAgICAgIChsYW1iZGEq ICgjOmtleSBpbnB1dHMgb3V0cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgICAg ICAobGV0KiAoKGNsYXNzZXMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvY2xhc3Nlcy9qYXZhL21h aW4iKQogICAgICAgICAgICAgICAgICAgICAgIDs7IGdsYXNzCiAgICAgICAgICAgICAgICAgICAg ICAgKGdsYXNzLWdlbi1oZWFkZXJzICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2dlbmVyYXRlZC1z cmMvaGVhZGVycy9nbGFzcy9saW51eCIpCiAgICAgICAgICAgICAgICAgICAgICAgKGdsYXNzLW5h dGl2ZS1saWIgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbGlicy9nbGFzcy9saW51eC9saWJnbGFz cy5zbyIpCiAgICAgICAgICAgICAgICAgICAgICAgKGdsYXNzLW5hdGl2ZS1vYmogIm1vZHVsZXMv Z3JhcGhpY3MvYnVpbGQvbmF0aXZlL2dsYXNzL2xpbnV4L2dsYXNzIikKLSAgICAgICAgICAgICAg ICAgICAgICAoZ2xhc3MtbmF0aXZlLXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRp dmUtZ2xhc3MvZ3RrL2xhdW5jaGVyLmMiKQorICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1u YXRpdmUtc3JjICJtb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL25hdGl2ZS1nbGFzcy9ndGsiKQor ICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1saWItcGF0aCAoc3RyaW5nLWFwcGVuZCAoYXNz b2MtcmVmIG91dHB1dHMgIm91dCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICIvc2hhcmUvYW1kNjQiKSkKICAgICAgICAgICAgICAgICAgICAg ICAoamRrIChhc3NvYy1yZWYgaW5wdXRzICJqZGsiKSkKICAgICAgICAgICAgICAgICAgICAgICAo Y2MtZmxhZ3MKICAgICAgICAgICAgICAgICAgICAgICAgYCgsQGNvbW1vbi1mbGFncyAiLWMiICIt ZmZ1bmN0aW9uLXNlY3Rpb25zIiAiLWZkYXRhLXNlY3Rpb25zIgpAQCAtMjk4OSwyMCArMjk5Miwy MiBAQCAoY2xhc3MgKG1hdGNoOnN1ZmZpeCAocmVnZXhwLWV4ZWMgcnggY2xhc3MpKSkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsKHN0cmluZy1hcHBlbmQg amRrICIvaW5jbHVkZS9saW51eCIpKSkKICAgICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtY2Mt ZmxhZ3MKICAgICAgICAgICAgICAgICAgICAgICAgYCgsQGNjLWZsYWdzCi0gICAgICAgICAgICAg ICAgICAgICAgICAgIiQocGtnLWNvbmZpZyAtLWNmbGFncyBnbGliLTIuMCBnZGstMi4wIGd0ayst Mi4wIGd0aHJlYWQtMi4wIHh0c3QpIgorICAgICAgICAgICAgICAgICAgICAgICAgICIkKHBrZy1j b25maWcgLS1jZmxhZ3MgZ2xpYi0yLjAgZ3RrKy0yLjAgeHRzdCkiCisgICAgICAgICAgICAgICAg ICAgICAgICAgIi1Xbm8tZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCiAgICAgICAgICAgICAgICAg ICAgICAgICAgIi1XZXJyb3IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIi1Xbm8tY2FzdC1m dW5jdGlvbi10eXBlIgogICAgICAgICAgICAgICAgICAgICAgICAgICkpCiAgICAgICAgICAgICAg ICAgICAgICAgKGdsYXNzLWxpbmstZmxhZ3MKLSAgICAgICAgICAgICAgICAgICAgICAgYCgsQGxp bmstZmxhZ3MgIiQocGtnLWNvbmZpZyAtLWxpYnMgeDExKSIgIi1sZGwiKSkKKyAgICAgICAgICAg ICAgICAgICAgICAgYCgsQGxpbmstZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAiJChw a2ctY29uZmlnIC0tbGlicyB4MTEgZ3RrKy0yLjApIiAiLWxkbCIpKQogICAgICAgICAgICAgICAg ICAgICAgIDs7IGdsYXNzLWd0azIKICAgICAgICAgICAgICAgICAgICAgICAoZ3RrIChhc3NvYy1y ZWYgaW5wdXRzICJndGsiKSkKICAgICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtZ3RrMi1uYXRp dmUtb2JqICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL25hdGl2ZS9nbGFzcy9saW51eC9nbGFzc2d0 azIiKQotICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1ndGsyLW5hdGl2ZS1zcmMgKGRpcm5h bWUgZ2xhc3MtbmF0aXZlLXNyYykpCisgICAgICAgICAgICAgICAgICAgICAgKGdsYXNzLWd0azIt bmF0aXZlLXNyYyBnbGFzcy1uYXRpdmUtc3JjKQogICAgICAgICAgICAgICAgICAgICAgIChnbGFz cy1ndGsyLW5hdGl2ZS1saWIgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbGlicy9nbGFzcy9saW51 eC9saWJnbGFzc2d0azIuc28iKQogICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1ndGsyLWNj LWZsYWdzCiAgICAgICAgICAgICAgICAgICAgICAgIGAoLEBjYy1mbGFncwotICAgICAgICAgICAg ICAgICAgICAgICAgICIkKHBrZy1jb25maWcgLS1jZmxhZ3MgZ3RrKy0yLjAgZ3RocmVhZC0yLjAg eHRzdCkiCisgICAgICAgICAgICAgICAgICAgICAgICAgIiQocGtnLWNvbmZpZyAtLWNmbGFncyBn dGsrLTIuMCB4dHN0KSIKICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBYWDogR1RpbWVWYWwg aGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBHTElCIHNpbmNlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgOzsgdmVyc2lvbiAyLjYyLiBHVGltZVZhbCBzIG5vdCB5ZWFyLTIwMzgtc2FmZS4gR3RrCiAg ICAgICAgICAgICAgICAgICAgICAgICAgOzsgMi4yNCB1c2VzIEdUaW1lVmFsIHNvIG91ciBidWls ZCBpcyBhbHNvIGZhaWxpbmcuCkBAIC0zMDExLDIxICszMDE2LDcgQEAgKGNsYXNzIChtYXRjaDpz dWZmaXggKHJlZ2V4cC1leGVjIHJ4IGNsYXNzKSkpKQogICAgICAgICAgICAgICAgICAgICAgICAg ICItV25vLWNhc3QtZnVuY3Rpb24tdHlwZSIKICAgICAgICAgICAgICAgICAgICAgICAgICApKQog ICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1ndGsyLWxpbmstZmxhZ3MKLSAgICAgICAgICAg ICAgICAgICAgICAgYCgsQGxpbmstZmxhZ3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAiJChw a2ctY29uZmlnIC0tbGlicyBndGsrLTIuMCBndGhyZWFkLTIuMCB4dHN0KSIpKQotICAgICAgICAg ICAgICAgICAgICAgIDs7IGdsYXNzLWd0azMKLSAgICAgICAgICAgICAgICAgICAgICAoZ3RrMyAo YXNzb2MtcmVmIGlucHV0cyAiZ3RrMyIpKQotICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1n dGszLW5hdGl2ZS1vYmogIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbmF0aXZlL2dsYXNzL2xpbnV4 L2dsYXNzZ3RrMyIpCi0gICAgICAgICAgICAgICAgICAgICAgKGdsYXNzLWd0azMtbmF0aXZlLXNy YyAoZGlybmFtZSBnbGFzcy1uYXRpdmUtc3JjKSkKLSAgICAgICAgICAgICAgICAgICAgICAoZ2xh c3MtZ3RrMy1uYXRpdmUtbGliICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvZ2xhc3MvbGlu dXgvbGliZ2xhc3NndGszLnNvIikKLSAgICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtZ3RrMy1j Yy1mbGFncwotICAgICAgICAgICAgICAgICAgICAgICBgKCxAY2MtZmxhZ3MKLSAgICAgICAgICAg ICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0tY2ZsYWdzIGd0aystMy4wIGd0aHJlYWQtMi4w IHh0c3QpIgotICAgICAgICAgICAgICAgICAgICAgICAgICItV25vLWRlcHJlY2F0ZWQtZGVjbGFy YXRpb25zIiAiLVdlcnJvciIKLSAgICAgICAgICAgICAgICAgICAgICAgICAiLVduby1jYXN0LWZ1 bmN0aW9uLXR5cGUiCi0gICAgICAgICAgICAgICAgICAgICAgICAgKSkKLSAgICAgICAgICAgICAg ICAgICAgICAoZ2xhc3MtZ3RrMy1saW5rLWZsYWdzCi0gICAgICAgICAgICAgICAgICAgICAgIGAo LEBsaW5rLWZsYWdzICIkKHBrZy1jb25maWcgLS1saWJzIGd0aystMy4wIGd0aHJlYWQtMi4wIHh0 c3QpIikpKQorICAgICAgICAgICAgICAgICAgICAgICBgKCxAbGluay1mbGFncyAiJChwa2ctY29u ZmlnIC0tbGlicyBndGsrLTIuMCB4dHN0KSIpKSkKICAgICAgICAgICAgICAgICAgOzsgZ2xhc3MK ICAgICAgICAgICAgICAgICAgKG1rZGlyLXAgZ2xhc3MtZ2VuLWhlYWRlcnMpCiAgICAgICAgICAg ICAgICAgIChhcHBseSBpbnZva2UgImphdmFoIgpAQCAtMzAzOCwxNCArMzAyOSwxNiBAQCAoY2xh c3MgKG1hdGNoOnN1ZmZpeCAocmVnZXhwLWV4ZWMgcnggY2xhc3MpKSkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1wcmVmaXg/ICJjb20uc3Vu LmdsYXNzLnVpIiBjbGFzcykpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChqYXZhLWxpc3QtY2xhc3NlcyBjbGFzc2VzKSkpKQogICAgICAgICAgICAgICAgICAobWtk aXItcCBnbGFzcy1uYXRpdmUtb2JqKQotICAgICAgICAgICAgICAgICAoaW52b2tlICJiYXNoIiAi LWMiCi0gICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1qb2luIGAoImdjYyIKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQGdsYXNzLWNjLWZsYWdzCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsZ2xhc3MtZ2VuLWhlYWRl cnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoZGlybmFt ZSBnbGFzcy1uYXRpdmUtc3JjKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICItbyIgLChzdHJpbmctYXBwZW5kIGdsYXNzLW5hdGl2ZS1vYmogIi8iCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhc2Vu YW1lIGdsYXNzLW5hdGl2ZS1zcmMgIi5jIikgIi5vYmoiKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxnbGFzcy1uYXRpdmUtc3JjKSkpCisgICAgICAgICAgICAgICAg IChmb3ItZWFjaCAobGFtYmRhIChjKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW52 b2tlICJiYXNoIiAiLWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0 cmluZy1qb2luIGAoImdjYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQGdsYXNzLWNjLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsZ2xhc3MtZ2VuLWhlYWRlcnMKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICxnbGFz cy1uYXRpdmUtc3JjCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIi1vIiAsKHN0cmluZy1hcHBlbmQgZ2xhc3MtbmF0aXZlLW9iaiAiLyIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoYmFzZW5hbWUgYyAiLmMiKSAiLm9iaiIpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLGMpKSkpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAoZmluZC1maWxlcyBnbGFzcy1uYXRpdmUtc3JjICJcXC5jJCIpKQogICAgICAg ICAgICAgICAgICAobWtkaXItcCAoZGlybmFtZSBnbGFzcy1uYXRpdmUtbGliKSkKICAgICAgICAg ICAgICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgogICAgICAgICAgICAgICAgICAgICAgICAgIChz dHJpbmctam9pbiBgKCJnKysiCkBAIC0zMDY4LDI0ICszMDYxLDcgQEAgKGNsYXNzIChtYXRjaDpz dWZmaXggKHJlZ2V4cC1leGVjIHJ4IGNsYXNzKSkpKQogICAgICAgICAgICAgICAgICAgICAgICAg IChzdHJpbmctam9pbiBgKCJnKysiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLEBnbGFzcy1ndGsyLWxpbmstZmxhZ3MKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiLW8iICxnbGFzcy1ndGsyLW5hdGl2ZS1saWIKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChmaW5kLWZpbGVzIGdsYXNzLWd0azItbmF0aXZl LW9iaiAiXFwub2JqJCIpKSkpCi0gICAgICAgICAgICAgICAgIDs7IGd0azMKLSAgICAgICAgICAg ICAgICAgKG1rZGlyLXAgZ2xhc3MtZ3RrMy1uYXRpdmUtb2JqKQotICAgICAgICAgICAgICAgICAo Zm9yLWVhY2ggKGxhbWJkYSAoY3BwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW52 b2tlICJiYXNoIiAiLWMiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0 cmluZy1qb2luIGAoImdjYyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQGdsYXNzLWd0azMtY2MtZmxhZ3MKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICxnbGFzcy1nZW4taGVhZGVycwot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIg LChzdHJpbmctYXBwZW5kIGdsYXNzLWd0azMtbmF0aXZlLW9iaiAiLyIKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoYmFzZW5hbWUgY3BwICIuY3BwIikgIi5vYmoiKQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxjcHApKSkpCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAoZmluZC1maWxlcyBnbGFzcy1ndGszLW5hdGl2ZS1zcmMgIlxcLmNwcCQiKSkKLSAg ICAgICAgICAgICAgICAgKG1rZGlyLXAgKGRpcm5hbWUgZ2xhc3MtZ3RrMy1uYXRpdmUtbGliKSkK LSAgICAgICAgICAgICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgotICAgICAgICAgICAgICAgICAg ICAgICAgIChzdHJpbmctam9pbiBgKCJnKysiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLEBnbGFzcy1ndGszLWxpbmstZmxhZ3MKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiLW8iICxnbGFzcy1ndGszLW5hdGl2ZS1saWIKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChmaW5kLWZpbGVzIGdsYXNzLWd0azMt bmF0aXZlLW9iaiAiXFwub2JqJCIpKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKGZpbmQtZmlsZXMgZ2xhc3MtZ3RrMi1uYXRpdmUtb2JqICJcXC5vYmokIikp KSkpCiAgICAgICAgICAgICAgICAjdCkpCiAKICAgICAgICAgICAgKGFkZC1hZnRlciAnY29tcGls ZS1saW51eC1nbGFzcy1saWIgICdjb21waWxlLWxpbnV4LWlpbwpAQCAtMzEwMSw3ICszMDc3LDcg QEAgKGNsYXNzIChtYXRjaDpzdWZmaXggKHJlZ2V4cC1leGVjIHJ4IGNsYXNzKSkpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpk ayAiL2luY2x1ZGUiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt SSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUvbGludXgiKSkpCiAgICAgICAgICAgICAg ICAgICAgICAgKGlpby1jYy1mbGFncyBjYy1mbGFncykKLSAgICAgICAgICAgICAgICAgICAgICAo aWlvLWxpbmstZmxhZ3MgbGluay1mbGFncykpCisgICAgICAgICAgICAgICAgICAgICAgKGlpby1s aW5rLWZsYWdzIGAoLEBsaW5rLWZsYWdzICIkKHBrZy1jb25maWcgLS1saWJzIGxpYmpwZWcpIikp KQogICAgICAgICAgICAgICAgICAobWtkaXItcCBpaW8tZ2VuLWhlYWRlcnMpCiAgICAgICAgICAg ICAgICAgIChhcHBseSBpbnZva2UgImphdmFoIgogICAgICAgICAgICAgICAgICAgICAgICAgIi1k IiBpaW8tZ2VuLWhlYWRlcnMKQEAgLTMxNjAsNyArMzEzNiw3IEBAIChjbGFzcyAobWF0Y2g6c3Vm Zml4IChyZWdleHAtZXhlYyByeCBjbGFzcykpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8iICwoc3RyaW5nLWFwcGVuZCBwcmlzbS1uYXRp dmUtb2JqICIvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiYXNlbmFtZSBjICIuYyIpICIub2JqIikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsYykpKSkK LSAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVzIHByaXNtLW5hdGl2ZS1vYmog IlxcLmMkIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmluZC1maWxlcyBwcmlzbS1u YXRpdmUtc3JjICJcXC5jJCIpKQogICAgICAgICAgICAgICAgICAobWtkaXItcCAoZGlybmFtZSBw cmlzbS1uYXRpdmUtbGliKSkKICAgICAgICAgICAgICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgog ICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctam9pbiBgKCJnKysiCkBAIC0zMTgzLDE0 ICszMTU5LDE0IEBAIChjbGFzcyAobWF0Y2g6c3VmZml4IChyZWdleHAtZXhlYyByeCBjbGFzcykp KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3RyaW5n LWFwcGVuZCBqZGsgIi9pbmNsdWRlL2xpbnV4IikpKQogICAgICAgICAgICAgICAgICAgICAgIChw cmlzbS1lczItY2MtZmxhZ3MgYCgiLURMSU5VWCIgLEBjYy1mbGFncykpCiAgICAgICAgICAgICAg ICAgICAgICAgKHByaXNtLWVzMi1saW5rLWZsYWdzCi0gICAgICAgICAgICAgICAgICAgICAgIGAo LEBsaW5rLWZsYWdzICIkKHBrZy1jb25maWcgLS1saWJzIHgxMSB4eGY4NnZtIGdsKSIpKQorICAg ICAgICAgICAgICAgICAgICAgICBgKCxAbGluay1mbGFncyAiJChwa2ctY29uZmlnIC0tbGlicyB4 MTEgeHhmODZ2bSBnbCBmb250Y29uZmlnKSIpKQogICAgICAgICAgICAgICAgICAgICAgIDs7IFdl IG5lZWQgYWxsICouYyBmaWxlcyBpbiB0aGUgcm9vdCBhbmQgb25seSB0aG9zZQogICAgICAgICAg ICAgICAgICAgICAgIDs7IHdoaWNoIGFyZSBpbiBhIHNwZWNpZmljIGRpcmVjdG9yaWVzLgogICAg ICAgICAgICAgICAgICAgICAgIChmaWx0ZXItc3JjCiAgICAgICAgICAgICAgICAgICAgICAgIChs YW1iZGEgKGFicyBfKQotICAgICAgICAgICAgICAgICAgICAgICAgIChvciAocmVnZXhwLWV4ZWMg KG1ha2UtcmVnZXhwIChzdHJpbmctYXBwZW5kIHByaXNtLWVzMi1uYXRpdmUtc3JjICJbXi9dKlxc LmMkIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgKG9yIChyZWdleHAtZXhlYyAobWFrZS1y ZWdleHAgKHN0cmluZy1hcHBlbmQgcHJpc20tZXMyLW5hdGl2ZS1zcmMgIi9bWzphbG51bTpdXStc XC5jJCIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJzKQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnZXhwLWV4ZWMgKG1ha2UtcmVnZXhwIChz dHJpbmctYXBwZW5kIHByaXNtLWVzMi1uYXRpdmUtc3JjICIoeDExL3xHTC8pIikpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChyZWdleHAtZXhlYyAobWFrZS1yZWdleHAgKHN0cmluZy1h cHBlbmQgcHJpc20tZXMyLW5hdGl2ZS1zcmMgIi8oeDExL3xHTC8pLipcXC5jJCIpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJzKSkpKSkKICAgICAgICAgICAg ICAgICAgKG1rZGlyLXAgcHJpc20tZXMyLWdlbi1oZWFkZXJzKQogICAgICAgICAgICAgICAgICAo YXBwbHkgaW52b2tlICJqYXZhaCIKQEAgLTMyMDIsNyArMzE3OCw2IEBAIChjbGFzcyAobWF0Y2g6 c3VmZml4IChyZWdleHAtZXhlYyByeCBjbGFzcykpKSkKICAgICAgICAgICAgICAgICAgKG1rZGly LXAgcHJpc20tZXMyLW5hdGl2ZS1vYmopCiAgICAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFt YmRhIChjKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJnY2Mi Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiIGdsYXNzLW5hdGl2ZS1z cmMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgcHJpc20tZXMyLWdl bi1oZWFkZXJzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiIHByaXNt LWVzMi1uYXRpdmUtc3JjCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUki IChzdHJpbmctYXBwZW5kIHByaXNtLWVzMi1uYXRpdmUtc3JjICIvR0wiKQpAQCAtMzI1OCw3ICsz MjMzLDcgQEAgKGNsYXNzIChtYXRjaDpzdWZmaXggKHJlZ2V4cC1leGVjIHJ4IGNsYXNzKSkpKQog CiAgICAgICAgICAgIChhZGQtYWZ0ZXIgJ2NvbXBpbGUtbGludXgtcHJpc20tc3cgJ2luc3RhbGwt bmF0aXZlCiAgICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IG91dHB1dHMgIzphbGxvdy1vdGhl ci1rZXlzKQotICAgICAgICAgICAgICAgKGxldCAoKGxpYiAoc3RyaW5nLWFwcGVuZCAoYXNzb2Mt cmVmIG91dHB1dHMgIm91dCIpICIvbGliIikpKQorICAgICAgICAgICAgICAgKGxldCAoKGxpYiAo c3RyaW5nLWFwcGVuZCAoYXNzb2MtcmVmIG91dHB1dHMgIm91dCIpICIvc2hhcmUvYW1kNjQiKSkp CiAgICAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChmaWxlKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoaW5zdGFsbC1maWxlIGZpbGUgbGliKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChmaW5kLWZpbGVzICIuIiAiXFwuc28kIikpCkBAIC0zMjY3LDI1ICszMjQy LDU0IEBAIChjbGFzcyAobWF0Y2g6c3VmZml4IChyZWdleHAtZXhlYyByeCBjbGFzcykpKSkKICAg ICAgICAgICAgKGFkZC1hZnRlciAnaW5zdGFsbC1uYXRpdmUgJ2J1aWxkLWphcgogICAgICAgICAg ICAgIChsYW1iZGEgXwogICAgICAgICAgICAgICAgKGxldCogKChtb2R1bGUgKHN0cmluZy1hcHBl bmQgIm1vZHVsZXMvZ3JhcGhpY3MiKSkKKyAgICAgICAgICAgICAgICAgICAgICAoZGVjb3JhIChz dHJpbmctYXBwZW5kIG1vZHVsZSAiL2J1aWxkL2NsYXNzZXMvanNsLWRlY29yYSIpKQorICAgICAg ICAgICAgICAgICAgICAgIChwcmlzbSAoc3RyaW5nLWFwcGVuZCBtb2R1bGUgIi9idWlsZC9jbGFz c2VzL2pzbC1wcmlzbSIpKQogICAgICAgICAgICAgICAgICAgICAgIChyZXNvdXJjZXMgKHN0cmlu Zy1hcHBlbmQgbW9kdWxlICIvc3JjL21haW4vcmVzb3VyY2VzIikpCiAgICAgICAgICAgICAgICAg ICAgICAgKGNsYXNzZXMgKHN0cmluZy1hcHBlbmQgbW9kdWxlICIvYnVpbGQvY2xhc3Nlcy9qYXZh L21haW4iKSkpCisgICAgICAgICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5IGRlY29yYSBjbGFz c2VzKQorICAgICAgICAgICAgICAgICAoY29weS1yZWN1cnNpdmVseSBwcmlzbSBjbGFzc2VzKQog ICAgICAgICAgICAgICAgICAoY29weS1yZWN1cnNpdmVseSByZXNvdXJjZXMgY2xhc3NlcykKIAog ICAgICAgICAgICAgICAgICAoaW52b2tlICJhbnQiICJqYXIiIChzdHJpbmctYXBwZW5kICItRGNs YXNzZXMuZGlyPSIgY2xhc3NlcykpKQotICAgICAgICAgICAgICAgI3QpKSkpKSkKKyAgICAgICAg ICAgICAgICN0KSkKKworICAgICAgICAgICAoYWRkLWJlZm9yZSAnY2hlY2sgJ2NvcHktY2xhc3Nl cworICAgICAgICAgICAgIChsYW1iZGEgXworICAgICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5 ICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMvamF2YS9tYWluIiAiYnVpbGQvY2xhc3Nl cyIpCisgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJidWlsZC54bWwiCisgICAgICAgICAgICAg ICAoKCI8anVuaXQuKmhhbHRvbmZhaWx1cmU9XCJ5ZXNcIj4iIGFsbCkKKyAgICAgICAgICAgICAg ICAoc3RyaW5nLWFwcGVuZAorICAgICAgICAgICAgICAgICBhbGwKKyAgICAgICAgICAgICAgICAg IjxzeXNwcm9wZXJ0eSBrZXk9XCJqYXZhLmxpYnJhcnkucGF0aFwiIHZhbHVlPVwiIgorICAgICAg ICAgICAgICAgICAoc3RyaW5nLWpvaW4gJygibW9kdWxlcy9ncmFwaGljcy9idWlsZC9saWJzL3By aXNtL2xpbnV4LyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1vZHVsZXMvZ3Jh cGhpY3MvYnVpbGQvbGlicy9mb250L2xpbnV4LyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbGlicy9mb250RnJlZXR5cGUvbGludXgvIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9s aWJzL2ZvbnRQYW5nby9saW51eC8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJt b2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvaWlvL2xpbnV4LyIpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiOiIpCisgICAgICAgICAgICAgICAgICAiXCIvPiIKKyAgICAgICAgICAg ICAgICAgIjxzeXNwcm9wZXJ0eSBrZXk9XCJqYXZhZngudG9vbGtpdFwiIHZhbHVlPVwiY29tLnN1 bi5qYXZhZngucGdzdHViLlN0dWJUb29sa2l0XCIvPiIpKSkKKyAgICAgICAgICAgICAjdCkpKSkp KQogICAgIChuYXRpdmUtaW5wdXRzCisgICAgIGAoKCJhbnRscjMiICxhbnRscjMpCisgICAgICAg KCJqYXZhLXN0cmluZ3RlbXBsYXRlIiAsamF2YS1zdHJpbmd0ZW1wbGF0ZSkKKyAgICAgICAoImdj YyIgLGdjYykKKyAgICAgICAoImpkayIgLGljZWR0ZWEtOCAiamRrIikKKyAgICAgICAoInBrZy1j b25maWciICxwa2ctY29uZmlnKQorICAgICAgICgiamF2YS1qdW5pdCIgLGphdmEtanVuaXQpKSkK KyAgICAoaW5wdXRzCiAgICAgIGAoKCJmcmVldHlwZSIgLGZyZWV0eXBlKQogICAgICAgICgiZm9u dGNvbmZpZyIgLGZvbnRjb25maWcpCi0gICAgICAgKCJnY2MiICxnY2MpCiAgICAgICAgKCJnbGli IiAsZ2xpYikKICAgICAgICAoInpsaWIiICx6bGliKQogICAgICAgICgiZ3RrIiAsZ3RrKy0yKQot ICAgICAgICgiZ3RrMyIgLGd0ayspCiAgICAgICAgKCJqcGVnIiAsbGlianBlZy10dXJibykKICAg ICAgICAoImxpYnh0c3QiICxsaWJ4dHN0KQorICAgICAgICgibWVzYSIgLG1lc2EpCiAgICAgICAg KCJwYW5nbyIgLHBhbmdvKQogICAgICAgICgibGlicG5nIiAsbGlicG5nKQotICAgICAgICgicGtn LWNvbmZpZyIgLHBrZy1jb25maWcpKSkKKyAgICAgICAoInh4Zjg2dm0iICxsaWJ4eGY4NnZtKQor ICAgICAgICgieDExIiAsbGlieDExKSkpCiAgICAgKHByb3BhZ2F0ZWQtaW5wdXRzCiAgICAgIGAo KCJqYXZhLW9wZW5qZngtYmFzZSIgLGphdmEtb3BlbmpmeC1iYXNlKQogICAgICAgICgiamF2YS1z d3QiICxqYXZhLXN3dCkpKSkpCkBAIC0zMjk2LDEwICszMzAwLDIxIEBAIChkZWZpbmUtcHVibGlj IGphdmEtb3BlbmpmeC1zd2luZwogICAgIChhcmd1bWVudHMKICAgICAgYCgjOmphci1uYW1lICJq YXZhLW9wZW5qZngtc3dpbmcuamFyIgogICAgICAgICM6c291cmNlLWRpciAibW9kdWxlcy9zd2lu Zy9zcmMvbWFpbi9qYXZhIgotICAgICAgICM6dGVzdHM/ICNmKSkKLSAgICAoaW5wdXRzCi0gICAg IGAoKCJhbnRscjMiICxhbnRscjMpCi0gICAgICAgKCJqYXZhLXN0cmluZ3RlbXBsYXRlIiAsamF2 YS1zdHJpbmd0ZW1wbGF0ZSkpKQorICAgICAgICM6dGVzdC1kaXIgIm1vZHVsZXMvc3dpbmcvc3Jj L3Rlc3QiCisgICAgICAgIzp0ZXN0LWluY2x1ZGUgKGxpc3QgIioqLypUZXN0LioiKQorICAgICAg ICM6bW9kdWxlcyAoKGd1aXggYnVpbGQgYW50LWJ1aWxkLXN5c3RlbSkKKyAgICAgICAgICAgICAg ICAgIChndWl4IGJ1aWxkIHV0aWxzKQorICAgICAgICAgICAgICAgICAgKGljZS05IHJlZ2V4KSkK KyAgICAgICAjOnBoYXNlcworICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMK KyAgICAgICAgIChhZGQtYmVmb3JlICdjaGVjayAneC10ZXN0LXNldHVwCisgICAgICAgICAgIChs YW1iZGEgXworICAgICAgICAgICAgIChzeXN0ZW0gIlh2ZmIgOjMzICYiKQorICAgICAgICAgICAg IChzZXRlbnYgIkRJU1BMQVkiICI6MzMiKQorICAgICAgICAgICAgICN0KSkpKSkKKyAgICAobmF0 aXZlLWlucHV0cworICAgICBgKCgiamF2YS1qdW5pdCIgLGphdmEtanVuaXQpCisgICAgICAgKCJ4 b3JnLXNlcnZlciIgLHhvcmctc2VydmVyLWZvci10ZXN0cykpKQogICAgIChwcm9wYWdhdGVkLWlu cHV0cwogICAgICBgKCgiamF2YS1vcGVuamZ4LWdyYXBoaWNzIiAsamF2YS1vcGVuamZ4LWdyYXBo aWNzKSkpKSkKIApAQCAtMzMwOSw2ICszMzI0LDcgQEAgKGRlZmluZS1wdWJsaWMgamF2YS1vcGVu amZ4LXN3dAogICAgIChhcmd1bWVudHMKICAgICAgYCgjOmphci1uYW1lICJqYXZhLW9wZW5qZngt c3d0LmphciIKICAgICAgICAjOnNvdXJjZS1kaXIgIm1vZHVsZXMvc3d0L3NyYy9tYWluL2phdmEi CisgICAgICAgOzsgbm8gdGVzdHMgYXZhaWxhYmxlIGluIHNyYwogICAgICAgICM6dGVzdHM/ICNm KSkKICAgICAoaW5wdXRzCiAgICAgIGAoKCJhbnRscjMiICxhbnRscjMpCkBAIC0zMzIyLDI1ICsz MzM4LDI1NSBAQCAoZGVmaW5lLXB1YmxpYyBqYXZhLW9wZW5qZngtY29udHJvbHMKICAgICAoYXJn dW1lbnRzCiAgICAgIGAoIzpqYXItbmFtZSAiamF2YS1vcGVuamZ4LWNvbnRyb2xzLmphciIKICAg ICAgICAjOnNvdXJjZS1kaXIgIm1vZHVsZXMvY29udHJvbHMvc3JjL21haW4vamF2YSIKLSAgICAg ICAjOnRlc3RzPyAjZgotICAgICAgICM6cGhhc2VzCi0gICAgICAgKG1vZGlmeS1waGFzZXMgJXN0 YW5kYXJkLXBoYXNlcwotICAgICAgICAgKGFkZC1iZWZvcmUgJ2J1aWxkICdjb3B5LXJlc291cmNl cworICAgICAgICM6dGVzdC1kaXIgIm1vZHVsZXMvY29udHJvbHMvc3JjL3Rlc3QiCisgICAgICAg Izp0ZXN0LWluY2x1ZGUgKGxpc3QgIioqLypUZXN0LioiKQorICAgICAgICM6bW9kdWxlcyAoKGd1 aXggYnVpbGQgYW50LWJ1aWxkLXN5c3RlbSkKKyAgICAgICAgICAgICAgICAgIChndWl4IGJ1aWxk IHV0aWxzKQorICAgICAgICAgICAgICAgICAgKGljZS05IHJlZ2V4KSkKKyAgICAgICAjOnBoYXNl cworICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKKyAgICAgICAgIChhZGQt YWZ0ZXIgJ3VucGFjayAnY29weS1yZXNvdXJjZXMKKyAgICAgICAgICAgKGxhbWJkYSBfCisgICAg ICAgICAgICAgOzsgY29weSB0ZXN0IHN1cHBvcnQgZmlsZXMgKGJ1dCBub3QgdGhlIGFjdHVhbCB0 ZXN0cyB0aGVtc2VsdmVzKQorICAgICAgICAgICAgIDs7IGZyb20gb3RoZXIgbW9kdWxlcworICAg ICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5ICJtb2R1bGVzL2dyYXBoaWNzL3NyYy90ZXN0L2ph dmEvY29tL3N1bi9qYXZhZngvcGdzdHViIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJtb2R1bGVzL2NvbnRyb2xzL3NyYy90ZXN0L2phdmEvY29tL3N1bi9qYXZhZngvcGdzdHViIikK KyAgICAgICAgICAgICAoZm9yLWVhY2ggZGVsZXRlLWZpbGUgKGZpbmQtZmlsZXMgIm1vZHVsZXMv Y29udHJvbHMvc3JjL3Rlc3QvamF2YS9jb20vc3VuL2phdmFmeC9wZ3N0dWIiICIuKlRlc3QuamF2 YSQiKSkKKyAgICAgICAgICAgICAoY29weS1yZWN1cnNpdmVseSAibW9kdWxlcy9iYXNlL3NyYy90 ZXN0L2phdmEvY29tL3N1bi9qYXZhZngvYmluZGluZyIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAibW9kdWxlcy9jb250cm9scy9zcmMvdGVzdC9qYXZhL2NvbS9zdW4vamF2YWZ4L2Jp bmRpbmciKQorICAgICAgICAgICAgIChmb3ItZWFjaCBkZWxldGUtZmlsZSAoZmluZC1maWxlcyAi bW9kdWxlcy9jb250cm9scy9zcmMvdGVzdC9qYXZhL2NvbS9zdW4vamF2YWZ4L2JpbmRpbmciICIu KlRlc3QuamF2YSQiKSkKKyAgICAgICAgICAgICAoY29weS1yZWN1cnNpdmVseSAibW9kdWxlcy9i YXNlL3NyYy90ZXN0L2phdmEvamF2YWZ4L2JlYW5zIgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJtb2R1bGVzL2NvbnRyb2xzL3NyYy90ZXN0L2phdmEvamF2YWZ4L2JlYW5zIikKKyAg ICAgICAgICAgICAoZm9yLWVhY2ggZGVsZXRlLWZpbGUgKGZpbmQtZmlsZXMgIm1vZHVsZXMvY29u dHJvbHMvc3JjL3Rlc3QvamF2YS9qYXZhZngvYmVhbnMiICIuKlRlc3QuamF2YSQiKSkKKyAgICAg ICAgICAgICAoY29weS1yZWN1cnNpdmVseSAibW9kdWxlcy9iYXNlL3NyYy90ZXN0L2phdmEvamF2 YWZ4L2NvbGxlY3Rpb25zIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtb2R1bGVz L2NvbnRyb2xzL3NyYy90ZXN0L2phdmEvamF2YWZ4L2NvbGxlY3Rpb25zIikKKyAgICAgICAgICAg ICAoZm9yLWVhY2ggZGVsZXRlLWZpbGUgKGZpbmQtZmlsZXMgIm1vZHVsZXMvY29udHJvbHMvc3Jj L3Rlc3QvamF2YS9qYXZhZngvY29sbGVjdGlvbnMiICIuKlRlc3QuamF2YSQiKSkKKyAgICAgICAg ICAgICAoY29weS1yZWN1cnNpdmVseSAibW9kdWxlcy9iYXNlL3NyYy90ZXN0L2phdmEvamF2YWZ4 L2JpbmRpbmciCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1vZHVsZXMvY29udHJv bHMvc3JjL3Rlc3QvamF2YS9qYXZhZngvYmluZGluZyIpCisgICAgICAgICAgICAgKGZvci1lYWNo IGRlbGV0ZS1maWxlIChmaW5kLWZpbGVzICJtb2R1bGVzL2NvbnRyb2xzL3NyYy90ZXN0L2phdmEv amF2YWZ4L2JpbmRpbmciICIuKlRlc3QuamF2YSQiKSkKKworICAgICAgICAgICAgIChjb3B5LXJl Y3Vyc2l2ZWx5ICJtb2R1bGVzL2NvbnRyb2xzL3NyYy90ZXN0L3Jlc291cmNlcyIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiYnVpbGQvdGVzdC1jbGFzc2VzIikKKyAgICAgICAgICAg ICAoY29weS1yZWN1cnNpdmVseSAibW9kdWxlcy9jb250cm9scy9zcmMvbWFpbi9yZXNvdXJjZXMi CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJ1aWxkL2NsYXNzZXMiKSkpCisKKyAg ICAgICAgIChhZGQtYmVmb3JlICdjaGVjayAndG9vbGtpdAogICAgICAgICAgICAobGFtYmRhIF8K LSAgICAgICAgICAgICAobGV0ICgocmVzb3VyY2VzIChzdHJpbmctYXBwZW5kIChnZXRjd2QpICIv bW9kdWxlcy9jb250cm9scy9zcmMvbWFpbi9yZXNvdXJjZXMiKSkpCi0gICAgICAgICAgICAgICAo Y29weS1yZWN1cnNpdmVseSByZXNvdXJjZXMgImJ1aWxkL2NsYXNzZXMiKSkgI3QpKSkpKQorICAg ICAgICAgICAgIChzdWJzdGl0dXRlKiAiYnVpbGQueG1sIgorICAgICAgICAgICAgICAgKCgiPGp1 bml0LipoYWx0b25mYWlsdXJlPVwieWVzXCI+IiBhbGwpCisgICAgICAgICAgICAgICAgKHN0cmlu Zy1hcHBlbmQgYWxsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxzeXNwcm9wZXJ0 eSBrZXk9XCJqYXZhZngudG9vbGtpdFwiIHZhbHVlPVwiY29tLnN1bi5qYXZhZngucGdzdHViLlN0 dWJUb29sa2l0XCIvPiIpKSkKKyAgICAgICAgICAgICAjdCkpKSkpCiAgICAgKHByb3BhZ2F0ZWQt aW5wdXRzCi0gICAgIGAoKCJqYXZhLW9wZW5qZngtZ3JhcGhpY3MiICxqYXZhLW9wZW5qZngtZ3Jh cGhpY3MpKSkpKQorICAgICBgKCgiamF2YS1vcGVuanhmLWdyYXBoaWNzIiAsamF2YS1vcGVuamZ4 LWdyYXBoaWNzKSkpKSkKIAogKGRlZmluZS1wdWJsaWMgamF2YS1vcGVuamZ4LW1lZGlhCiAgIChw YWNrYWdlIChpbmhlcml0IGphdmEtb3BlbmpmeC1idWlsZCkKICAgICAobmFtZSAiamF2YS1vcGVu amZ4LW1lZGlhIikKKyAgICAobmF0aXZlLWlucHV0cworICAgICBgKCgiZ2NjIiAsZ2NjKQorICAg ICAgICgiamRrIiAsaWNlZHRlYS04ICJqZGsiKQorICAgICAgICgicGtnLWNvbmZpZyIgLHBrZy1j b25maWcpKSkKKyAgICAoaW5wdXRzCisgICAgIGAoKCJ4eiIgLHh6KSA7OyB3b3JrYXJvdW5kIGZv ciBnc3RyZWFtZXIncyBlbGZ1dGlscyBidWcjNTU3OTMuCisgICAgICAgKCJnc3RyZWFtZXIiICxn c3RyZWFtZXIpCisgICAgICAgKCJnc3QtcGx1Z2lucy1iYXNlIiAsZ3N0LXBsdWdpbnMtYmFzZSkp KQogICAgIChwcm9wYWdhdGVkLWlucHV0cwotICAgICBgKCgiamF2YS1vcGVuanhmLWdyYXBoaWNz IiAsamF2YS1vcGVuamZ4LWdyYXBoaWNzKSkpCisgICAgIGAoKCJqYXZhLW9wZW5qZngtZ3JhcGhp Y3MiICxqYXZhLW9wZW5qZngtZ3JhcGhpY3MpKSkKICAgICAoYXJndW1lbnRzCiAgICAgIGAoIzpq YXItbmFtZSAiamF2YS1vcGVuamZ4LW1lZGlhLmphciIKLSAgICAgICAjOnNvdXJjZS1kaXIgIm1v ZHVsZXMvbWVkaWEvc3JjL21haW4vamF2YSIKLSAgICAgICAjOnRlc3RzPyAjZikpOyBubyB0ZXN0 cworICAgICAgICM6c291cmNlLWRpciAibW9kdWxlcy9tZWRpYS9zcmMvbWFpbi9qYXZhOm1vZHVs ZXMvbWVkaWEvc3JjL3Rvb2xzL2phdmEiCisgICAgICAgOzsgbm8gdGVzdHMgYXZhaWxhYmxlIGlu IHNyYworICAgICAgICM6dGVzdHM/ICNmCisgICAgICAgIzptb2R1bGVzICgoaWNlLTkgbWF0Y2gp CisgICAgICAgICAgICAgICAgICAoaWNlLTkgcmVnZXgpCisgICAgICAgICAgICAgICAgICAoZ3Vp eCBidWlsZCBhbnQtYnVpbGQtc3lzdGVtKQorICAgICAgICAgICAgICAgICAgKGd1aXggYnVpbGQg dXRpbHMpKQorICAgICAgICM6cGhhc2VzCisgICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJk LXBoYXNlcworICAgICAgICAgKHJlcGxhY2UgJ2J1aWxkCisgICAgICAgICAgIChsYW1iZGEqICgj OmtleSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAobGV0ICgobGli IChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICIvbGliL2xpYmpmeG1lZGlhLnNvIikpKQorICAgICAg ICAgICAgICAgOzsgTG9hZCBqZnhtZWRpYS5zbyBsaWJyYXJ5IGRpcmVjdGx5IGZyb20gb3V0cHV0 IHBhdGguCisgICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogIm1vZHVsZXMvbWVkaWEvc3JjL21h aW4vamF2YS9jb20vc3VuL21lZGlhL2pmeG1lZGlhaW1wbC9OYXRpdmVNZWRpYU1hbmFnZXIuamF2 YSIKKyAgICAgICAgICAgICAgICAgKCgocmVnZXhwLXF1b3RlICJOYXRpdmVMaWJMb2FkZXIubG9h ZExpYnJhcnkoXCJqZnhtZWRpYVwiKTsiKSkKKyAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBw ZW5kCisgICAgICAgICAgICAgICAgICAgIlN5c3RlbS5sb2FkKFwiIgorICAgICAgICAgICAgICAg ICAgIGxpYgorICAgICAgICAgICAgICAgICAgICJcIik7IikpKSkKKyAgICAgICAgICAgICAoaW52 b2tlICJhbnQiICJjb21waWxlIiAiLURjbGFzc2VzLmRpcj1tb2R1bGVzL21lZGlhL2J1aWxkL2Ns YXNzZXMvamF2YS9tYWluIikKKyAgICAgICAgICAgICAjdCkpCisKKyAgICAgICAgIChhZGQtYWZ0 ZXIgJ2J1aWxkICdnZW5lcmF0ZS1oZWFkZXJzCisgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBp bnB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQorICAgICAgICAgICAgIChsZXQqICgoY2xhc3NlcyAi bW9kdWxlcy9tZWRpYS9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAgICAgICAgICAg ICAgIChtZWRpYS1nZW5lcmF0ZWQtaGVhZGVycyAibW9kdWxlcy9tZWRpYS9idWlsZC9nZW5lcmF0 ZWQtc3JjL2hlYWRlcnMiKQorICAgICAgICAgICAgICAgICAgICAobWVkaWEtZ2VuZXJhdGVkLWNs YXNzZXMKKyAgICAgICAgICAgICAgICAgICAgICcoImNvbS5zdW4ubWVkaWEuamZ4bWVkaWEubG9n Z2luZy5Mb2dnZXIiCisgICAgICAgICAgICAgICAgICAgICAgICJjb20uc3VuLm1lZGlhLmpmeG1l ZGlhLnRyYWNrLkF1ZGlvVHJhY2siCisgICAgICAgICAgICAgICAgICAgICAgICJjb20uc3VuLm1l ZGlhLmpmeG1lZGlhLmNvbnRyb2wuVmlkZW9EYXRhQnVmZmVyIgorICAgICAgICAgICAgICAgICAg ICAgICAiY29tLnN1bi5tZWRpYS5qZnhtZWRpYS5jb250cm9sLlZpZGVvRm9ybWF0JEZvcm1hdFR5 cGVzIgorICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi5tZWRpYS5qZnhtZWRpYWltcGwu TmF0aXZlQXVkaW9DbGlwIgorICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi5tZWRpYS5q ZnhtZWRpYWltcGwuTmF0aXZlTWVkaWFQbGF5ZXIiCisgICAgICAgICAgICAgICAgICAgICAgICJj b20uc3VuLm1lZGlhLmpmeG1lZGlhaW1wbC5OYXRpdmVWaWRlb0J1ZmZlciIKKyAgICAgICAgICAg ICAgICAgICAgICAgImNvbS5zdW4ubWVkaWEuamZ4bWVkaWFpbXBsLnBsYXRmb3JtLmdzdHJlYW1l ci5HU1RQbGF0Zm9ybSIKKyAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ubWVkaWEuamZ4 bWVkaWFpbXBsLnBsYXRmb3JtLmdzdHJlYW1lci5HU1RNZWRpYSIKKyAgICAgICAgICAgICAgICAg ICAgICAgImNvbS5zdW4ubWVkaWEuamZ4bWVkaWFpbXBsLnBsYXRmb3JtLmdzdHJlYW1lci5HU1RN ZWRpYVBsYXllciIKKyAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ubWVkaWEuamZ4bWVk aWFpbXBsLk5hdGl2ZUF1ZGlvRXF1YWxpemVyIgorICAgICAgICAgICAgICAgICAgICAgICAiY29t LnN1bi5tZWRpYS5qZnhtZWRpYWltcGwuTmF0aXZlRXF1YWxpemVyQmFuZCIKKyAgICAgICAgICAg ICAgICAgICAgICAgImNvbS5zdW4ubWVkaWEuamZ4bWVkaWFpbXBsLk5hdGl2ZUF1ZGlvU3BlY3Ry dW0iKSkKKyAgICAgICAgICAgICAgICAgICAgKGdyYXBoaWNzIChhc3NvYy1yZWYgaW5wdXRzICJq YXZhLW9wZW5qZngtZ3JhcGhpY3MiKSkpCisgICAgICAgICAgICAgICAobWtkaXItcCBtZWRpYS1n ZW5lcmF0ZWQtaGVhZGVycykKKyAgICAgICAgICAgICAgIChpbnZva2UgImphdmEiCisgICAgICAg ICAgICAgICAgICAgICAgICItRGphdmEuZXh0LmRpcnM9IgorICAgICAgICAgICAgICAgICAgICAg ICAiLWNsYXNzcGF0aCIgY2xhc3NlcworICAgICAgICAgICAgICAgICAgICAgICAiaGVhZGVyZ2Vu LkhlYWRlckdlbiIKKyAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgbWVkaWEt Z2VuZXJhdGVkLWhlYWRlcnMgIi8iICJqZnhtZWRpYV9lcnJvcnMuaCIpCisgICAgICAgICAgICAg ICAgICAgICAgIGNsYXNzZXMpCisgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlCisgICAgICAg ICAgICAgICAgICAgICAgImphdmFoIgorICAgICAgICAgICAgICAgICAgICAgICItRGphdmEuZXh0 LmRpcnM9IgorICAgICAgICAgICAgICAgICAgICAgICItWERpZ25vcmUuc3ltYm9sLmZpbGUiCisg ICAgICAgICAgICAgICAgICAgICAgIi1YRHVzZVVuc2hhcmVkVGFibGU9dHJ1ZSIKKyAgICAgICAg ICAgICAgICAgICAgICAiLWQiIG1lZGlhLWdlbmVyYXRlZC1oZWFkZXJzCisgICAgICAgICAgICAg ICAgICAgICAgIi1jcCIgKHN0cmluZy1qb2luIChjb25zKiBjbGFzc2VzIChmaW5kLWZpbGVzIGdy YXBoaWNzICJcXC5qYXIkIikpICI6IikKKyAgICAgICAgICAgICAgICAgICAgICBtZWRpYS1nZW5l cmF0ZWQtY2xhc3NlcykpCisgICAgICAgICAgICAgI3QpKQorCisgICAgICAgICAoYWRkLWFmdGVy ICdnZW5lcmF0ZS1oZWFkZXJzICdtZWRpYS1uYXRpdmUtbGliCisgICAgICAgICAgICAgKGxhbWJk YSogKCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisgICAgICAgICAgICAgICAobGV0 KiAoKGNsYXNzZXMgIm1vZHVsZXMvbWVkaWEvYnVpbGQvY2xhc3Nlcy9qYXZhL21haW4iKQorICAg ICAgICAgICAgICAgICAgICAgIChtZWRpYS1nZW4taGVhZGVycyAibW9kdWxlcy9tZWRpYS9idWls ZC9nZW5lcmF0ZWQtc3JjL2hlYWRlcnMiKQorICAgICAgICAgICAgICAgICAgICAgIChtZWRpYS1n ZW4tc3JjICJtb2R1bGVzL21lZGlhL2J1aWxkL2dlbmVyYXRlZC1zcmMiKQorICAgICAgICAgICAg ICAgICAgICAgIChtZWRpYS1uYXRpdmUtbGliICJtb2R1bGVzL21lZGlhL2J1aWxkL2xpYnMvbGlu dXgvbGliamZ4bWVkaWEuc28iKQorICAgICAgICAgICAgICAgICAgICAgIChtZWRpYS1uYXRpdmUt b2JqICJtb2R1bGVzL21lZGlhL2J1aWxkL25hdGl2ZS9saW51eCIpCisgICAgICAgICAgICAgICAg ICAgICAgOzsgcmVmOiBtb2R1bGVzL21lZGlhL3NyYy9tYWluL25hdGl2ZS9qZnhtZWRpYS9wcm9q ZWN0cy9saW51eC9NYWtlZmlsZQorICAgICAgICAgICAgICAgICAgICAgIChtZWRpYS1uYXRpdmUt c3JjICJtb2R1bGVzL21lZGlhL3NyYy9tYWluL25hdGl2ZS9qZnhtZWRpYSIpCisgICAgICAgICAg ICAgICAgICAgICAgKG1lZGlhLW5hdGl2ZS1zcmMtZmlsZXMKKyAgICAgICAgICAgICAgICAgICAg ICAgJygiam5pL2NvbV9zdW5fbWVkaWFfamZ4bWVkaWFfbG9nZ2luZ19Mb2dnZXIuY3BwIgorICAg ICAgICAgICAgICAgICAgICAgICAgICJqbmkvSmF2YUJhbmRzSG9sZGVyLmNwcCIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAiam5pL0phdmFNZWRpYVdhcm5pbmdMaXN0ZW5lci5jcHAiCisgICAg ICAgICAgICAgICAgICAgICAgICAgImpuaS9KYXZhUGxheWVyRXZlbnREaXNwYXRjaGVyLmNwcCIK KyAgICAgICAgICAgICAgICAgICAgICAgICAiam5pL0puaVV0aWxzLmNwcCIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAiam5pL0xvZ2dlci5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAg ImpuaS9OYXRpdmVWaWRlb0J1ZmZlci5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgImpu aS9OYXRpdmVBdWRpb0VxdWFsaXplci5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgImpu aS9OYXRpdmVBdWRpb1NwZWN0cnVtLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiam5p L05hdGl2ZUVxdWFsaXplckJhbmQuY3BwIgorICAgICAgICAgICAgICAgICAgICAgICAgICJqbmkv SmF2YUlucHV0U3RyZWFtQ2FsbGJhY2tzLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAi UGlwZWxpbmVNYW5hZ2VtZW50L0F1ZGlvVHJhY2suY3BwIgorICAgICAgICAgICAgICAgICAgICAg ICAgICJQaXBlbGluZU1hbmFnZW1lbnQvUGlwZWxpbmUuY3BwIgorICAgICAgICAgICAgICAgICAg ICAgICAgICJQaXBlbGluZU1hbmFnZW1lbnQvUGlwZWxpbmVGYWN0b3J5LmNwcCIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAiUGlwZWxpbmVNYW5hZ2VtZW50L1RyYWNrLmNwcCIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAiUGlwZWxpbmVNYW5hZ2VtZW50L1ZpZGVvRnJhbWUuY3BwIgorICAg ICAgICAgICAgICAgICAgICAgICAgICJQaXBlbGluZU1hbmFnZW1lbnQvVmlkZW9UcmFjay5jcHAi CisgICAgICAgICAgICAgICAgICAgICAgICAgIlBpcGVsaW5lTWFuYWdlbWVudC9TdWJ0aXRsZVRy YWNrLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiTWVkaWFNYW5hZ2VtZW50L01lZGlh LmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiTWVkaWFNYW5hZ2VtZW50L01lZGlhTWFu YWdlci5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgIkxvY2F0b3IvTG9jYXRvci5jcHAi CisgICAgICAgICAgICAgICAgICAgICAgICAgIkxvY2F0b3IvTG9jYXRvclN0cmVhbS5jcHAiCisg ICAgICAgICAgICAgICAgICAgICAgICAgIlV0aWxzL01lZGlhV2FybmluZ0Rpc3BhdGNoZXIuY3Bw IgorICAgICAgICAgICAgICAgICAgICAgICAgICJVdGlscy9wb3NpeC9wb3NpeF9jcml0aWNhbF9z ZWN0aW9uLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3JtL2dzdHJlYW1l ci9Hc3RNZWRpYS5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3JtL2dzdHJl YW1lci9Hc3RNZWRpYVBsYXllci5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgInBsYXRm b3JtL2dzdHJlYW1lci9Hc3RQbGF0Zm9ybS5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAg InBsYXRmb3JtL2dzdHJlYW1lci9Hc3RBdWRpb0VxdWFsaXplci5jcHAiCisgICAgICAgICAgICAg ICAgICAgICAgICAgInBsYXRmb3JtL2dzdHJlYW1lci9Hc3RBdWRpb1BsYXliYWNrUGlwZWxpbmUu Y3BwIgorICAgICAgICAgICAgICAgICAgICAgICAgICJwbGF0Zm9ybS9nc3RyZWFtZXIvR3N0QXVk aW9TcGVjdHJ1bS5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3JtL2dzdHJl YW1lci9Hc3RBVlBsYXliYWNrUGlwZWxpbmUuY3BwIgorICAgICAgICAgICAgICAgICAgICAgICAg ICJwbGF0Zm9ybS9nc3RyZWFtZXIvR3N0RWxlbWVudENvbnRhaW5lci5jcHAiCisgICAgICAgICAg ICAgICAgICAgICAgICAgInBsYXRmb3JtL2dzdHJlYW1lci9Hc3RKbmlVdGlscy5jcHAiCisgICAg ICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3JtL2dzdHJlYW1lci9Hc3RNZWRpYU1hbmFnZXIu Y3BwIgorICAgICAgICAgICAgICAgICAgICAgICAgICJwbGF0Zm9ybS9nc3RyZWFtZXIvR3N0UGlw ZWxpbmVGYWN0b3J5LmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0vZ3N0 cmVhbWVyL0dzdFZpZGVvRnJhbWUuY3BwIikpCisgICAgICAgICAgICAgICAgICAgICAgKG1lZGlh LW5hdGl2ZS1zcmMtYyAiVXRpbHMvQ29sb3JDb252ZXJ0ZXIuYyIpCisgICAgICAgICAgICAgICAg ICAgICAgKG1lZGlhLXNyYyAibW9kdWxlcy9tZWRpYS9zcmMvbWFpbiIpCisgICAgICAgICAgICAg ICAgICAgICAgKG1lZGlhLWNsYXNzZXMgIm1vZHVsZXMvbWVkaWEvYnVpbGQvY2xhc3NlcyIpCisg ICAgICAgICAgICAgICAgICAgICAgKGpkayAoYXNzb2MtcmVmIGlucHV0cyAiamRrIikpCisgICAg ICAgICAgICAgICAgICAgICAgKGdzdHJlYW1lciAoYXNzb2MtcmVmIGlucHV0cyAiZ3N0cmVhbWVy IikpCisgICAgICAgICAgICAgICAgICAgICAgKGxpbmstZmxhZ3MKKyAgICAgICAgICAgICAgICAg ICAgICAgJygiLXB0aHJlYWQiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi1zdGF0aWMtbGli Z2NjIiAiLXN0YXRpYy1saWJzdGRjKysiICItc2hhcmVkIgorICAgICAgICAgICAgICAgICAgICAg ICAgICIteiIgInJlbHJvIgorICAgICAgICAgICAgICAgICAgICAgICAgICItV2wsLS1nYy1zZWN0 aW9ucyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0tbGlicyBnc3Ry ZWFtZXItMS4wKSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0tbGli cyBnc3RyZWFtZXItcGx1Z2lucy1iYXNlLTEuMCkiCisgICAgICAgICAgICAgICAgICAgICAgICAg IiQocGtnLWNvbmZpZyAtLWxpYnMgZ3N0cmVhbWVyLWFwcC0xLjApIikpCisgICAgICAgICAgICAg ICAgICAgICAgKGNjLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgIGAoIi1wdGhyZWFkIgor ICAgICAgICAgICAgICAgICAgICAgICAgICItZm5vLXN0cmljdC1hbGlhc2luZyIgIi1mUElDIiAi LWZuby1vbWl0LWZyYW1lLXBvaW50ZXIiIDs7IG9wdGltaXphdGlvbiBmbGFncworICAgICAgICAg ICAgICAgICAgICAgICAgICItZnN0YWNrLXByb3RlY3RvciIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAiLVciICItV2FsbCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiLURUQVJHRVRfT1Nf TElOVVg9MSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiLURfR05VX1NPVVJDRSIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAiLURHU1RfUkVNT1ZFX0RFUFJFQ0FURUQiCisgICAgICAgICAg ICAgICAgICAgICAgICAgIi1ER1NUX0RJU0FCTEVfR1NUX0RFQlVHIgorICAgICAgICAgICAgICAg ICAgICAgICAgICItREdTVF9ESVNBQkxFX0xPQURTQVZFIgorICAgICAgICAgICAgICAgICAgICAg ICAgICItREdTVF9ESVNBQkxFX1hNTCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiLURIQVZF X0NPTkZJR19IIgorICAgICAgICAgICAgICAgICAgICAgICAgICItREpGWE1FRElBX0pOSV9FWFBP UlRTIgorICAgICAgICAgICAgICAgICAgICAgICAgICItRExJTlVYIgorICAgICAgICAgICAgICAg ICAgICAgICAgICItREdfRElTQUJMRV9ERVBSRUNBVEVEIgorICAgICAgICAgICAgICAgICAgICAg ICAgICItZmZ1bmN0aW9uLXNlY3Rpb25zIgorICAgICAgICAgICAgICAgICAgICAgICAgICItZmRh dGEtc2VjdGlvbnMiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi1mbm8tcnR0aSIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0tY2ZsYWdzIGdzdHJlYW1lci0xLjAp IgorICAgICAgICAgICAgICAgICAgICAgICAgICIkKHBrZy1jb25maWcgLS1jZmxhZ3MgZ3N0cmVh bWVyLXBsdWdpbnMtYmFzZS0xLjApIgorICAgICAgICAgICAgICAgICAgICAgICAgICIkKHBrZy1j b25maWcgLS1jZmxhZ3MgZ3N0cmVhbWVyLWFwcC0xLjApIgorICAgICAgICAgICAgICAgICAgICAg ICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUiKQorICAgICAgICAgICAgICAg ICAgICAgICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUvbGludXgiKSkpKQor ICAgICAgICAgICAgICAgICAobWtkaXItcCBtZWRpYS1uYXRpdmUtb2JqKQorICAgICAgICAgICAg ICAgICAoZm9yLWVhY2ggKGxhbWJkYSAoY3BwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobGV0ICgoY3BwIChzdHJpbmctYXBwZW5kIG1lZGlhLW5hdGl2ZS1zcmMgIi8iIGNwcCkpKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnZva2UgImJhc2giICItYyIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctam9pbgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYCgiZysrIgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICItYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiLUkiICxtZWRpYS1nZW4taGVhZGVycworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICItSSIgLG1lZGlhLWdlbi1zcmMKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICxtZWRpYS1uYXRpdmUtc3JjCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1vIiAsKHN0cmluZy1hcHBl bmQgbWVkaWEtbmF0aXZlLW9iagorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvIiAoYmFzZW5hbWUgY3BwICIuY3BwIikgIi5v YmoiKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2MtZmxhZ3Mg KGxpc3QgY3BwKSkpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICBtZWRpYS1uYXRpdmUt c3JjLWZpbGVzKQorICAgICAgICAgICAgICAgICAobGV0ICgoYyAoc3RyaW5nLWFwcGVuZCBtZWRp YS1uYXRpdmUtc3JjICIvIiBtZWRpYS1uYXRpdmUtc3JjLWMpKSkKKyAgICAgICAgICAgICAgICAg ICAoaW52b2tlICJiYXNoIiAiLWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5n LWpvaW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwZW5kCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGAoImcrKyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi LWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsbWVkaWEtZ2VuLWhlYWRl cnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICxtZWRpYS1nZW4tc3JjCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsbWVkaWEtbmF0aXZlLXNyYworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLChzdHJpbmctYXBwZW5kIG1lZGlhLW5h dGl2ZS1vYmoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiLyIgKGJhc2VuYW1lIGMgIi5jIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLm9iaiIpKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjYy1mbGFncyAobGlzdCBjKSkpKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgKGRp cm5hbWUgbWVkaWEtbmF0aXZlLWxpYikpCisgICAgICAgICAgICAgICAgIChpbnZva2UgImJhc2gi ICItYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gKGFwcGVuZAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCgiZ2NjIiAiLW8iICxtZWRpYS1u YXRpdmUtbGliKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluay1m bGFncworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMg bWVkaWEtbmF0aXZlLW9iaiAiXFwub2JqJCIpKSkpKQorICAgICAgICAgICAgICAgI3QpKQorICAg ICAgICAgKGFkZC1hZnRlciAnbWVkaWEtbmF0aXZlLWxpYiAnaW5zdGFsbC1uYXRpdmUKKyAgICAg ICAgICAgKGxhbWJkYSogKCM6a2V5IG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQorICAgICAg ICAgICAgIChsZXQgKChsaWIgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiBvdXRwdXRzICJvdXQi KSAiL2xpYiIpKSkKKyAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChmaWxlKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5zdGFsbC1maWxlIGZpbGUgbGliKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAoZmluZC1maWxlcyAiLiIgIlxcLnNvJCIpKQorICAgICAgICAg ICAgICAgI3QpKSkKKyAgICAgICAgIChhZGQtYWZ0ZXIgJ2luc3RhbGwtbmF0aXZlICdidWlsZC1q YXIKKyAgICAgICAgICAgKGxhbWJkYSBfCisgICAgICAgICAgICAgKGxldCogKChtb2R1bGUgKHN0 cmluZy1hcHBlbmQgIm1vZHVsZXMvbWVkaWEiKSkKKyAgICAgICAgICAgICAgICAgICAgKHJlc291 cmNlcyAoc3RyaW5nLWFwcGVuZCBtb2R1bGUgIi9zcmMvbWFpbi9yZXNvdXJjZXMiKSkKKyAgICAg ICAgICAgICAgICAgICAgKGNsYXNzZXMgKHN0cmluZy1hcHBlbmQgbW9kdWxlICIvYnVpbGQvY2xh c3Nlcy9qYXZhL21haW4iKSkpCisgICAgICAgICAgICAgICAoY29weS1yZWN1cnNpdmVseSByZXNv dXJjZXMgY2xhc3NlcykKKworICAgICAgICAgICAgICAgKGludm9rZSAiYW50IiAiamFyIiAoc3Ry aW5nLWFwcGVuZCAiLURjbGFzc2VzLmRpcj0iIGNsYXNzZXMpKSkKKyAgICAgICAgICAgICAjdCkp KSkpCiAgICAgKGRlc2NyaXB0aW9uICJPcGVuSkZYIGlzIGEgY2xpZW50IGFwcGxpY2F0aW9uIHBs YXRmb3JtIGZvciBkZXNrdG9wLAogbW9iaWxlIGFuZCBlbWJlZGRlZCBzeXN0ZW1zIGJ1aWx0IG9u IEphdmEuICBJdHMgZ29hbCBpcyB0byBwcm9kdWNlIGEKIG1vZGVybiwgZWZmaWNpZW50LCBhbmQg ZnVsbHkgZmVhdHVyZWQgdG9vbGtpdCBmb3IgZGV2ZWxvcGluZyByaWNoIGNsaWVudApAQCAtMzM1 MCwxOSArMzU5NiwyOCBAQCAoZGVmaW5lLXB1YmxpYyBqYXZhLW9wZW5qZngtbWVkaWEKIChkZWZp bmUtcHVibGljIGphdmEtb3BlbmpmeC13ZWIKICAgKHBhY2thZ2UgKGluaGVyaXQgamF2YS1vcGVu amZ4LWJ1aWxkKQogICAgIChuYW1lICJqYXZhLW9wZW5qZngtd2ViIikKKyAgICAodmVyc2lvbiAi OC4yMDIiKQogICAgIChhcmd1bWVudHMKICAgICAgYCgjOmphci1uYW1lICJqYXZhLW9wZW5qZngt d2ViLmphciIKICAgICAgICAjOnNvdXJjZS1kaXIgKHN0cmluZy1qb2luICcoIm1vZHVsZXMvd2Vi L3NyYy9tYWluL2phdmEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtb2R1 bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvamF2YS9kb20z IikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI7IikKLSAgICAgICAjOnRlc3Rz PyAjZgorICAgICAgICM6dGVzdC1kaXIgIm1vZHVsZXMvd2ViL3NyYy90ZXN0IgorICAgICAgICM6 dGVzdC1pbmNsdWRlIChsaXN0ICIqKi8qVGVzdC4qIikKICAgICAgICAjOm1vZHVsZXMgKChpY2Ut OSBtYXRjaCkKKyAgICAgICAgICAgICAgICAgIChpY2UtOSByZWdleCkKICAgICAgICAgICAgICAg ICAgIChndWl4IGJ1aWxkIGFudC1idWlsZC1zeXN0ZW0pCiAgICAgICAgICAgICAgICAgICAoZ3Vp eCBidWlsZCB1dGlscykpCiAgICAgICAgIzpwaGFzZXMKICAgICAgICAobW9kaWZ5LXBoYXNlcyAl c3RhbmRhcmQtcGhhc2VzCiAgICAgICAgICAocmVwbGFjZSAnYnVpbGQKLSAgICAgICAgICAgKGxh bWJkYSogXworICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgb3V0cHV0cyAjOmFsbG93LW90aGVy LWtleXMpCisgICAgICAgICAgICAgKGxldCAoKGxpYiAoc3RyaW5nLWFwcGVuZCAoYXNzb2MtcmVm IG91dHB1dHMgIm91dCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi L2xpYi9saWJqZnh3ZWJraXQuc28iKSkpCisgICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogIm1v ZHVsZXMvd2ViL3NyYy9tYWluL2phdmEvY29tL3N1bi93ZWJraXQvV2ViUGFnZS5qYXZhIgorICAg ICAgICAgICAgICAgICAoKChyZWdleHAtcXVvdGUgIk5hdGl2ZUxpYkxvYWRlci5sb2FkTGlicmFy eShcImpmeHdlYmtpdFwiKTsiKSBhbGwpCisgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVu ZAorICAgICAgICAgICAgICAgICAgICJTeXN0ZW0ubG9hZChcIiIgbGliICJcIik7IikpKSkKICAg ICAgICAgICAgICAoaW52b2tlICJhbnQiICJjb21waWxlIiAiLURjbGFzc2VzLmRpcj1tb2R1bGVz L3dlYi9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCiAgICAgICAgICAgICAgI3QpKQogCkBAIC0z NDE4LDYgKzM2NzMsMTIgQEAgKGRlZmluZS1wdWJsaWMgamF2YS1vcGVuamZ4LXdlYgogICAgICAg ICAgICAgICAgICAgICAgIHdlYi1nZW5lcmF0ZWQtY2xhc3NlcykpCiAgICAgICAgICAgICAgI3Qp KQogCisgICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2NvcHktcmVzb3VyY2VzCisgICAgICAg ICAgIChsYW1iZGEgXworICAgICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5ICJtb2R1bGVzL3dl Yi9zcmMvdGVzdC9yZXNvdXJjZXMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJ1 aWxkL3Rlc3QtY2xhc3NlcyIpCisgICAgICAgICAgICAgKGNvcHktcmVjdXJzaXZlbHkgIm1vZHVs ZXMvd2ViL3NyYy9tYWluL3Jlc291cmNlcyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiYnVpbGQvY2xhc3NlcyIpKSkKICAgICAgICAgIChhZGQtYWZ0ZXIgJ2dlbmVyYXRlLWhlYWRl cnMgJ2NvbXBpbGUtbmF0aXZlLWxpbnV4CiAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1 dHMgc3lzdGVtIG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAgIChsZXQq ICAoKG1vZHVsZSAoc3RyaW5nLWFwcGVuZCAoZ2V0Y3dkKSAiL21vZHVsZXMvd2ViIikpCkBAIC0z NDY4LDEwICszNzI5LDE3IEBAIChkZWZpbmUtcHVibGljIGphdmEtb3BlbmpmeC13ZWIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gKGxpc3QgIi1XIgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLURVX0RFRklORV9G QUxTRV9BTkRfVFJVRT0xIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiLVdhbGwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICItV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uIgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLVdsLC0tZ2Mt c2VjdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICItV25vLXBhcmVudGhlc2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiLVduby11bnVzZWQiCisKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgc2lsZW5jZSBleGNlc3NpdmUgd2FybmluZ3MK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAtV25v LWV4cGFuc2lvbi10by1kZWZpbmVkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiIC1Xbm8tZGVwcmVjYXRlZC1jb3B5IgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIC1Xbm8tcmVkdW5kYW50LW1vdmUi CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgLVdu by1jbGFzcy1tZW1hY2Nlc3MiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICIgLVduby11bmRlZiIKKwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLWZQSUMiCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICItZm5vLW9taXQtZnJhbWUtcG9pbnRlciIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1mbm8tc3RyaWN0 LWFsaWFzaW5nIgpAQCAtMzQ4OCw2ICszNzU2LDM3IEBAIChkZWZpbmUtcHVibGljIGphdmEtb3Bl bmpmeC13ZWIKICAgICAgICAgICAgICAgICAgICAgICAgICAoZmluZC1maWxlcyAiLiIgIlxcLnNv JCIpKSkKICAgICAgICAgICAgICAjdCkpCiAKKyAgICAgICAgIChhZGQtYmVmb3JlICdjaGVjayAn eC10ZXN0LXNldHVwCisgICAgICAgICAgIChsYW1iZGEgXworICAgICAgICAgICAgIChzeXN0ZW0g Ilh2ZmIgOjMzICYiKQorICAgICAgICAgICAgIChzZXRlbnYgIkRJU1BMQVkiICI6MzMiKQorICAg ICAgICAgICAgICN0KSkKKworICAgICAgICAgKGFkZC1iZWZvcmUgJ3gtdGVzdC1zZXR1cCAnY29w eS1jbGFzc2VzCisgICAgICAgICAgIChsYW1iZGEgXworCisgICAgICAgICAgICAgKG1rZGlyLXAg InNyYy90ZXN0L3Jlc291cmNlcyIpCisgICAgICAgICAgICAgKGNvcHktcmVjdXJzaXZlbHkKKyAg ICAgICAgICAgICAgIm1vZHVsZXMvd2ViL3NyYy90ZXN0L3Jlc291cmNlcyIKKyAgICAgICAgICAg ICAgInNyYy90ZXN0L3Jlc291cmNlcyIpCisKKyAgICAgICAgICAgICAobWtkaXItcCAic3JjL21h aW4vbmF0aXZlL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjLyIpCisgICAgICAgICAgICAg KGNvcHktZmlsZSAibW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1Rvb2xzL1Rlc3RXZWJLaXRB UEkvVGVzdHMvbWFjL0FoZW0udHRmIgorICAgICAgICAgICAgICAgICAgICAgICAgInNyYy9tYWlu L25hdGl2ZS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9BaGVtLnR0ZiIpCisKKyAgICAg ICAgICAgICAod2l0aC1kaXJlY3RvcnktZXhjdXJzaW9uICJtb2R1bGVzL3dlYi9zcmMvdGVzdC9y ZXNvdXJjZXMvdGVzdC9odG1sLyIKKyAgICAgICAgICAgICAgIChhcHBseSBpbnZva2UgImphciIg ImNmIiAid2ViQXJjaGl2ZUphci5qYXIiIChmaW5kLWZpbGVzICIuIikpKQorCisgICAgICAgICAg ICAgKGNvcHktcmVjdXJzaXZlbHkgIm1vZHVsZXMvd2ViL2J1aWxkL2NsYXNzZXMvamF2YS9tYWlu IiAiYnVpbGQvY2xhc3NlcyIpCisgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJidWlsZC54bWwi CisgICAgICAgICAgICAgICAoKCI8anVuaXQuKmhhbHRvbmZhaWx1cmU9XCJ5ZXNcIj4iIGFsbCkK KyAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiPG1rZGlyIGRpcj1cIiR7dGVzdC5ob21l fS9ob21lXCIgLz4iIDs7IGhvbWUgZGlyIHJlcXVpcmVkIGZvciBzb21lIHRlc3RzLgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGFsbAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICI8c3lzcHJvcGVydHkga2V5PVwidXNlci5ob21lXCIgdmFsdWU9XCIke3Rlc3QuaG9tZX0v aG9tZVwiLz4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxzeXNwcm9wZXJ0eSBr ZXk9XCJqYXZhLmxpYnJhcnkucGF0aFwiIHZhbHVlPVwibW9kdWxlcy93ZWIvYnVpbGQvbGludXgv UmVsZWFzZS9saWIvXCIvPiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPGp2bWFy ZyB2YWx1ZT1cIi1EV0VCX0FSQ0hJVkVfSkFSX1RFU1RfRElSPW1vZHVsZXMvd2ViL3NyYy90ZXN0 L3Jlc291cmNlcy90ZXN0L2h0bWwvXCIvPiIpKSkKKyAgICAgICAgICAgICAjdCkpCisKICAgICAg ICAgIChhZGQtYmVmb3JlICdpbnN0YWxsICdidWlsZC1qYXIKICAgICAgICAgICAgKGxhbWJkYSBf CiAgICAgICAgICAgICAgKGxldCogKChyZXNvdXJjZXMgIm1vZHVsZXMvd2ViL3NyYy9tYWluL3Jl c291cmNlcyIpCkBAIC0zNDk4LDE5ICszNzk3LDE1IEBAIChkZWZpbmUtcHVibGljIGphdmEtb3Bl bmpmeC13ZWIKIAogICAgIChuYXRpdmUtaW5wdXRzCiAgICAgIGAoKCJqYXZhLWp1bml0IiAsamF2 YS1qdW5pdCkKLSAgICAgICAoImphdmEtaGFtY3Jlc3QtY29yZSIgLGphdmEtaGFtY3Jlc3QtY29y ZSkKICAgICAgICAoImNtYWtlIiAsY21ha2UpCi0gICAgICAgKCJndGsiICxndGsrLTIpCi0gICAg ICAgKCJndGszIiAsZ3RrKykKICAgICAgICAoInJ1YnkiICxydWJ5KQogICAgICAgICgicGVybCIg LHBlcmwpCiAgICAgICAgKCJncGVyZiIgLGdwZXJmKQogICAgICAgICgicHl0aG9uLTIiICxweXRo b24tMikKLSAgICAgICAoInBrZy1jb25maWciICxwa2ctY29uZmlnKSkpCisgICAgICAgKCJwa2ct Y29uZmlnIiAscGtnLWNvbmZpZykKKyAgICAgICAoInhvcmctc2VydmVyIiAseG9yZy1zZXJ2ZXIt Zm9yLXRlc3RzKSkpCiAgICAgKGlucHV0cwotICAgICBgKCgiYW50bHIzIiAsYW50bHIzKQotICAg ICAgICgiamF2YS1zdHJpbmd0ZW1wbGF0ZSIgLGphdmEtc3RyaW5ndGVtcGxhdGUpCi0gICAgICAg OzsgV2Via2l0IEphdmEgcG9ydCBkZXBlbmRlbmNpZXMKKyAgICAgYCg7OyBXZWJraXQgSmF2YSBw b3J0IGRlcGVuZGVuY2llcwogICAgICAgICgiaWN1NGMiICxpY3U0YykKICAgICAgICAoImxpYnht bDIiICxsaWJ4bWwyKQogICAgICAgICgibGlieHNsdCIgLGxpYnhzbHQpCkBAIC00MzEwLDYgKzQ2 MDUsOSBAQCAoZGVmaW5lLXB1YmxpYyBqYXZhLXN3dAogICAgICBgKCM6amFyLW5hbWUgInN3dC5q YXIiCiAgICAgICAgIzpqZGsgLGljZWR0ZWEtOAogICAgICAgICM6dGVzdHM/ICNmIDsgbm8gImNo ZWNrIiB0YXJnZXQKKyAgICAgICAjOm1vZHVsZXMgKChndWl4IGJ1aWxkIGFudC1idWlsZC1zeXN0 ZW0pCisgICAgICAgICAgICAgICAgICAoZ3VpeCBidWlsZCB1dGlscykKKyAgICAgICAgICAgICAg ICAgIChpY2UtOSByZWdleCkpCiAgICAgICAgIzpwaGFzZXMKICAgICAgICAobW9kaWZ5LXBoYXNl cyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgICAocmVwbGFjZSAndW5wYWNrCkBAIC00MzE5LDYg KzQ2MTcsMjIgQEAgKGRlZmluZS1wdWJsaWMgamF2YS1zd3QKICAgICAgICAgICAgICAoY2hkaXIg InN3dCIpCiAgICAgICAgICAgICAgKG1rZGlyICJzcmMiKQogICAgICAgICAgICAgIChpbnZva2Ug InVuemlwIiAic3JjLnppcCIgIi1kIiAic3JjIikpKQorICAgICAgICAgOzsgZXhwbGljaXRseSBs b2FkIG5hdGl2ZSBsaWJyYXJ5IGZyb20gZ251L3N0b3JlIGlmIGl0IGNhbid0IGJlIGZvdW5kCisg ICAgICAgICA7OyBieSBhbnkgb2Ygb3RoZXIgc3RhbmRhcmQgbWVhbnMuCisgICAgICAgICAoYWRk LWJlZm9yZSAnY29uZmlndXJlICdlbmdyYXZlLXN3dC1wYXRoCisgICAgICAgICAgIChsYW1iZGEq ICgjOmtleSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAobGV0ICgo bGliIChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvbGliIikpKQorICAgICAgICAgICAgICAgKHN1 YnN0aXR1dGUqICJzcmMvb3JnL2VjbGlwc2Uvc3d0L2ludGVybmFsL0xpYnJhcnkuamF2YSIKKyAg ICAgICAgICAgICAgICAgKCgocmVnZXhwLXF1b3RlICIvKiBGYWlsZWQgdG8gZmluZCB0aGUgbGli cmFyeSAqLyIpIGFsbCkKKyAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kCisgICAgICAg ICAgICAgICAgICAgImlmIChwYXRoICE9IG51bGwpIHsKKyAgICAgICAgICAgICAgICAgICAgIHBh dGggPSBuZXcgRmlsZSAoXCIiIGxpYiAiXCIpLmdldEFic29sdXRlUGF0aCAoKTsKKyAgICAgICAg ICAgICAgICAgICAgIGlmIChsb2FkIChwYXRoICsgU0VQQVJBVE9SICsgbWFwcGVkTmFtZTEsIG1l c3NhZ2UpKSByZXR1cm47CisgICAgICAgICAgICAgICAgICAgICBpZiAobWFwTmFtZSAmJiBsb2Fk IChwYXRoICsgU0VQQVJBVE9SICsgbWFwcGVkTmFtZTIsIG1lc3NhZ2UpKSByZXR1cm47CisgICAg ICAgICAgICAgICAgICAgIH1cblxuIgorICAgICAgICAgICAgICAgICAgICAgYWxsKSkpKQorICAg ICAgICAgICAgICN0KSkKICAgICAgICAgIDs7IFRoZSBjbGFzc3BhdGggY29udGFpbnMgaW52YWxp ZCBpY2VjYXQgamFycy4gIFNpbmNlIHdlIGRvbid0IG5lZWQKICAgICAgICAgIDs7IGFueXRoaW5n IG90aGVyIHRoYW4gdGhlIEpESyBvbiB0aGUgY2xhc3NwYXRoLCB3ZSBjYW4gc2ltcGx5IHVuc2V0 CiAgICAgICAgICA7OyBpdC4KLS0gCjIuMzQuMAoK --000000000000a2c70305e1d1f7a3 Content-Type: application/octet-stream; name="0001-Merge-Alexey-Abramov-s-openjfx-v4-patches.patch" Content-Disposition: attachment; filename="0001-Merge-Alexey-Abramov-s-openjfx-v4-patches.patch" Content-Transfer-Encoding: base64 Content-ID: <f_l4lotpgh0> X-Attachment-Id: f_l4lotpgh0 RnJvbSA4YTllYzE4ZWM2N2NhOWM5NGRiYWZmM2FjMTI5OWZhMmE0NjdjMWMzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4ZXkgQWJyYW1vdiA8bGV2ZW5zb25AbW1lci5vcmc+CkRh dGU6IFNhdCwgMTggSnVuIDIwMjIgMTI6MDc6MTIgKzAxMDAKU3ViamVjdDogW1BBVENIIHY1IDEv M10gTWVyZ2UgQWxleGV5IEFicmFtb3YncyBvcGVuamZ4IHY0IHBhdGNoZXMKCnNvdXJjZTogaHR0 cHM6Ly9pc3N1ZXMuZ3VpeC5nbnUub3JnLzQxMzYwCi0tLQogZ251L2xvY2FsLm1rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICsKIGdudS9wYWNrYWdlcy9qYXZhLnNjbSAg ICAgICAgICAgICAgICAgICAgICAgICB8IDk3NyArKysrKysrKysrKysrKystLS0KIC4uLnZhLW9w ZW5qZngtYnVpbGQtc3dpbmctSkZYUGFuZWwtSkRLOC5wYXRjaCB8ICA2MCArKwogLi4ucGVuamZ4 LWJ1aWxkLXdlYi1EdW1wUmVuZGVyVHJlZS1qYXZhLnBhdGNoIHwgIDMwICsKIC4uLi1vcGVuamZ4 LWJ1aWxkLXdlYi1PcHRpb25zSmF2YS5jbWFrZS5wYXRjaCB8ICAzMiArCiAuLi4vcGF0Y2hlcy9q YXZhLW9wZW5qZngtYnVpbGQtd2ViLVdURi5wYXRjaCAgfCAgMzMgKwogLi4uLWJ1aWxkLXdlYi1X ZWJLaXRDb21waWxlckZsYWdzLmNtYWtlLnBhdGNoIHwgIDM2ICsKIC4uLi9wYXRjaGVzL2phdmEt b3BlbmpmeC1idWlsZC13ZWItaWN1LnBhdGNoICB8ICAzOCArCiAuLi4vamF2YS1vcGVuamZ4LWJ1 aWxkLXdlYi14bG9jYWxlLmgucGF0Y2ggICAgfCAgNTIgKwogOSBmaWxlcyBjaGFuZ2VkLCAxMTQ3 IGluc2VydGlvbnMoKyksIDExOCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnbnUv cGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtc3dpbmctSkZYUGFuZWwtSkRLOC5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3Blbmpm eC1idWlsZC13ZWItRHVtcFJlbmRlclRyZWUtamF2YS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IGdudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItT3B0aW9uc0phdmEu Y21ha2UucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZh LW9wZW5qZngtYnVpbGQtd2ViLVdURi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdudS9wYWNr YWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItV2ViS2l0Q29tcGlsZXJGbGFncy5j bWFrZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEt b3BlbmpmeC1idWlsZC13ZWItaWN1LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ251L3BhY2th Z2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi14bG9jYWxlLmgucGF0Y2gKCmRpZmYg LS1naXQgYS9nbnUvbG9jYWwubWsgYi9nbnUvbG9jYWwubWsKaW5kZXggNTc2YzFhM2ViNi4uOWI5 ODJjNDJkYiAxMDA2NDQKLS0tIGEvZ251L2xvY2FsLm1rCisrKyBiL2dudS9sb2NhbC5tawpAQCAt MTMyMCw2ICsxMzIwLDEzIEBAIGRpc3RfcGF0Y2hfREFUQSA9CQkJCQkJXAogICAlRCUvcGFja2Fn ZXMvcGF0Y2hlcy9qYXZhLWNvbW1vbnMtbGFuZy1maXgtZGVwZW5kZW5jeS5wYXRjaCBcCiAgICVE JS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtamVyb21xLWZpeC10ZXN0cy5wYXRjaAkJXAogICAlRCUv cGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtamRrX3ZlcnNpb24ucGF0Y2ggICAg IFwKKyAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXN3aW5nLUpGWFBh bmVsLUpESzgucGF0Y2ggICAgIFwKKyAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4 LWJ1aWxkLXdlYi14bG9jYWxlLmgucGF0Y2ggICBcCisgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2ph dmEtb3BlbmpmeC1idWlsZC13ZWItRHVtcFJlbmRlclRyZWUtamF2YS5wYXRjaAlcCisgICVEJS9w YWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItT3B0aW9uc0phdmEuY21ha2Uu cGF0Y2gJXAorICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLVdU Ri5wYXRjaAkJCVwKKyAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdl Yi1XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlLnBhdGNoCVwKKyAgJUQlL3BhY2thZ2VzL3BhdGNo ZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1pY3UucGF0Y2gJCQlcCiAgICVEJS9wYWNrYWdlcy9w YXRjaGVzL2phdmEtcG93ZXJtb2NrLWZpeC1qYXZhLWZpbGVzLnBhdGNoCQlcCiAgICVEJS9wYWNr YWdlcy9wYXRjaGVzL2phdmEtc2ltcGxlLXhtbC1maXgtdGVzdHMucGF0Y2gJCVwKICAgJUQlL3Bh Y2thZ2VzL3BhdGNoZXMvamF2YS1zdmctc2FsYW1hbmRlci1GaXgtbm9uLWRldC5wYXRjaAlcCmRp ZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvamF2YS5zY20gYi9nbnUvcGFja2FnZXMvamF2YS5zY20K aW5kZXggZDJmYmY4NDBhMC4uNTE4NTk2Nzk2MCAxMDA2NDQKLS0tIGEvZ251L3BhY2thZ2VzL2ph dmEuc2NtCisrKyBiL2dudS9wYWNrYWdlcy9qYXZhLnNjbQpAQCAtMTEsNiArMTEsNyBAQAogOzs7 IENvcHlyaWdodCDCqSAyMDE4IENocmlzIE1hcnVzaWNoIDxjbW1hcnVzaWNoQGdtYWlsLmNvbT4K IDs7OyBDb3B5cmlnaHQgwqkgMjAxOCwgMjAxOSwgMjAyMCwgMjAyMSwgMjAyMiBFZnJhaW0gRmxh c2huZXIgPGVmcmFpbUBmbGFzaG5lci5jby5pbD4KIDs7OyBDb3B5cmlnaHQgwqkgMjAxOSwgMjAy MCwgMjAyMSBCasO2cm4gSMO2ZmxpbmcgPGJqb2Vybi5ob2VmbGluZ0Biam9lcm5ob2VmbGluZy5k ZT4KKzs7OyBDb3B5cmlnaHQgwqkgMjAyMCBBbGV4ZXkgQWJyYW1vdiA8bGV2ZW5zb25AbW1lci5v cmc+CiA7OzsgQ29weXJpZ2h0IMKpIDIwMjAgSmFuIChqYW5uZWtlKSBOaWV1d2VuaHVpemVuIDxq YW5uZWtlQGdudS5vcmc+CiA7OzsgQ29weXJpZ2h0IMKpIDIwMjAgUmFnaGF2IEd1cnVyYWphbiA8 cmFnaGF2Z3VydXJhamFuQGRpc3Jvb3Qub3JnPgogOzs7IENvcHlyaWdodCDCqSAyMDIwLCAyMDIy IE1heGltIENvdXJub3llciA8bWF4aW0uY291cm5veWVyQGdtYWlsLmNvbT4KQEAgLTU5LDEyICs2 MCwxNSBAQCAoZGVmaW5lLW1vZHVsZSAoZ251IHBhY2thZ2VzIGphdmEpCiAgICM6dXNlLW1vZHVs ZSAoZ251IHBhY2thZ2VzIGNwaW8pCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGN1cHMp CiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGNvbXByZXNzaW9uKQorICAjOnVzZS1tb2R1 bGUgKGdudSBwYWNrYWdlcyBjbWFrZSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZWxm KQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBmb250dXRpbHMpCiAgICM6dXNlLW1vZHVs ZSAoZ251IHBhY2thZ2VzIGdhd2spCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdjYykK ICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ2V0dGV4dCkKKyAgIzp1c2UtbW9kdWxlIChn bnUgcGFja2FnZXMgZ3BlcmYpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdsKQorICAj OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBnbGliKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNr YWdlcyBnaG9zdHNjcmlwdCkgO2xjbXMKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ25v bWUpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdyb292eSkKQEAgLTg1LDExICs4OSwx NCBAQCAoZGVmaW5lLW1vZHVsZSAoZ251IHBhY2thZ2VzIGphdmEpCiAgICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIHdnZXQpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHBrZy1jb25m aWcpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHBlcmwpCisgICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIHB5dGhvbikKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcG9wdCkK ICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMga2VyYmVyb3MpCisgICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIHJ1YnkpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHNlY3VyaXR5 LXRva2VuKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB4bWwpCiAgICM6dXNlLW1vZHVs ZSAoZ251IHBhY2thZ2VzIHhvcmcpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHNxbGl0 ZSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgdGV4aW5mbykKICAgIzp1c2UtbW9kdWxl ICgoc3JmaSBzcmZpLTEpICM6c2VsZWN0IChmb2xkIGFsaXN0LWRlbGV0ZSkpCiAgICM6dXNlLW1v ZHVsZSAoc3JmaSBzcmZpLTExKQpAQCAtMjUxNywxMSArMjUyNCwyMiBAQCAoZGVmaW5lLXB1Ymxp YyBqYXZhLW9wZW5qZngtYnVpbGQKICAgICAgICAgICAgICAgICcoYmVnaW4KICAgICAgICAgICAg ICAgICAgIDs7IERlbGV0ZSBpbmNsdWRlZCBncmFkbGUgamFyCiAgICAgICAgICAgICAgICAgICAo ZGVsZXRlLWZpbGUtcmVjdXJzaXZlbHkgImdyYWRsZS93cmFwcGVyIikKKyAgICAgICAgICAgICAg ICAgIDs7IERlbGV0ZSBzb3VyY2UgY29kZSBvZiBhIFRoaXJkUGFydHkgbGlicmFyaWVzCisgICAg ICAgICAgICAgICAgICAoZGVsZXRlLWZpbGUtcmVjdXJzaXZlbHkgIm1vZHVsZXMvd2ViL3NyYy9t YWluL25hdGl2ZS9Tb3VyY2UvVGhpcmRQYXJ0eSIpCisgICAgICAgICAgICAgICAgICAoZGVsZXRl LWZpbGUtcmVjdXJzaXZlbHkgIm1vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvUGxh dGZvcm1KYXZhLmNtYWtlIikKICAgICAgICAgICAgICAgICAgICN0KSkKICAgICAgICAgICAgICAg KHNoYTI1NgogICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAgICIweWczOG13 cGl2c3djY3Y5bjk2azA2eDNpdjgyaTRweDFhOXhnOWw4ZHN3endtZmoyNTlmIikpCi0gICAgICAg ICAgICAgIChwYXRjaGVzIChzZWFyY2gtcGF0Y2hlcyAiamF2YS1vcGVuamZ4LWJ1aWxkLWpka192 ZXJzaW9uLnBhdGNoIikpKSkKKyAgICAgICAgICAgICAgKHBhdGNoZXMgKHNlYXJjaC1wYXRjaGVz ICJqYXZhLW9wZW5qZngtYnVpbGQtamRrX3ZlcnNpb24ucGF0Y2giCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiamF2YS1vcGVuamZ4LWJ1aWxkLXN3aW5nLUpGWFBhbmVs LUpESzgucGF0Y2giCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiamF2 YS1vcGVuamZ4LWJ1aWxkLXdlYi14bG9jYWxlLmgucGF0Y2giCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1EdW1wUmVuZGVyVHJl ZS1qYXZhLnBhdGNoIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImph dmEtb3BlbmpmeC1idWlsZC13ZWItT3B0aW9uc0phdmEuY21ha2UucGF0Y2giCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1XVEYu cGF0Y2giCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiamF2YS1vcGVu amZ4LWJ1aWxkLXdlYi1XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlLnBhdGNoIgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImphdmEtb3BlbmpmeC1idWlsZC13ZWItaWN1 LnBhdGNoIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSkpKQogICAg IChidWlsZC1zeXN0ZW0gYW50LWJ1aWxkLXN5c3RlbSkKICAgICAoYXJndW1lbnRzCiAgICAgIGAo IzpqYXItbmFtZSAiamF2YS1vcGVuamZ4LmphciIKQEAgLTI1ODAsMTEyICsyNTk4LDY5MyBAQCAo ZGVmaW5lLXB1YmxpYyBqYXZhLW9wZW5qZngtYmFzZQogYXBwbGljYXRpb25zLiAgVGhpcyBwYWNr YWdlIGNvbnRhaW5zIGJhc2UgY2xhc3NlcyBmb3IgdGhlIE9wZW5KRlgKIGRpc3RyaWJ1dGlvbi4i KSkpCiAKKzs7IFRoZSBncmFwaGljcyBtb2R1bGUgaXMgbmVlZGVkIGZvciBhbnkgZ3JhcGhpY2Fs IEphdmFGWCBhcHBsaWNhdGlvbi4gSXQKKzs7IHJlcXVpcmVzIHRoZSBiYXNlIG1vZHVsZSBhbmQg aW5jbHVkZXMgdGhlIHNjZW5lIGdyYXBoLCBsYXlvdXQsIGNzcywgcHJpc20sCis7OyB3aW5kb3dp bmcsIGV0Yy4gVGhpcyBpcyBhIGZhaXJseSBjb21wbGljYXRlZCBtb2R1bGUuIFRoZXJlIGFyZSBt YW55Cis7OyBkaWZmZXJlbnQgdHlwZXMgb2YgbmF0aXZlIGNvbXBvbmVudHMgdGhhdCBhbGwgbmVl ZCB0byBiZSBjb21waWxlZC4KKzs7Cis7OyBBbGwgdGhlIGJlbGxvdyBzdGVwcyB3ZXJlIHRha2Vu IGJ5IGluc3BlY3RpbmcgYnVpbGQuZ3JhZGVsIGFuZCAgLi9ncmFkbGV3IGJ1aWxkIC0taW5mbwor OzsgcmVzdWx0LgogKGRlZmluZS1wdWJsaWMgamF2YS1vcGVuamZ4LWdyYXBoaWNzCiAgIChwYWNr YWdlIChpbmhlcml0IGphdmEtb3BlbmpmeC1idWlsZCkKICAgICAobmFtZSAiamF2YS1vcGVuamZ4 LWdyYXBoaWNzIikKICAgICAoYXJndW1lbnRzCiAgICAgIGAoIzpqYXItbmFtZSAiamF2YS1vcGVu amZ4LWdyYXBoaWNzLmphciIKICAgICAgICAjOnNvdXJjZS1kaXIgIm1vZHVsZXMvZ3JhcGhpY3Mv c3JjL21haW4vamF2YSIKLSAgICAgICAjOnRlc3RzPyAjZjsgcmVxdWlyZSBYCisgICAgICAgIzp0 ZXN0cz8gI2YgICAgICAgICAgICAgICA7IHJlcXVpcmVzIFgKICAgICAgICAjOnRlc3QtZGlyICJt b2R1bGVzL2dyYXBoaWNzL3NyYy90ZXN0IgorICAgICAgICM6dGVzdC1pbmNsdWRlIChsaXN0ICIq Ki8qVGVzdC4qIikKKyAgICAgICAjOm1vZHVsZXMgKChndWl4IGJ1aWxkIGFudC1idWlsZC1zeXN0 ZW0pCisgICAgICAgICAgICAgICAgICAoZ3VpeCBidWlsZCB1dGlscykKKyAgICAgICAgICAgICAg ICAgIChzcmZpIHNyZmktMSkKKyAgICAgICAgICAgICAgICAgIChzcmZpIHNyZmktMjYpCisgICAg ICAgICAgICAgICAgICAoaWNlLTkgcmVnZXgpCisgICAgICAgICAgICAgICAgICAoaWNlLTkgbWF0 Y2gpKQogICAgICAgICM6cGhhc2VzCi0gICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBo YXNlcwotICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNrICdjb3B5LW1pc3NpbmctZmlsZQotICAg ICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzICM6YWxsb3ctb3RoZXIta2V5cykKLSAgICAg ICAgICAgICAobGV0ICgodGFyZ2V0ICJtb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL25hdGl2ZS1w cmlzbS1zdy9KTmF0aXZlU3VyZmFjZS5jIikpCi0gICAgICAgICAgICAgICAoY29weS1maWxlIChh c3NvYy1yZWYgaW5wdXRzICJKTmF0aXZlU3VyZmFjZS5jIikgdGFyZ2V0KQotICAgICAgICAgICAg ICAgOzsgWFhYOiBsb29rcyBsaWtlIHRoZSBtaXNzaW5nIGZpbGUgd2UgZm91bmQgaXNuJ3QgKnF1 aXRlKgotICAgICAgICAgICAgICAgOzsgY29tcGF0aWJsZS4uLgotICAgICAgICAgICAgICAgKHN1 YnN0aXR1dGUqIHRhcmdldAotICAgICAgICAgICAgICAgICAoKCJjYXNlIFRZUEVfSU5UX0FSR0I6 IikgIiIpKSkpKQotICAgICAgICAgKGFkZC1hZnRlciAnYnVpbGQgJ2J1aWxkLW5hdGl2ZQotICAg ICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzIG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlz KQotICAgICAgICAgICAgIChsZXQgKChqZGsgKGFzc29jLXJlZiBpbnB1dHMgImpkayIpKQotICAg ICAgICAgICAgICAgICAgIChjbGFzcy1maWxlLT5jbGFzcy1uYW1lCi0gICAgICAgICAgICAgICAg ICAgIChsYW1iZGEgKGNsYXNzLWZpbGUpCi0gICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1t YXAgKGxhbWJkYSAoYykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAo Y2hhcj0/IGMgI1wvKSAjXC4gYykpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHN0cmluZy1kcm9wLXJpZ2h0IGNsYXNzLWZpbGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1sZW5ndGggIi5jbGFzcyIpKSkpKSkK LSAgICAgICAgICAgICAgIChzZXRlbnYgIkNQUEZMQUdTIgotICAgICAgICAgICAgICAgICAgICAg ICAoc3RyaW5nLWFwcGVuZCAiLURJTkxJTkU9aW5saW5lICIKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIi1ETElOVVggIgotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiLUkiIGpkayAiL2luY2x1ZGUgIgotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiLUkiIGpkayAiL2luY2x1ZGUvbGludXggIgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLUkgIiAoZ2V0Y3dkKSAiL2J1aWxkL2NsYXNzZXMvaW5j bHVkZSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSAiIChnZXRj d2QpICIvbW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRpdmUtcHJpc20tc3ciKSkKLQotICAg ICAgICAgICAgICAgOzsgSW5zdHJ1Y3Rpb25zIGhhdmUgYmVlbiBhZGFwdGVkIGZyb20gYnVpbGRT cmMvbGludXguZ3JhZGxlCi0gICAgICAgICAgICAgICAod2l0aC1kaXJlY3RvcnktZXhjdXJzaW9u ICJidWlsZC9jbGFzc2VzIgotICAgICAgICAgICAgICAgICA7OyBCdWlsZCBwcmlzbQotICAgICAg ICAgICAgICAgICAobWtkaXItcCAiaW5jbHVkZSIpCi0KLSAgICAgICAgICAgICAgICAgOzsgR2Vu ZXJhdGUgaGVhZGVycyBmb3IgcHJpc20KLSAgICAgICAgICAgICAgICAgKGFwcGx5IGludm9rZSAi amF2YWgiICItZCIgImluY2x1ZGUiICItY3AiICIuIgotICAgICAgICAgICAgICAgICAgICAgICAg KG1hcCBjbGFzcy1maWxlLT5jbGFzcy1uYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg IChhcHBlbmQgKGZpbmQtZmlsZXMgImNvbS9zdW4vcHJpc20vaW1wbCIgIlxcLmNsYXNzJCIpCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgImNvbS9zdW4v cHJpc20iICJQcmVzZW50YWJsZVN0YXRlLipcXC5jbGFzcyQiKSkpKQotCi0gICAgICAgICAgICAg ICAgIDs7IC4uLnRoZW4gZm9yIHByaXNtX3N3Ci0gICAgICAgICAgICAgICAgIChhcHBseSBpbnZv a2UgImphdmFoIiAiLWQiICJpbmNsdWRlIiAiLWNwIiAiLiIKLSAgICAgICAgICAgICAgICAgICAg ICAgIChtYXAgY2xhc3MtZmlsZS0+Y2xhc3MtbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoZmluZC1maWxlcyAiY29tL3N1bi9waXNjZXMiICJcXC5jbGFzcyQiKSkpCi0KLSAgICAg ICAgICAgICAgICAgOzsgLi4uYW5kIGZvciBwcmlzbV9lczIKLSAgICAgICAgICAgICAgICAgKGFw cGx5IGludm9rZSAiamF2YWgiICItZCIgImluY2x1ZGUiICItY3AiICIuIgotICAgICAgICAgICAg ICAgICAgICAgICAgKG1hcCBjbGFzcy1maWxlLT5jbGFzcy1uYW1lCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChmaW5kLWZpbGVzICJjb20vc3VuL3ByaXNtL2VzMiIgIlxcLmNsYXNzJCIp KSkpKQotCi0gICAgICAgICAgICAgKHdpdGgtZGlyZWN0b3J5LWV4Y3Vyc2lvbiAibmV0YmVhbnMv bmF0aXZlLXByaXNtIgotICAgICAgICAgICAgICAgKGludm9rZSAibWFrZSIgIkNPTkY9UmVsZWFz ZSIpKQotICAgICAgICAgICAgICh3aXRoLWRpcmVjdG9yeS1leGN1cnNpb24gIm5ldGJlYW5zL25h dGl2ZS1wcmlzbS1zdyIKLSAgICAgICAgICAgICAgIChpbnZva2UgIm1ha2UiICJDT05GPVJlbGVh c2UiKSkKLSAgICAgICAgICAgICA7OyBUT0RPOiBUaGlzIGZhaWxzIGR1ZSB0byB1bmtub3duIEVH TCBwcm9jZWR1cmUgbmFtZXMKLSAgICAgICAgICAgICAjOwotICAgICAgICAgICAgICh3aXRoLWRp cmVjdG9yeS1leGN1cnNpb24gIm5ldGJlYW5zL25hdGl2ZS1wcmlzbS1lczIiCi0gICAgICAgICAg ICAgICAoaW52b2tlICJtYWtlIiAiQ09ORj1SZWxlYXNlIikpCisgICAgICAgKGxldCogKChqZGsg KGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJqZGsiKSkKKyAgICAgICAgICAgICAgKGphdmFjL2gt ZmxhZ3MKKyAgICAgICAgICAgICAgICcoOzsgV2hlbiBqYXZhYyBpcyBjb21waWxpbmcgY29kZSBp dCBkb2Vzbid0IGxpbmsKKyAgICAgICAgICAgICAgICAgOzsgYWdhaW5zdCBydC5qYXIgYnkgZGVm YXVsdC4gSW5zdGVhZCBpdCB1c2VzIHNwZWNpYWwKKyAgICAgICAgICAgICAgICAgOzsgc3ltYm9s IGZpbGUgbGliL2N0LnN5bSB3aXRoIGNsYXNzIHN0dWJzLgorICAgICAgICAgICAgICAgICA7OyBT dXJwcmlzaW5nbHkgdGhpcyBmaWxlIGNvbnRhaW5zIG1hbnkgYnV0IG5vdCAqYWxsKgorICAgICAg ICAgICAgICAgICA7OyBvZiBpbnRlcm5hbCBjbGFzc2VzLgorICAgICAgICAgICAgICAgICAiLVhE aWdub3JlLnN5bWJvbC5maWxlIgorICAgICAgICAgICAgICAgICA7OyBJdCdzIGFuIGludGVybmFs IG9wdGlvbiBmb3IgSkRLIDEuNysgdGhhdCBwcmV2ZW50cworICAgICAgICAgICAgICAgICA7OyB0 aGUgY29tcGlsZXIgZnJvbSBzaGFyaW5nIGEgdGFibGUgdGhhdCB3aWxsIG5ldmVyCisgICAgICAg ICAgICAgICAgIDs7IGJlIHJldXNlZC4gV2hlbiBzaGFyZWQsIGl0IGNhbid0IGJlIGdhcmJhZ2UK KyAgICAgICAgICAgICAgICAgOzsgY29sbGVjdGVkLCBjb250aW51ZXMgdG8gYWNjdW11bGF0ZSBk YXRhLCBhbmQKKyAgICAgICAgICAgICAgICAgOzsgdGhlcmVmb3JlIHdhc3RlcyBtZW1vcnkuCisg ICAgICAgICAgICAgICAgICItWER1c2VVbnNoYXJlZFRhYmxlPXRydWUiKSkKKyAgICAgICAgICAg ICAgKGNvbW1vbi1mbGFncworICAgICAgICAgICAgICAgJygiLWZuby1zdHJpY3QtYWxpYXNpbmci ICItZlBJQyIgIi1mbm8tb21pdC1mcmFtZS1wb2ludGVyIiA7OyBvcHRpbWl6YXRpb24gZmxhZ3MK KyAgICAgICAgICAgICAgICAgIi1mc3RhY2stcHJvdGVjdG9yIgorICAgICAgICAgICAgICAgICAi LVciICItV2FsbCIgIi1Xbm8tdW51c2VkIiAiLVduby1wYXJlbnRoZXNlcyIpKQorICAgICAgICAg ICAgICAoY2MtZmxhZ3MKKyAgICAgICAgICAgICAgIGAoLEBjb21tb24tZmxhZ3MgIi1jIiAiLWZm dW5jdGlvbi1zZWN0aW9ucyIgIi1mZGF0YS1zZWN0aW9ucyIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIi1JIiAsKHN0cmluZy1hcHBlbmQgamRrICIvaW5jbHVkZSIpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1 ZGUvbGludXgiKSkpCisgICAgICAgICAgICAgIChsaW5rLWZsYWdzCisgICAgICAgICAgICAgICBg KCItc3RhdGljLWxpYmdjYyIgIi1zdGF0aWMtbGlic3RkYysrIiAiLXNoYXJlZCIgLEBjb21tb24t ZmxhZ3MKKyAgICAgICAgICAgICAgICAgIi16IiAicmVscm8iCisgICAgICAgICAgICAgICAgICIt V2wsLS1nYy1zZWN0aW9ucyIpKQorICAgICAgICAgICAgICAoamF2YS1hdXgtY2xhc3M/CisgICAg ICAgICAgICAgICAobGFtYmRhIChjbGFzcykKKyAgICAgICAgICAgICAgICAgKHN0cmluZy1tYXRj aCAiXFwkWzAtOV0rXFwuY2xhc3MiIGNsYXNzKSkpCisgICAgICAgICAgICAgIChqYXZhLWxpc3Qt Y2xhc3NlcworICAgICAgICAgICAgICAgKGxhbWJkYSAocGF0aCkKKyAgICAgICAgICAgICAgICAg OzsgRm9yIGVhY2ggLmphdmEgZmlsZSB3ZSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hhdAorICAgICAg ICAgICAgICAgICA7OyBjbGFzcyB0aGUgLmphdmEgZmlsZSBiZWxvbmdzIGluIGFuZCBjb252ZXJ0 IGl0IHRvIGEKKyAgICAgICAgICAgICAgICAgOzsgY2xhc3MgbmFtZS4KKyAgICAgICAgICAgICAg ICAgKGZpbHRlci1tYXAKKyAgICAgICAgICAgICAgICAgIChsYW1iZGEgKGNsYXNzKQorICAgICAg ICAgICAgICAgICAgICAobGV0KiAoKHJ4IChtYWtlLXJlZ2V4cCAoc3RyaW5nLWFwcGVuZCBwYXRo IGZpbGUtbmFtZS1zZXBhcmF0b3Itc3RyaW5nICI/IikpKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGNsYXNzIChzdHJpbmctZHJvcC1yaWdodCBjbGFzcyAoc3RyaW5nLWxlbmd0aCAiLmNs YXNzIikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsYXNzIChtYXRjaDpzdWZmaXgg KHJlZ2V4cC1leGVjIHJ4IGNsYXNzKSkpKQorICAgICAgICAgICAgICAgICAgICAgIChpZiAoamF2 YS1hdXgtY2xhc3M/IGNsYXNzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAjZgorICAgICAg ICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gKHN0cmluZy1zcGxpdCBjbGFzcyAjXC8p ICIuIikpKSkKKyAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVzIHBhdGggIlxcLmNsYXNzJCIp KSkpKQorICAgICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogCi0gICAgICAg ICAgICAgKGxldCogKChvdXQgKGFzc29jLXJlZiBvdXRwdXRzICJvdXQiKSkKLSAgICAgICAgICAg ICAgICAgICAgKGRpciAsKG1hdGNoICglY3VycmVudC1zeXN0ZW0pCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgKCJpNjg2LWxpbnV4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi aTM4NiIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKChvciAiYXJtaGYtbGludXgiICJh YXJjaDY0LWxpbnV4IikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFybSIpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgKChvciAieDg2XzY0LWxpbnV4IikKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgImFtZDY0IikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAo XyAidW5rbm93biIpKSkKLSAgICAgICAgICAgICAgICAgICAgKHRhcmdldCAoc3RyaW5nLWFwcGVu ZCBvdXQgIi9zaGFyZS8iIGRpciAiLyIpKSkKLSAgICAgICAgICAgICAgIChta2Rpci1wIHRhcmdl dCkKLSAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChmaWxlKQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGxldCAoKG5ldy1uYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHN0cmluZy1hcHBlbmQgImxpYiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLW1hcAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGFtYmRhIChjKQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoY2hhcj0/IGMgI1wtKSAj XF8gYykpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChzdHJpbmctZHJvcCAoYmFzZW5hbWUgZmlsZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctbGVuZ3RoICJsaWJu YXRpdmUtIikpKSkpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29weS1maWxlIGZp bGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVu ZCB0YXJnZXQgbmV3LW5hbWUpKSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmls ZXMgIm5ldGJlYW5zIiAiXFwuc28kIikpKSkpKSkpCi0gICAgKHByb3BhZ2F0ZWQtaW5wdXRzCi0g ICAgIChsaXN0IGphdmEtb3BlbmpmeC1iYXNlIGphdmEtc3d0KSkKLSAgICA7OyBYWFg6IGZvciB1 bmtub3duIHJlYXNvbnMKLSAgICA7OyBtb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL25hdGl2ZS1w cmlzbS1zdy9KTmF0aXZlU3VyZmFjZS5jIGlzIG1pc3NpbmcKLSAgICA7OyBpbiB0aGlzIHJldmlz aW9uLgorICAgICAgICAgICAocmVwbGFjZSAnYnVpbGQKKyAgICAgICAgICAgICAobGFtYmRhIF8K KyAgICAgICAgICAgICAgIDs7IERvIG5vdCBtaXggZGlmZmVyZW50IGNsYXNzZXMuIFRoZXJlIHdp bGwgYmUgbW9yZSBzdHVmZiBpbiBidWlsZC9jbGFzc2VzCisgICAgICAgICAgICAgICAoaW52b2tl ICJhbnQiICJjb21waWxlIiAiLURjbGFzc2VzLmRpcj1tb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2Ns YXNzZXMvamF2YS9tYWluIikKKyAgICAgICAgICAgICAgICN0KSkKKworICAgICAgICAgICA7OyBU aGUgRGVjb3JhIGFuZCBQcmlzbSBKU0wgZmlsZXMgaGF2ZSB0byBiZSBnZW5lcmF0ZWQgaW4gYSB2 ZXJ5IHNwZWNpZmljIHNldCBvZiBzdGVwcy4KKyAgICAgICAgICAgOzsgICAgICAxKSBDb21waWxl IHRoZSAqQ29tcGlsZS5qYXZhIGNsYXNzZXMuIFRoZXNlIGxpdmUgaW4gc3JjL21haW4vanNsLSog YW5kIHdpbGwgYmUKKyAgICAgICAgICAgOzsgICAgICAgICBvdXRwdXQgdG8gJGJ1aWxkRGlyL2Ns YXNzZXMvanNsLWNvbXBpbGVycy8qICh3aGVyZSAqID09IGRlY29yYSBvciBwcmlzbSkuCisgICAg ICAgICAgIDs7ICAgICAgMikgR2VuZXJhdGUgc291cmNlIGZpbGVzIGZyb20gdGhlIEpTTCBmaWxl cyBjb250YWluZWQgaW4gc3JjL21haW4vanNsLSouIFRoZXNlCisgICAgICAgICAgIDs7ICAgICAg ICAgd2lsbCBiZSBvdXRwdXQgdG8gJGJ1aWxkRGlyL2dlbmVyYXRlZC1zcmMvanNsLSoKKyAgICAg ICAgICAgOzsgICAgICAzKSBDb21waWxlIHRoZSBKU0wgSmF2YSBzb3VyY2VzIGluICRidWlsZERp ci9nZW5lcmF0ZWQtc3JjL2pzbC0qIGFuZCBwdXQgdGhlIG91dHB1dAorICAgICAgICAgICA7OyAg ICAgICAgIGludG8gY2xhc3Nlcy9qc2wtKgorICAgICAgICAgICA7OyAgICAgIDQpIENvbXBpbGUg dGhlIG5hdGl2ZSBKU0wgc291cmNlcyBpbiAkYnVpbGREaXIvZ2VuZXJhdGVkLXNyYy9qc2wtKiBh bmQgcHV0IHRoZSBvYmoKKyAgICAgICAgICAgOzsgICAgICAgICBmaWxlcyBpbnRvIG5hdGl2ZS9q c2wtKiBhbmQgdGhlIHJlc3VsdGluZyBsaWJyYXJ5IGludG8gbGlicy9qc2wtKi5kbGx8c298ZHls aWIKKyAgICAgICAgICAgOzsgICAgICA1KSBNb2RpZnkgdGhlIGphciBzdGVwIHRvIGluY2x1ZGUg Y2xhc3Nlcy9qc2wtKgorICAgICAgICAgICA7OyBUaGUgbmF0aXZlIGxpYnJhcnkgbXVzdCBiZSBj b3BpZWQgb3ZlciBkdXJpbmcgU0RLIGNyZWF0aW9uIHRpbWUgaW4gdGhlICJzZGsiIHRhc2suIElu CisgICAgICAgICAgIDs7IGFkZGl0aW9uIHRvIHRoZXNlIHN0ZXBzLCB0aGUgY2xlYW4gdGFzayBp cyBjcmVhdGVkLiBOb3RlIHRoYXQgSSBkaWRuJ3QgYm90aGVyIHRvIGNyZWF0ZQorICAgICAgICAg ICA7OyBhIG5ldyB0YXNrIGZvciBlYWNoIG9mIHRoZSBkZWNvcmEgZmlsZXMsIHByZWZlcnJpbmcg aW5zdGVhZCBqdXN0IHRvIGNyZWF0ZSBhIHJ1bGU/PyBBbHNvCisgICAgICAgICAgIDs7IG5lZWQg ImNsZWFuIiB0YXNrcyBmb3IgZWFjaCBjb21waWxlIHRhc2suCisgICAgICAgICAgIChhZGQtYWZ0 ZXIgJ2J1aWxkICdjb21waWxlLXByaXNtLWNvbXBpbGVycworICAgICAgICAgICAgIChsYW1iZGEg XworICAgICAgICAgICAgICAgKGxldCAoKHByaXNtLWNvbXBpbGVycy1jbGFzc2VzICJtb2R1bGVz L2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMvanNsLWNvbXBpbGVycy9wcmlzbSIpCisgICAgICAgICAg ICAgICAgICAgICAocHJpc20tc3JjICJtb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL2pzbC1wcmlz bS8iKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgcHJpc20tY29tcGlsZXJzLWNsYXNzZXMp CisKKyAgICAgICAgICAgICAgICAgKGFwcGx5IGludm9rZSAiamF2YWMiICItZCIgcHJpc20tY29t cGlsZXJzLWNsYXNzZXMKKyAgICAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQgamF2YWMvaC1m bGFncyAoZmluZC1maWxlcyBwcmlzbS1zcmMgIlxcLmphdmEiKSkpKQorCisgICAgICAgICAgICAg ICAjdCkpCisKKyAgICAgICAgICAgKGFkZC1hZnRlciAnY29tcGlsZS1wcmlzbS1jb21waWxlcnMg J2dlbmVyYXRlLXByaXNtLXNoYWRlcnMKKyAgICAgICAgICAgICAobGFtYmRhIF8KKyAgICAgICAg ICAgICAgIChsZXQgKChwcmlzbS1jb21waWxlcnMtY2xhc3NlcyAibW9kdWxlcy9ncmFwaGljcy9i dWlsZC9jbGFzc2VzL2pzbC1jb21waWxlcnMvcHJpc20iKQorICAgICAgICAgICAgICAgICAgICAg KHByaXNtLXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9qc2wtcHJpc20vIikKKyAgICAg ICAgICAgICAgICAgICAgIChwcmlzbS1nZW4tc3JjICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2dl bmVyYXRlZC1zcmMvanNsLXByaXNtIikpCisgICAgICAgICAgICAgICAgIChta2Rpci1wIHByaXNt LWdlbi1zcmMpCisgICAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChmaWxlKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJqYXZhIgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1jcCIgKHN0cmluZy1qb2luIChsaXN0CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IEZv ciBDb21waWxlSlNMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHByaXNtLWNvbXBpbGVycy1jbGFzc2VzCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IGpzbCBmaWxlcyBhcmUgdGhl cmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcHJpc20tc3JjCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChnZXRlbnYgIkNMQVNTUEFUSCIpKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI6IikKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJDb21waWxlSlNMIgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIi1pIiBwcmlzbS1zcmMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICItbyIgcHJpc20tZ2VuLXNyYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIi10IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1wa2ciICJj b20vc3VuL3ByaXNtIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1kM2Qi CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLWVzMiIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICItbmFtZSIgKGxpc3QgZmlsZSkpKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgcHJpc20tc3JjICJcXC5qc2wkIikpKQorICAg ICAgICAgICAgICAgI3QpKQorCisgICAgICAgICAgIChhZGQtYWZ0ZXIgJ2dlbmVyYXRlLXByaXNt LXNoYWRlcnMgJ2NvbXBpbGUtcHJpc20tc2hhZGVycworICAgICAgICAgICAgIChsYW1iZGEgXwor ICAgICAgICAgICAgICAgKGxldCogKChjbGFzc2VzICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2Ns YXNzZXMvamF2YS9tYWluIikKKyAgICAgICAgICAgICAgICAgICAgICAocHJpc20tY2xhc3NlcyAi bW9kdWxlcy9ncmFwaGljcy9idWlsZC9jbGFzc2VzL2pzbC1wcmlzbSIpCisgICAgICAgICAgICAg ICAgICAgICAgKHByaXNtLWdlbi1zcmMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvZ2VuZXJhdGVk LXNyYy9qc2wtcHJpc20iKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1nZW4tc2hhZGVy cy1zcmMgKHN0cmluZy1hcHBlbmQgcHJpc20tZ2VuLXNyYyAiL2NvbS9zdW4vcHJpc20vc2hhZGVy IikpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCBwcmlzbS1jbGFzc2VzKQorICAgICAgICAg ICAgICAgICAoYXBwbHkgaW52b2tlICJqYXZhYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICIt ZCIgcHJpc20tY2xhc3NlcworICAgICAgICAgICAgICAgICAgICAgICAgIi1jcCIgKHN0cmluZy1h cHBlbmQgY2xhc3NlcyAiOiIgKGdldGVudiAiQ0xBU1NQQVRIIikpCisgICAgICAgICAgICAgICAg ICAgICAgICAoYXBwZW5kIGphdmFjL2gtZmxhZ3MgKGZpbmQtZmlsZXMgcHJpc20tZ2VuLXNoYWRl cnMtc3JjKSkpKQorICAgICAgICAgICAgICAgI3QpKQorCisgICAgICAgICAgIChhZGQtYWZ0ZXIg J2NvbXBpbGUtcHJpc20tc2hhZGVycyAnY29tcGlsZS1kZWNvcmEtY29tcGlsZXJzCisgICAgICAg ICAgICAgKGxhbWJkYSBfCisgICAgICAgICAgICAgICAobGV0ICgoY2xhc3NlcyAibW9kdWxlcy9n cmFwaGljcy9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAgICAgICAgICAgICAgICAo ZGVjb3JhLWNvbXBpbGVycy1jbGFzc2VzICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMv anNsLWNvbXBpbGVycy9kZWNvcmEiKQorICAgICAgICAgICAgICAgICAgICAgKGRlY29yYS1zcmMg Im1vZHVsZXMvZ3JhcGhpY3Mvc3JjL21haW4vanNsLWRlY29yYS8iKSkKKyAgICAgICAgICAgICAg ICAgKG1rZGlyLXAgZGVjb3JhLWNvbXBpbGVycy1jbGFzc2VzKQorICAgICAgICAgICAgICAgICAo YXBwbHkgaW52b2tlICJqYXZhYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICItZCIgZGVjb3Jh LWNvbXBpbGVycy1jbGFzc2VzCisgICAgICAgICAgICAgICAgICAgICAgICAiLWNwIiAoc3RyaW5n LWFwcGVuZCBjbGFzc2VzICI6IiAoZ2V0ZW52ICJDTEFTU1BBVEgiKSkKKyAgICAgICAgICAgICAg ICAgICAgICAgIChhcHBlbmQgamF2YWMvaC1mbGFncyAoZmluZC1maWxlcyBkZWNvcmEtc3JjICJc XC5qYXZhIikpKSkKKyAgICAgICAgICAgICAgICN0KSkKKworICAgICAgICAgICAoYWRkLWFmdGVy ICdjb21waWxlLWRlY29yYS1jb21waWxlcnMgJ2dlbmVyYXRlLWRlY29yYS1zaGFkZXJzCisgICAg ICAgICAgICAgKGxhbWJkYSBfCisgICAgICAgICAgICAgICAobGV0ICgoY2xhc3NlcyAibW9kdWxl cy9ncmFwaGljcy9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAgICAgICAgICAgICAg ICAoZGVjb3JhLWNsYXNzZXMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvY2xhc3Nlcy9qc2wtZGVj b3JhLyIpCisgICAgICAgICAgICAgICAgICAgICAoZGVjb3JhLWNvbXBpbGVycy1jbGFzc2VzICJt b2R1bGVzL2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMvanNsLWNvbXBpbGVycy9kZWNvcmEiKQorICAg ICAgICAgICAgICAgICAgICAgKGRlY29yYS1nZW4tc3JjICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxk L2dlbmVyYXRlZC1zcmMvanNsLWRlY29yYSIpCisgICAgICAgICAgICAgICAgICAgICAoZGVjb3Jh LXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9qc2wtZGVjb3JhLyIpCisgICAgICAgICAg ICAgICAgICAgICAoZGVjb3JhLWNvbXBvbmVudHMgJyhbKGZpbGUtbmFtZSAuICJDb2xvckFkanVz dCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdlbmVyYXRv ciAuICJDb21waWxlSlNMIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAob3V0cHV0cyAuICItYWxsIildCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBbKGZpbGUtbmFtZSAuICJCcmlnaHRwYXNzIikKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2VuZXJhdG9yIC4gIkNvbXBpbGVKU0wiKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvdXRwdXRzIC4gIi1hbGwi KV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoZmlsZS1uYW1l IC4gIlNlcGlhVG9uZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGdlbmVyYXRvciAuICJDb21waWxlSlNMIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAob3V0cHV0cyAuICItYWxsIildCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBbKGZpbGUtbmFtZSAuICJQZXJzcGVjdGl2ZVRyYW5zZm9y bSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdlbmVyYXRv ciAuICJDb21waWxlSlNMIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAob3V0cHV0cyAuICItYWxsIildCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBbKGZpbGUtbmFtZSAuICJEaXNwbGFjZW1lbnRNYXAiKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnZW5lcmF0b3IgLiAiQ29tcGlsZUpTTCIp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG91dHB1dHMgLiAi LWFsbCIpXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhmaWxl LW5hbWUgLiAiSW52ZXJ0TWFzayIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGdlbmVyYXRvciAuICJDb21waWxlSlNMIikKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAob3V0cHV0cyAuICItYWxsIildCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKGZpbGUtbmFtZSAuICJCbGVuZCIpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdlbmVyYXRvciAuICJDb21w aWxlQmxlbmQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChv dXRwdXRzIC4gIi1hbGwiKV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFsoZmlsZS1uYW1lIC4gIlBob25nTGlnaHRpbmciKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChnZW5lcmF0b3IgLiAiQ29tcGlsZVBob25nIikKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3V0cHV0cyAuICItYWxsIild CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKGZpbGUtbmFtZSAu ICJMaW5lYXJDb252b2x2ZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGdlbmVyYXRvciAuICJDb21waWxlTGluZWFyQ29udm9sdmUiKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvdXRwdXRzIC4gIi1odyIpXQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhmaWxlLW5hbWUgLiAiTGluZWFy Q29udm9sdmVTaGFkb3ciKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChnZW5lcmF0b3IgLiAiQ29tcGlsZUxpbmVhckNvbnZvbHZlIikKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3V0cHV0cyAuICItaHciKV0pKSkKKyAgICAg ICAgICAgICAgICAgKG1rZGlyLXAgZGVjb3JhLWdlbi1zcmMpCisgICAgICAgICAgICAgICAgIChm b3ItZWFjaCAobWF0Y2gtbGFtYmRhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKCdm aWxlLW5hbWUgLiBmaWxlLW5hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdn ZW5lcmF0b3IgLiBnZW5lcmF0b3IpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdv dXRwdXRzIC4gb3V0cHV0cykpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwbHkg aW52b2tlICJqYXZhIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItY3Ai IChzdHJpbmctam9pbiAoY29ucyogY2xhc3NlcworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb3JhLXNyYworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsg Q29tcGlsZUpTTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGVjb3JhLWNvbXBpbGVycy1jbGFzc2VzCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvcmEt Y2xhc3NlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOzsgV2UgbmVlZCByZXNvdXJjZXMgZnJvbSB0aGUgYnVpbGQKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJidWlsZFNyYy9zcmMvbWFpbi9yZXNvdXJjZXMiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCAoZ2V0ZW52ICJDTEFT U1BBVEgiKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICI6IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5l cmF0b3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLWkiIGRlY29yYS1z cmMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8iIGRlY29yYS1nZW4t c3JjCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi10IgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICItcGtnIiAiY29tL3N1bi9zY2VuYXJpby9lZmZl Y3QiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0cworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGZpbGUtbmFtZSkpKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRlY29yYS1jb21wb25lbnRzKQorICAgICAgICAgICAgICAg ICAjdCkpKQorCisgICAgICAgICAgIChhZGQtYWZ0ZXIgJ2dlbmVyYXRlLWRlY29yYS1zaGFkZXJz ICdjb21waWxlLWRlY29yYS1zaGFkZXJzCisgICAgICAgICAgICAgKGxhbWJkYSBfCisgICAgICAg ICAgICAgICAobGV0ICgoY2xhc3NlcyAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9jbGFzc2VzL2ph dmEvbWFpbiIpCisgICAgICAgICAgICAgICAgICAgICAoZGVjb3JhLWNsYXNzZXMgIm1vZHVsZXMv Z3JhcGhpY3MvYnVpbGQvY2xhc3Nlcy9qc2wtZGVjb3JhLyIpCisgICAgICAgICAgICAgICAgICAg ICAoZGVjb3JhLWdlbi1zcmMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvZ2VuZXJhdGVkLXNyYy9q c2wtZGVjb3JhIikpCisgICAgICAgICAgICAgICAgIChta2Rpci1wIGRlY29yYS1jbGFzc2VzKQor ICAgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJqYXZhYyIKKyAgICAgICAgICAgICAgICAg ICAgICAgICItZCIgZGVjb3JhLWNsYXNzZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICItY3Ai IGNsYXNzZXMKKyAgICAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQgamF2YWMvaC1mbGFncyAo ZmluZC1maWxlcyBkZWNvcmEtZ2VuLXNyYyAiXFwuamF2YSQiKSkpKQorICAgICAgICAgICAgICAg I3QpKQorCisgICAgICAgICAgIChhZGQtYWZ0ZXIgJ2NvbXBpbGUtZGVjb3JhLXNoYWRlcnMgJ2Nv bXBpbGUtZGVjb3JhLW5hdGl2ZS1saWIKKyAgICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5w dXRzICM6YWxsb3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAgIChsZXQqICgoY2xhc3NlcyAi bW9kdWxlcy9ncmFwaGljcy9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAgICAgICAg ICAgICAgICAgKGRlY29yYS1nZW4taGVhZGVycyAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9nZW5l cmF0ZWQtc3JjL2hlYWRlcnMvanNsLWRlY29yYSIpCisgICAgICAgICAgICAgICAgICAgICAgKGRl Y29yYS1nZW4tc3JjICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2dlbmVyYXRlZC1zcmMvanNsLWRl Y29yYSIpCisgICAgICAgICAgICAgICAgICAgICAgKGRlY29yYS1uYXRpdmUtbGliICJtb2R1bGVz L2dyYXBoaWNzL2J1aWxkL2xpYnMvanNsLWRlY29yYS9saW51eC9saWJkZWNvcmFfc3NlLnNvIikK KyAgICAgICAgICAgICAgICAgICAgICAoZGVjb3JhLW5hdGl2ZS1vYmogIm1vZHVsZXMvZ3JhcGhp Y3MvYnVpbGQvbmF0aXZlL2pzbC1kZWNvcmEvbGludXgiKQorICAgICAgICAgICAgICAgICAgICAg IChkZWNvcmEtbmF0aXZlLXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRpdmUtZGVj b3JhIikKKyAgICAgICAgICAgICAgICAgICAgICAoZGVjb3JhLXNyYyAibW9kdWxlcy9ncmFwaGlj cy9zcmMvbWFpbi9qc2wtZGVjb3JhLyIpCisgICAgICAgICAgICAgICAgICAgICAgKGRlY29yYS1j bGFzc2VzICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMvanNsLWRlY29yYS8iKQorICAg ICAgICAgICAgICAgICAgICAgIChkZWNvcmEtY2MtZmxhZ3MgYCgsQGNjLWZsYWdzICItZmZhc3Qt bWF0aCIpKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgZGVjb3JhLWdlbi1oZWFkZXJzKQor ICAgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJqYXZhaCIKKyAgICAgICAgICAgICAgICAg ICAgICAgICItZCIgZGVjb3JhLWdlbi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAi LWNwIiAoc3RyaW5nLWpvaW4gKGxpc3QgY2xhc3NlcyBkZWNvcmEtY2xhc3NlcykgIjoiKQorICAg ICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCBqYXZhYy9oLWZsYWdzCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChmaWx0ZXIgKGN1dCBzdHJpbmctcHJlZml4PyAiY29tLnN1bi5z Y2VuYXJpby5lZmZlY3QuaW1wbC5zdy5zc2UiIDw+KQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChhcHBlbmQgKGphdmEtbGlzdC1jbGFzc2VzIGNsYXNzZXMpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoamF2YS1saXN0LWNs YXNzZXMgZGVjb3JhLWNsYXNzZXMpKSkpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCBkZWNv cmEtbmF0aXZlLW9iaikKKyAgICAgICAgICAgICAgICAgKGZvci1lYWNoIChsYW1iZGEgKGNjKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJnY2MiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiIGRlY29yYS1nZW4taGVhZGVycworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiBkZWNvcmEtZ2VuLXNyYworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiBkZWNvcmEtbmF0aXZlLXNyYwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1vIiAoc3RyaW5nLWFwcGVuZCBk ZWNvcmEtbmF0aXZlLW9iaiAgIi8iIChiYXNlbmFtZSBjYyAiLmNjIikgIi5vYmoiKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCBkZWNvcmEtY2MtZmxhZ3MgKGxp c3QgY2MpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwZW5kIChmaW5kLWZpbGVz IGRlY29yYS1nZW4tc3JjICJcXC5jYyQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoZmluZC1maWxlcyBkZWNvcmEtbmF0aXZlLXNyYyAiXFwuY2MkIikpKQorICAgICAgICAg ICAgICAgICAobWtkaXItcCAoZGlybmFtZSBkZWNvcmEtbmF0aXZlLWxpYikpCisgICAgICAgICAg ICAgICAgIChhcHBseSBpbnZva2UgImcrKyIgIi1vIiBkZWNvcmEtbmF0aXZlLWxpYgorICAgICAg ICAgICAgICAgICAgICAgICAgKGFwcGVuZCBsaW5rLWZsYWdzIChmaW5kLWZpbGVzIGRlY29yYS1u YXRpdmUtb2JqICJcXC5vYmokIikpKSkKKyAgICAgICAgICAgICAgICN0KSkKKworICAgICAgICAg ICAoYWRkLWFmdGVyICdjb21waWxlLWRlY29yYS1uYXRpdmUtbGliICdjb21waWxlLWxpbnV4LWZv bnQtbmF0aXZlLWxpYgorICAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxv dy1vdGhlci1rZXlzKQorICAgICAgICAgICAgICAgKGxldCogKChjbGFzc2VzICJtb2R1bGVzL2dy YXBoaWNzL2J1aWxkL2NsYXNzZXMvamF2YS9tYWluIikKKyAgICAgICAgICAgICAgICAgICAgICAo Zm9udC1nZW4taGVhZGVycyAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9nZW5lcmF0ZWQtc3JjL2hl YWRlcnMvZm9udC9saW51eCIpCisgICAgICAgICAgICAgICAgICAgICAgKGZvbnQtbmF0aXZlLWxp YiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9saWJzL2ZvbnQvbGludXgvbGliamF2YWZ4X2ZvbnQu c28iKQorICAgICAgICAgICAgICAgICAgICAgIChmb250LW5hdGl2ZS1vYmogIm1vZHVsZXMvZ3Jh cGhpY3MvYnVpbGQvbmF0aXZlL2ZvbnQvbGludXgiKQorICAgICAgICAgICAgICAgICAgICAgIChm b250LW5hdGl2ZS1zcmMgIm1vZHVsZXMvZ3JhcGhpY3Mvc3JjL21haW4vbmF0aXZlLWZvbnQiKQor ICAgICAgICAgICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAgICAgICAgICAgKGZvbnQtY2Mt ZmxhZ3MgYCgiLURKRlhGT05UX1BMVVMiICxAY2MtZmxhZ3MpKSkKKyAgICAgICAgICAgICAgICAg KG1rZGlyLXAgZm9udC1nZW4taGVhZGVycykKKyAgICAgICAgICAgICAgICAgKGFwcGx5IGludm9r ZSAiamF2YWgiCisgICAgICAgICAgICAgICAgICAgICAgICAiLWQiIGZvbnQtZ2VuLWhlYWRlcnMK KyAgICAgICAgICAgICAgICAgICAgICAgICItY3AiIGNsYXNzZXMKKyAgICAgICAgICAgICAgICAg ICAgICAgIChhcHBlbmQgamF2YWMvaC1mbGFncworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoZmlsdGVyIChsYW1iZGEgKGNsYXNzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKG9yIChzdHJpbmctcHJlZml4PyAiY29tLnN1bi5qYXZhZnguZm9udCIg Y2xhc3MpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0 cmluZy1wcmVmaXg/ICJjb20uc3VuLmphdmFmeC50ZXh0IiBjbGFzcykpKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChqYXZhLWxpc3QtY2xhc3NlcyBjbGFzc2VzKSkp KQorICAgICAgICAgICAgICAgICAobWtkaXItcCBmb250LW5hdGl2ZS1vYmopCisgICAgICAgICAg ICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChjYykKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGFwcGx5IGludm9rZSAiZ2NjIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIi1JIiBmb250LWdlbi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiLUkiIGZvbnQtbmF0aXZlLXNyYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIi1vIiAoc3RyaW5nLWFwcGVuZCBmb250LW5hdGl2ZS1vYmogIi8iCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiYXNlbmFtZSBj YyAiLmMiKSAiLm9iaiIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBw ZW5kIGZvbnQtY2MtZmxhZ3MgKGxpc3QgY2MpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAoZmluZC1maWxlcyBmb250LW5hdGl2ZS1zcmMgIlxcLmMkIikpCisgICAgICAgICAgICAgICAg IChta2Rpci1wIChkaXJuYW1lIGZvbnQtbmF0aXZlLWxpYikpCisgICAgICAgICAgICAgICAgIChh cHBseSBpbnZva2UgImcrKyIKKyAgICAgICAgICAgICAgICAgICAgICAgICItbyIgZm9udC1uYXRp dmUtbGliCisgICAgICAgICAgICAgICAgICAgICAgICAoYXBwZW5kIGxpbmstZmxhZ3MKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgZm9udC1uYXRpdmUtb2JqICJc XC5vYmokIikpKSkKKyAgICAgICAgICAgICAgICN0KSkKKworICAgICAgICAgICAoYWRkLWFmdGVy ICdjb21waWxlLWxpbnV4LWZvbnQtbmF0aXZlLWxpYiAnY29tcGlsZS1saW51eC1mb250LWZyZWV0 eXBlCisgICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtl eXMpCisgICAgICAgICAgICAgICAobGV0KiAoKGNsYXNzZXMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVp bGQvY2xhc3Nlcy9qYXZhL21haW4iKQorICAgICAgICAgICAgICAgICAgICAgIDs7CisgICAgICAg ICAgICAgICAgICAgICAgKGZvbnQtZnJlZXR5cGUtZ2VuLWhlYWRlcnMgIm1vZHVsZXMvZ3JhcGhp Y3MvYnVpbGQvZ2VuZXJhdGVkLXNyYy9oZWFkZXJzL2ZvbnRGcmVldHlwZS9saW51eCIpCisgICAg ICAgICAgICAgICAgICAgICAgKGZvbnQtZnJlZXR5cGUtbmF0aXZlLWxpYiAibW9kdWxlcy9ncmFw aGljcy9idWlsZC9saWJzL2ZvbnRGcmVldHlwZS9saW51eC9saWJqYXZhZnhfZm9udF9mcmVldHlw ZS5zbyIpCisgICAgICAgICAgICAgICAgICAgICAgKGZvbnQtZnJlZXR5cGUtbmF0aXZlLW9iaiAi bW9kdWxlcy9ncmFwaGljcy9idWlsZC9uYXRpdmUvZm9udEZyZWV0eXBlL2xpbnV4IikKKyAgICAg ICAgICAgICAgICAgICAgICAoZm9udC1mcmVldHlwZS1uYXRpdmUtc3JjICJtb2R1bGVzL2dyYXBo aWNzL3NyYy9tYWluL25hdGl2ZS1mb250L2ZyZWV0eXBlLmMiKQorICAgICAgICAgICAgICAgICAg ICAgIChmb250LWZyZWV0eXBlLWNjLWZsYWdzIGAoIi1ESkZYRk9OVF9QTFVTIiAiLURfRU5BQkxF X1BBTkdPIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IiQocGtnLWNvbmZpZyAtLWNmbGFncyBmcmVldHlwZTIpIiAsQGNjLWZsYWdzKSkKKyAgICAgICAg ICAgICAgICAgICAgICAoZm9udC1mcmVldHlwZS1saW5rLWZsYWdzIGAoIiQocGtnLWNvbmZpZyAt LWxpYnMgZnJlZXR5cGUyKSIgLEBsaW5rLWZsYWdzKSkpCisgICAgICAgICAgICAgICAgIChta2Rp ci1wIGZvbnQtZnJlZXR5cGUtZ2VuLWhlYWRlcnMpCisgICAgICAgICAgICAgICAgIChhcHBseSBp bnZva2UgImphdmFoIgorICAgICAgICAgICAgICAgICAgICAgICAgIi1kIiBmb250LWZyZWV0eXBl LWdlbi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAiLWNwIiBjbGFzc2VzCisgICAg ICAgICAgICAgICAgICAgICAgICAoYXBwZW5kIGphdmFjL2gtZmxhZ3MKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGZpbHRlciAoY3V0IHN0cmluZy1wcmVmaXg/ICJjb20uc3VuLmph dmFmeC5mb250LmZyZWV0eXBlLk9TRnJlZXR5cGUiIDw+KQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChqYXZhLWxpc3QtY2xhc3NlcyBjbGFzc2VzKSkpKQorICAgICAg ICAgICAgICAgICAobWtkaXItcCBmb250LWZyZWV0eXBlLW5hdGl2ZS1vYmopCisgICAgICAgICAg ICAgICAgIChpbnZva2UgImJhc2giICItYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAoc3Ry aW5nLWpvaW4gYCgiZ2NjIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAZm9udC1mcmVldHlwZS1jYy1mbGFncworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICItSSIgLGZvbnQtZnJlZXR5cGUtZ2VuLWhlYWRlcnMKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoZGlybmFtZSBmb250LWZyZWV0eXBlLW5h dGl2ZS1zcmMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1vIiAs KHN0cmluZy1hcHBlbmQgZm9udC1mcmVldHlwZS1uYXRpdmUtb2JqICIvIgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiYXNlbmFt ZSBmb250LWZyZWV0eXBlLW5hdGl2ZS1zcmMgIi5jIikgIi5vYmoiKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICxmb250LWZyZWV0eXBlLW5hdGl2ZS1zcmMpKSkKKyAg ICAgICAgICAgICAgICAgKG1rZGlyLXAgKGRpcm5hbWUgZm9udC1mcmVldHlwZS1uYXRpdmUtbGli KSkKKyAgICAgICAgICAgICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgorICAgICAgICAgICAgICAg ICAgICAgICAgIChzdHJpbmctam9pbiBgKCJnKysiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIi1vIiAsZm9udC1mcmVldHlwZS1uYXRpdmUtbGliCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEBmb250LWZyZWV0eXBlLWxpbmstZmxhZ3MK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChmaW5kLWZpbGVzIGZv bnQtZnJlZXR5cGUtbmF0aXZlLW9iaiAiXFwub2JqJCIpKSkpCisgICAgICAgICAgICAgICAgICN0 KSkpCisKKyAgICAgICAgICAgKGFkZC1hZnRlciAnY29tcGlsZS1saW51eC1mb250LWZyZWV0eXBl ICdjb21waWxlLWxpbnV4LWZvbnQtcGFuZ28tbGliCisgICAgICAgICAgICAgKGxhbWJkYSogKCM6 a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisgICAgICAgICAgICAgICAobGV0KiAoKGNs YXNzZXMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvY2xhc3Nlcy9qYXZhL21haW4iKQorICAgICAg ICAgICAgICAgICAgICAgIChmb250LXBhbmdvLWdlbi1oZWFkZXJzICJtb2R1bGVzL2dyYXBoaWNz L2J1aWxkL2dlbmVyYXRlZC1zcmMvaGVhZGVycy9mb250UGFuZ28vbGludXgiKQorICAgICAgICAg ICAgICAgICAgICAgIChmb250LXBhbmdvLW5hdGl2ZS1saWIgIm1vZHVsZXMvZ3JhcGhpY3MvYnVp bGQvbGlicy9mb250UGFuZ28vbGludXgvbGliamF2YWZ4X2ZvbnRfcGFuZ28uc28iKQorICAgICAg ICAgICAgICAgICAgICAgIChmb250LXBhbmdvLW5hdGl2ZS1vYmogIm1vZHVsZXMvZ3JhcGhpY3Mv YnVpbGQvbmF0aXZlL2ZvbnRQYW5nby9saW51eCIpCisgICAgICAgICAgICAgICAgICAgICAgKGZv bnQtcGFuZ28tbmF0aXZlLXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRpdmUtZm9u dC9wYW5nby5jIikKKyAgICAgICAgICAgICAgICAgICAgICAoZm9udC1wYW5nby1jYy1mbGFncyBg KCItREpGWEZPTlRfUExVUyIgIi1EX0VOQUJMRV9QQU5HTyIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICIkKHBrZy1jb25maWcgLS1jZmxhZ3MgcGFuZ29mdDIp IiAsQGNjLWZsYWdzKSkKKyAgICAgICAgICAgICAgICAgICAgICAoZm9udC1wYW5nby1saW5rLWZs YWdzIGAoIiQocGtnLWNvbmZpZyAtLWxpYnMgcGFuZ29mdDIpIiAsQGxpbmstZmxhZ3MpKSkKKyAg ICAgICAgICAgICAgICAgKG1rZGlyLXAgZm9udC1wYW5nby1nZW4taGVhZGVycykKKyAgICAgICAg ICAgICAgICAgKGFwcGx5IGludm9rZSAiamF2YWgiCisgICAgICAgICAgICAgICAgICAgICAgICAi LWQiIGZvbnQtcGFuZ28tZ2VuLWhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICItY3Ai IGNsYXNzZXMKKyAgICAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQgamF2YWMvaC1mbGFncwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsdGVyIChjdXQgc3RyaW5nLXByZWZp eD8gImNvbS5zdW4uamF2YWZ4LmZvbnQuZnJlZXR5cGUuT1NQYW5nbyIgPD4pCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGphdmEtbGlzdC1jbGFzc2VzIGNsYXNzZXMp KSkpCisgICAgICAgICAgICAgICAgIChta2Rpci1wIGZvbnQtcGFuZ28tbmF0aXZlLW9iaikKKyAg ICAgICAgICAgICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgorICAgICAgICAgICAgICAgICAgICAg ICAgIChzdHJpbmctam9pbiBgKCJnY2MiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEBmb250LXBhbmdvLWNjLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIi1JIiAsZm9udC1wYW5nby1nZW4taGVhZGVycworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChkaXJuYW1lIGZvbnQtcGFuZ28tbmF0 aXZlLXNyYykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8iICwo c3RyaW5nLWFwcGVuZCBmb250LXBhbmdvLW5hdGl2ZS1vYmogIi8iCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhc2VuYW1lIGZv bnQtcGFuZ28tbmF0aXZlLXNyYyAiLmMiKSAiLm9iaiIpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLGZvbnQtcGFuZ28tbmF0aXZlLXNyYykpKQorICAgICAgICAgICAg ICAgICAobWtkaXItcCAoZGlybmFtZSBmb250LXBhbmdvLW5hdGl2ZS1saWIpKQorICAgICAgICAg ICAgICAgICAoaW52b2tlICJiYXNoIiAiLWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgKHN0 cmluZy1qb2luIGAoImcrKyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsQGZvbnQtcGFuZ28tbGluay1mbGFncworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICItbyIgLGZvbnQtcGFuZ28tbmF0aXZlLWxpYgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKGZpbmQtZmlsZXMgZm9udC1wYW5nby1uYXRpdmUtb2Jq ICJcXC5vYmokIikpKSkpCisgICAgICAgICAgICAgICAjdCkpCisKKyAgICAgICAgICAgKGFkZC1h ZnRlciAnY29tcGlsZS1saW51eC1mb250LXBhbmdvLWxpYiAnY29tcGlsZS1saW51eC1nbGFzcy1s aWIKKyAgICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzICM6YWxsb3ctb3RoZXIta2V5 cykKKyAgICAgICAgICAgICAgIChsZXQqICgoY2xhc3NlcyAibW9kdWxlcy9ncmFwaGljcy9idWls ZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAgICAgICAgICAgICAgICAgOzsgZ2xhc3MKKyAg ICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtZ2VuLWhlYWRlcnMgIm1vZHVsZXMvZ3JhcGhpY3Mv YnVpbGQvZ2VuZXJhdGVkLXNyYy9oZWFkZXJzL2dsYXNzL2xpbnV4IikKKyAgICAgICAgICAgICAg ICAgICAgICAoZ2xhc3MtbmF0aXZlLWxpYiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9saWJzL2ds YXNzL2xpbnV4L2xpYmdsYXNzLnNvIikKKyAgICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtbmF0 aXZlLW9iaiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9uYXRpdmUvZ2xhc3MvbGludXgvZ2xhc3Mi KQorICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1uYXRpdmUtc3JjICJtb2R1bGVzL2dyYXBo aWNzL3NyYy9tYWluL25hdGl2ZS1nbGFzcy9ndGsvbGF1bmNoZXIuYyIpCisgICAgICAgICAgICAg ICAgICAgICAgKGdsYXNzLWNjLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgIGAoLEBjYy1m bGFncworICAgICAgICAgICAgICAgICAgICAgICAgICIkKHBrZy1jb25maWcgLS1jZmxhZ3MgZ2xp Yi0yLjAgZ2RrLTIuMCBndGsrLTIuMCBndGhyZWFkLTIuMCB4dHN0KSIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAiLVdlcnJvciIpKQorICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1saW5r LWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgIGAoLEBsaW5rLWZsYWdzICIkKHBrZy1jb25m aWcgLS1saWJzIHgxMSkiICItbGRsIikpCisgICAgICAgICAgICAgICAgICAgICAgOzsgZ2xhc3Mt Z3RrMgorICAgICAgICAgICAgICAgICAgICAgIChndGsgKGFzc29jLXJlZiBpbnB1dHMgImd0ayIp KQorICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1ndGsyLW5hdGl2ZS1vYmogIm1vZHVsZXMv Z3JhcGhpY3MvYnVpbGQvbmF0aXZlL2dsYXNzL2xpbnV4L2dsYXNzZ3RrMiIpCisgICAgICAgICAg ICAgICAgICAgICAgKGdsYXNzLWd0azItbmF0aXZlLXNyYyAoZGlybmFtZSBnbGFzcy1uYXRpdmUt c3JjKSkKKyAgICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtZ3RrMi1uYXRpdmUtbGliICJtb2R1 bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvZ2xhc3MvbGludXgvbGliZ2xhc3NndGsyLnNvIikKKyAg ICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtZ3RrMi1jYy1mbGFncworICAgICAgICAgICAgICAg ICAgICAgICBgKCxAY2MtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29u ZmlnIC0tY2ZsYWdzIGd0aystMi4wIGd0aHJlYWQtMi4wIHh0c3QpIgorICAgICAgICAgICAgICAg ICAgICAgICAgIDs7IFhYOiBHVGltZVZhbCBoYXMgYmVlbiBkZXByZWNhdGVkIGluIEdMSUIgc2lu Y2UKKyAgICAgICAgICAgICAgICAgICAgICAgICA7OyB2ZXJzaW9uIDIuNjIuIEdUaW1lVmFsIHMg bm90IHllYXItMjAzOC1zYWZlLiBHdGsKKyAgICAgICAgICAgICAgICAgICAgICAgICA7OyAyLjI0 IHVzZXMgR1RpbWVWYWwgc28gb3VyIGJ1aWxkIGlzIGFsc28gZmFpbGluZy4KKyAgICAgICAgICAg ICAgICAgICAgICAgICAiLVduby1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAiLVdlcnJvciIpKQorICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1n dGsyLWxpbmstZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgYCgsQGxpbmstZmxhZ3MKKyAg ICAgICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0tbGlicyBndGsrLTIuMCBndGhy ZWFkLTIuMCB4dHN0KSIpKQorICAgICAgICAgICAgICAgICAgICAgIDs7IGdsYXNzLWd0azMKKyAg ICAgICAgICAgICAgICAgICAgICAoZ3RrMyAoYXNzb2MtcmVmIGlucHV0cyAiZ3RrMyIpKQorICAg ICAgICAgICAgICAgICAgICAgIChnbGFzcy1ndGszLW5hdGl2ZS1vYmogIm1vZHVsZXMvZ3JhcGhp Y3MvYnVpbGQvbmF0aXZlL2dsYXNzL2xpbnV4L2dsYXNzZ3RrMyIpCisgICAgICAgICAgICAgICAg ICAgICAgKGdsYXNzLWd0azMtbmF0aXZlLXNyYyAoZGlybmFtZSBnbGFzcy1uYXRpdmUtc3JjKSkK KyAgICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtZ3RrMy1uYXRpdmUtbGliICJtb2R1bGVzL2dy YXBoaWNzL2J1aWxkL2xpYnMvZ2xhc3MvbGludXgvbGliZ2xhc3NndGszLnNvIikKKyAgICAgICAg ICAgICAgICAgICAgICAoZ2xhc3MtZ3RrMy1jYy1mbGFncworICAgICAgICAgICAgICAgICAgICAg ICBgKCxAY2MtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0t Y2ZsYWdzIGd0aystMy4wIGd0aHJlYWQtMi4wIHh0c3QpIgorICAgICAgICAgICAgICAgICAgICAg ICAgICItV25vLWRlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIiAiLVdlcnJvciIpKQorICAgICAgICAg ICAgICAgICAgICAgIChnbGFzcy1ndGszLWxpbmstZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAg ICAgYCgsQGxpbmstZmxhZ3MgIiQocGtnLWNvbmZpZyAtLWxpYnMgZ3RrKy0zLjAgZ3RocmVhZC0y LjAgeHRzdCkiKSkpCisgICAgICAgICAgICAgICAgIDs7IGdsYXNzCisgICAgICAgICAgICAgICAg IChta2Rpci1wIGdsYXNzLWdlbi1oZWFkZXJzKQorICAgICAgICAgICAgICAgICAoYXBwbHkgaW52 b2tlICJqYXZhaCIKKyAgICAgICAgICAgICAgICAgICAgICAgICItZCIgZ2xhc3MtZ2VuLWhlYWRl cnMKKyAgICAgICAgICAgICAgICAgICAgICAgICItY3AiIChzdHJpbmctYXBwZW5kIGNsYXNzZXMg IjoiIChnZXRlbnYgIkNMQVNTUEFUSCIpKQorICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGVu ZCBqYXZhYy9oLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaWx0ZXIg KGxhbWJkYSAoY2xhc3MpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAob3IgKHN0cmluZy1wcmVmaXg/ICJjb20uc3VuLmdsYXNzLmV2ZW50cyIgY2xhc3MpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1wcmVmaXg/ ICJjb20uc3VuLmdsYXNzLnVpLmd0ayIgY2xhc3MpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1wcmVmaXg/ICJjb20uc3VuLmdsYXNzLnVpIiBj bGFzcykpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChqYXZhLWxp c3QtY2xhc3NlcyBjbGFzc2VzKSkpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCBnbGFzcy1u YXRpdmUtb2JqKQorICAgICAgICAgICAgICAgICAoaW52b2tlICJiYXNoIiAiLWMiCisgICAgICAg ICAgICAgICAgICAgICAgICAgKHN0cmluZy1qb2luIGAoImdjYyIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQGdsYXNzLWNjLWZsYWdzCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsZ2xhc3MtZ2VuLWhlYWRlcnMKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoZGlybmFtZSBnbGFzcy1uYXRp dmUtc3JjKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLChz dHJpbmctYXBwZW5kIGdsYXNzLW5hdGl2ZS1vYmogIi8iCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhc2VuYW1lIGdsYXNzLW5h dGl2ZS1zcmMgIi5jIikgIi5vYmoiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxnbGFzcy1uYXRpdmUtc3JjKSkpCisgICAgICAgICAgICAgICAgIChta2Rpci1wIChk aXJuYW1lIGdsYXNzLW5hdGl2ZS1saWIpKQorICAgICAgICAgICAgICAgICAoaW52b2tlICJiYXNo IiAiLWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1qb2luIGAoImcrKyIKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQGdsYXNzLWxpbmstZmxhZ3MK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8iICxnbGFzcy1uYXRp dmUtbGliCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoZmluZC1m aWxlcyBnbGFzcy1uYXRpdmUtb2JqICJcXC5vYmokIikpKSkKKyAgICAgICAgICAgICAgICAgOzsg Z3RrMgorICAgICAgICAgICAgICAgICAobWtkaXItcCBnbGFzcy1ndGsyLW5hdGl2ZS1vYmopCisg ICAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChjcHApCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChpbnZva2UgImJhc2giICItYyIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gYCgiZ2NjIgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAZ2xhc3MtZ3RrMi1jYy1mbGFncworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLGds YXNzLWdlbi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIi1vIiAsKHN0cmluZy1hcHBlbmQgZ2xhc3MtZ3RrMi1uYXRpdmUtb2JqICIv IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChiYXNlbmFtZSBjcHAgIi5jcHAiKSAiLm9iaiIpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLGNwcCkpKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVzIGdsYXNzLWd0azItbmF0aXZlLXNy YyAiXFwuY3BwJCIpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCAoZGlybmFtZSBnbGFzcy1n dGsyLW5hdGl2ZS1saWIpKQorICAgICAgICAgICAgICAgICAoaW52b2tlICJiYXNoIiAiLWMiCisg ICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1qb2luIGAoImcrKyIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQGdsYXNzLWd0azItbGluay1mbGFncworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLGdsYXNzLWd0azItbmF0 aXZlLWxpYgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGZpbmQt ZmlsZXMgZ2xhc3MtZ3RrMi1uYXRpdmUtb2JqICJcXC5vYmokIikpKSkKKyAgICAgICAgICAgICAg ICAgOzsgZ3RrMworICAgICAgICAgICAgICAgICAobWtkaXItcCBnbGFzcy1ndGszLW5hdGl2ZS1v YmopCisgICAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChjcHApCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChpbnZva2UgImJhc2giICItYyIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gYCgiZ2NjIgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAZ2xhc3MtZ3RrMy1jYy1mbGFn cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt SSIgLGdsYXNzLWdlbi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIi1vIiAsKHN0cmluZy1hcHBlbmQgZ2xhc3MtZ3RrMy1uYXRpdmUt b2JqICIvIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChiYXNlbmFtZSBjcHAgIi5jcHAiKSAiLm9iaiIpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLGNwcCkp KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVzIGdsYXNzLWd0azMtbmF0 aXZlLXNyYyAiXFwuY3BwJCIpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCAoZGlybmFtZSBn bGFzcy1ndGszLW5hdGl2ZS1saWIpKQorICAgICAgICAgICAgICAgICAoaW52b2tlICJiYXNoIiAi LWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1qb2luIGAoImcrKyIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQGdsYXNzLWd0azMtbGluay1mbGFn cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLGdsYXNzLWd0 azMtbmF0aXZlLWxpYgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KGZpbmQtZmlsZXMgZ2xhc3MtZ3RrMy1uYXRpdmUtb2JqICJcXC5vYmokIikpKSkpCisgICAgICAg ICAgICAgICAjdCkpCisKKyAgICAgICAgICAgKGFkZC1hZnRlciAnY29tcGlsZS1saW51eC1nbGFz cy1saWIgICdjb21waWxlLWxpbnV4LWlpbworICAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBp bnB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQorICAgICAgICAgICAgICAgKGxldCogKChjbGFzc2Vz ICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMvamF2YS9tYWluIikKKyAgICAgICAgICAg ICAgICAgICAgICAoaWlvLWdlbi1oZWFkZXJzICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2dlbmVy YXRlZC1zcmMvaGVhZGVycy9paW8vbGludXgiKQorICAgICAgICAgICAgICAgICAgICAgIChpaW8t bmF0aXZlLWxpYiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9saWJzL2lpby9saW51eC9saWJqYXZh ZnhfaWlvLnNvIikKKyAgICAgICAgICAgICAgICAgICAgICAoaWlvLW5hdGl2ZS1vYmogIm1vZHVs ZXMvZ3JhcGhpY3MvYnVpbGQvbmF0aXZlL2lpby9saW51eCIpCisgICAgICAgICAgICAgICAgICAg ICAgKGlpby1uYXRpdmUtc3JjICJtb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL25hdGl2ZS1paW8i KQorICAgICAgICAgICAgICAgICAgICAgIChpaW8tY2MtZmxhZ3MgY2MtZmxhZ3MpCisgICAgICAg ICAgICAgICAgICAgICAgKGlpby1saW5rLWZsYWdzIGxpbmstZmxhZ3MpKQorICAgICAgICAgICAg ICAgICAobWtkaXItcCBpaW8tZ2VuLWhlYWRlcnMpCisgICAgICAgICAgICAgICAgIChhcHBseSBp bnZva2UgImphdmFoIgorICAgICAgICAgICAgICAgICAgICAgICAgIi1kIiBpaW8tZ2VuLWhlYWRl cnMKKyAgICAgICAgICAgICAgICAgICAgICAgICItY3AiIChzdHJpbmctYXBwZW5kIGNsYXNzZXMg IjoiIChnZXRlbnYgIkNMQVNTUEFUSCIpKQorICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGVu ZCBqYXZhYy9oLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaWx0ZXIg KGN1dCBzdHJpbmctcHJlZml4PyAiY29tLnN1bi5qYXZhZnguaWlvIiA8PikKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoamF2YS1saXN0LWNsYXNzZXMgY2xhc3Nlcykp KSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgaWlvLW5hdGl2ZS1vYmopCisgICAgICAgICAg ICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChjKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoaW52b2tlICJiYXNoIiAiLWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHN0cmluZy1qb2luIGAoImdjYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQGlpby1jYy1mbGFncworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLGlpby1nZW4taGVhZGVycworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLChz dHJpbmctYXBwZW5kIGlpby1uYXRpdmUtb2JqICIvIgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiYXNlbmFt ZSBjICIuYyIpICIub2JqIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsYykpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZp bGVzIGlpby1uYXRpdmUtc3JjICJcXC5jJCIpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCAo ZGlybmFtZSBpaW8tbmF0aXZlLWxpYikpCisgICAgICAgICAgICAgICAgIChpbnZva2UgImJhc2gi ICItYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gYCgiZysrIgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAaWlvLWxpbmstZmxhZ3MKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8iICxpaW8tbmF0aXZlLWxp YgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGZpbmQtZmlsZXMg aWlvLW5hdGl2ZS1vYmogIlxcLm9iaiQiKSkpKQorICAgICAgICAgICAgICAgICAjdCkpKQorCisg ICAgICAgICAgIChhZGQtYWZ0ZXIgJ2NvbXBpbGUtbGludXgtaWlvICdjb21waWxlLWxpbnV4LXBy aXNtCisgICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtl eXMpCisgICAgICAgICAgICAgICAobGV0KiAoKGNsYXNzZXMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVp bGQvY2xhc3Nlcy9qYXZhL21haW4iKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1nZW4t aGVhZGVycyAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9nZW5lcmF0ZWQtc3JjL2hlYWRlcnMvcHJp c20vbGludXgiKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1uYXRpdmUtbGliICJtb2R1 bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvcHJpc20vbGludXgvbGlicHJpc21fY29tbW9uLnNvIikK KyAgICAgICAgICAgICAgICAgICAgICAocHJpc20tbmF0aXZlLW9iaiAibW9kdWxlcy9ncmFwaGlj cy9idWlsZC9uYXRpdmUvcHJpc20vbGludXgiKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlz bS1uYXRpdmUtc3JjICJtb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL25hdGl2ZS1wcmlzbSIpCisg ICAgICAgICAgICAgICAgICAgICAgKHByaXNtLWNjLWZsYWdzIGAoLEBjYy1mbGFncyAiLURJTkxJ TkU9aW5saW5lIikpCisgICAgICAgICAgICAgICAgICAgICAgKHByaXNtLWxpbmstZmxhZ3MgbGlu ay1mbGFncykpCisgICAgICAgICAgICAgICAgIChta2Rpci1wIHByaXNtLWdlbi1oZWFkZXJzKQor ICAgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJqYXZhaCIKKyAgICAgICAgICAgICAgICAg ICAgICAgICItZCIgcHJpc20tZ2VuLWhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICIt Y3AiIChzdHJpbmctYXBwZW5kIGNsYXNzZXMgIjoiIChnZXRlbnYgIkNMQVNTUEFUSCIpKQorICAg ICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCBqYXZhYy9oLWZsYWdzCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChmaWx0ZXIgKGxhbWJkYSAoY2xhc3MpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3IgKHN0cmluZy1wcmVmaXg/ICJjb20uc3Vu LnByaXNtLmltcGwiIGNsYXNzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChzdHJpbmctcHJlZml4PyAiY29tLnN1bi5wcmlzbS5QcmVzZW50YWJsZVN0YXRl IiBjbGFzcykpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChqYXZh LWxpc3QtY2xhc3NlcyBjbGFzc2VzKSkpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCBwcmlz bS1uYXRpdmUtb2JqKQorICAgICAgICAgICAgICAgICAoZm9yLWVhY2ggKGxhbWJkYSAoYykKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctam9pbiBgKCJnY2MiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEBwcmlzbS1jYy1m bGFncworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICItSSIgLHByaXNtLWdlbi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIi1JIiAscHJpc20tbmF0aXZlLXNyYworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLChzdHJpbmctYXBw ZW5kIHByaXNtLW5hdGl2ZS1vYmogIi8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhc2VuYW1lIGMgIi5j IikgIi5vYmoiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxjKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgcHJp c20tbmF0aXZlLW9iaiAiXFwuYyQiKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgKGRpcm5h bWUgcHJpc20tbmF0aXZlLWxpYikpCisgICAgICAgICAgICAgICAgIChpbnZva2UgImJhc2giICIt YyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gYCgiZysrIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAcHJpc20tbGluay1mbGFncworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLHByaXNtLW5hdGl2ZS1s aWIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChmaW5kLWZpbGVz IHByaXNtLW5hdGl2ZS1vYmogIlxcLm9iaiQiKSkpKQorICAgICAgICAgICAgICAgICAjdCkpKQor CisgICAgICAgICAgIChhZGQtYWZ0ZXIgJ2NvbXBpbGUtbGludXgtcHJpc20gJ2NvbXBpbGUtbGlu dXgtcHJpc20tZXMyCisgICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyAjOmFsbG93 LW90aGVyLWtleXMpCisgICAgICAgICAgICAgICAobGV0KiAoKGNsYXNzZXMgIm1vZHVsZXMvZ3Jh cGhpY3MvYnVpbGQvY2xhc3Nlcy9qYXZhL21haW4iKQorICAgICAgICAgICAgICAgICAgICAgIChw cmlzbS1lczItZ2VuLWhlYWRlcnMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvZ2VuZXJhdGVkLXNy Yy9oZWFkZXJzL3ByaXNtRVMyL2xpbnV4IikKKyAgICAgICAgICAgICAgICAgICAgICAocHJpc20t ZXMyLW5hdGl2ZS1saWIgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbGlicy9wcmlzbS9saW51eC9s aWJwcmlzbV9lczIuc28iKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1lczItbmF0aXZl LW9iaiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9uYXRpdmUvcHJpc21FUzIvbGludXgiKQorICAg ICAgICAgICAgICAgICAgICAgIChwcmlzbS1lczItbmF0aXZlLXNyYyAibW9kdWxlcy9ncmFwaGlj cy9zcmMvbWFpbi9uYXRpdmUtcHJpc20tZXMyIikKKyAgICAgICAgICAgICAgICAgICAgICAocHJp c20tZXMyLWNjLWZsYWdzIGAoIi1ETElOVVgiICxAY2MtZmxhZ3MpKQorICAgICAgICAgICAgICAg ICAgICAgIChwcmlzbS1lczItbGluay1mbGFncworICAgICAgICAgICAgICAgICAgICAgICBgKCxA bGluay1mbGFncyAiJChwa2ctY29uZmlnIC0tbGlicyB4MTEgeHhmODZ2bSBnbCkiKSkKKyAgICAg ICAgICAgICAgICAgICAgICA7OyBXZSBuZWVkIGFsbCAqLmMgZmlsZXMgaW4gdGhlIHJvb3QgYW5k IG9ubHkgdGhvc2UKKyAgICAgICAgICAgICAgICAgICAgICA7OyB3aGljaCBhcmUgaW4gYSBzcGVj aWZpYyBkaXJlY3Rvcmllcy4KKyAgICAgICAgICAgICAgICAgICAgICAoZmlsdGVyLXNyYworICAg ICAgICAgICAgICAgICAgICAgICAobGFtYmRhIChhYnMgXykKKyAgICAgICAgICAgICAgICAgICAg ICAgICAob3IgKHJlZ2V4cC1leGVjIChtYWtlLXJlZ2V4cCAoc3RyaW5nLWFwcGVuZCBwcmlzbS1l czItbmF0aXZlLXNyYyAiW14vXSpcXC5jJCIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYWJzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnZXhw LWV4ZWMgKG1ha2UtcmVnZXhwIChzdHJpbmctYXBwZW5kIHByaXNtLWVzMi1uYXRpdmUtc3JjICIo eDExL3xHTC8pIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh YnMpKSkpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCBwcmlzbS1lczItZ2VuLWhlYWRlcnMp CisgICAgICAgICAgICAgICAgIChhcHBseSBpbnZva2UgImphdmFoIgorICAgICAgICAgICAgICAg ICAgICAgICAgIi1kIiBwcmlzbS1lczItZ2VuLWhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAg ICAgICItY3AiIChzdHJpbmctYXBwZW5kIGNsYXNzZXMgIjoiIChnZXRlbnYgIkNMQVNTUEFUSCIp KQorICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCBqYXZhYy9oLWZsYWdzCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChmaWx0ZXIgKGN1dCBzdHJpbmctcHJlZml4PyAiY29t LnN1bi5wcmlzbS5lczIiIDw+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChqYXZhLWxpc3QtY2xhc3NlcyBjbGFzc2VzKSkpKQorICAgICAgICAgICAgICAgICAobWtk aXItcCBwcmlzbS1lczItbmF0aXZlLW9iaikKKyAgICAgICAgICAgICAgICAgKGZvci1lYWNoIChs YW1iZGEgKGMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcHBseSBpbnZva2UgImdj YyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgZ2xhc3MtbmF0aXZl LXNyYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiBwcmlzbS1lczIt Z2VuLWhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgcHJp c20tZXMyLW5hdGl2ZS1zcmMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt SSIgKHN0cmluZy1hcHBlbmQgcHJpc20tZXMyLW5hdGl2ZS1zcmMgIi9HTCIpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiIChzdHJpbmctYXBwZW5kIHByaXNtLWVzMi1u YXRpdmUtc3JjICIveDExIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt byIgKHN0cmluZy1hcHBlbmQgcHJpc20tZXMyLW5hdGl2ZS1vYmogIi8iIChiYXNlbmFtZSBjICIu YyIpICIub2JqIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQg cHJpc20tZXMyLWNjLWZsYWdzIChsaXN0IGMpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAoZmluZC1maWxlcyBwcmlzbS1lczItbmF0aXZlLXNyYyBmaWx0ZXItc3JjKSkKKyAgICAgICAg ICAgICAgICAgKG1rZGlyLXAgKGRpcm5hbWUgcHJpc20tZXMyLW5hdGl2ZS1saWIpKQorICAgICAg ICAgICAgICAgICAoaW52b2tlICJiYXNoIiAiLWMiCisgICAgICAgICAgICAgICAgICAgICAgICAg KHN0cmluZy1qb2luIGAoImcrKyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQHByaXNtLWVzMi1saW5rLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIi1vIiAscHJpc20tZXMyLW5hdGl2ZS1saWIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChmaW5kLWZpbGVzIHByaXNtLWVzMi1uYXRpdmUtb2Jq ICJcXC5vYmokIikpKSkKKyAgICAgICAgICAgICAgICAgI3QpKSkKKworICAgICAgICAgICAoYWRk LWFmdGVyICdjb21waWxlLWxpbnV4LXByaXNtLWVzMiAnY29tcGlsZS1saW51eC1wcmlzbS1zdwor ICAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQor ICAgICAgICAgICAgICAgKGxldCogKChjbGFzc2VzICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2Ns YXNzZXMvamF2YS9tYWluIikKKyAgICAgICAgICAgICAgICAgICAgICAocHJpc20tc3ctZ2VuLWhl YWRlcnMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvZ2VuZXJhdGVkLXNyYy9oZWFkZXJzL3ByaXNt U1cvbGludXgiKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1zdy1uYXRpdmUtbGliICJt b2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvcHJpc20vbGludXgvbGlicHJpc21fc3cuc28iKQor ICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1zdy1uYXRpdmUtb2JqICJtb2R1bGVzL2dyYXBo aWNzL2J1aWxkL25hdGl2ZS9wcmlzbVNXL2xpbnV4IikKKyAgICAgICAgICAgICAgICAgICAgICAo cHJpc20tc3ctbmF0aXZlLXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRpdmUtcHJp c20tc3ciKQorICAgICAgICAgICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAgICAgICAgICAg KHByaXNtLXN3LWNjLWZsYWdzIGAoLEBjYy1mbGFncyAiLURJTkxJTkU9aW5saW5lIikpCisgICAg ICAgICAgICAgICAgICAgICAgKHByaXNtLXN3LWxpbmstZmxhZ3MgbGluay1mbGFncykpCisgICAg ICAgICAgICAgICAgIChta2Rpci1wIHByaXNtLXN3LWdlbi1oZWFkZXJzKQorICAgICAgICAgICAg ICAgICAoYXBwbHkgaW52b2tlICJqYXZhaCIKKyAgICAgICAgICAgICAgICAgICAgICAgICItZCIg cHJpc20tc3ctZ2VuLWhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICItY3AiIChzdHJp bmctYXBwZW5kIGNsYXNzZXMgIjoiIChnZXRlbnYgIkNMQVNTUEFUSCIpKQorICAgICAgICAgICAg ICAgICAgICAgICAgKGFwcGVuZCBqYXZhYy9oLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChmaWx0ZXIgKGN1dCBzdHJpbmctcHJlZml4PyAiY29tLnN1bi5waXNjZXMiIDw+ KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChqYXZhLWxpc3QtY2xh c3NlcyBjbGFzc2VzKSkpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCBwcmlzbS1zdy1uYXRp dmUtb2JqKQorICAgICAgICAgICAgICAgICAoZm9yLWVhY2ggKGxhbWJkYSAoYykKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctam9pbiBgKCJnY2MiCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEBwcmlzbS1zdy1jYy1mbGFn cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt SSIgLHByaXNtLXN3LWdlbi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIi1JIiAscHJpc20tc3ctbmF0aXZlLXNyYworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLChzdHJpbmct YXBwZW5kIHByaXNtLXN3LW5hdGl2ZS1vYmogIi8iCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhc2VuYW1l IGMgIi5jIikgIi5vYmoiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxjKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmls ZXMgcHJpc20tc3ctbmF0aXZlLXNyYyAiXFwuYyQiKSkKKyAgICAgICAgICAgICAgICAgKG1rZGly LXAgKGRpcm5hbWUgcHJpc20tc3ctbmF0aXZlLWxpYikpCisgICAgICAgICAgICAgICAgIChhcHBs eSBpbnZva2UgImcrKyIgIi1vIiBwcmlzbS1zdy1uYXRpdmUtbGliCisgICAgICAgICAgICAgICAg ICAgICAgICAoYXBwZW5kIHByaXNtLXN3LWxpbmstZmxhZ3MgKGZpbmQtZmlsZXMgcHJpc20tc3ct bmF0aXZlLW9iaiAiXFwub2JqJCIpKSkKKyAgICAgICAgICAgICAgICAgI3QpKSkKKworICAgICAg ICAgICAoYWRkLWFmdGVyICdjb21waWxlLWxpbnV4LXByaXNtLXN3ICdpbnN0YWxsLW5hdGl2ZQor ICAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykK KyAgICAgICAgICAgICAgIChsZXQgKChsaWIgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiBvdXRw dXRzICJvdXQiKSAiL2xpYiIpKSkKKyAgICAgICAgICAgICAgICAgKGZvci1lYWNoIChsYW1iZGEg KGZpbGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnN0YWxsLWZpbGUgZmlsZSBs aWIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgIi4iICJcXC5zbyQi KSkKKyAgICAgICAgICAgICAgICAgI3QpKSkKKworICAgICAgICAgICAoYWRkLWFmdGVyICdpbnN0 YWxsLW5hdGl2ZSAnYnVpbGQtamFyCisgICAgICAgICAgICAgKGxhbWJkYSBfCisgICAgICAgICAg ICAgICAobGV0KiAoKG1vZHVsZSAoc3RyaW5nLWFwcGVuZCAibW9kdWxlcy9ncmFwaGljcyIpKQor ICAgICAgICAgICAgICAgICAgICAgIChyZXNvdXJjZXMgKHN0cmluZy1hcHBlbmQgbW9kdWxlICIv c3JjL21haW4vcmVzb3VyY2VzIikpCisgICAgICAgICAgICAgICAgICAgICAgKGNsYXNzZXMgKHN0 cmluZy1hcHBlbmQgbW9kdWxlICIvYnVpbGQvY2xhc3Nlcy9qYXZhL21haW4iKSkpCisgICAgICAg ICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5IHJlc291cmNlcyBjbGFzc2VzKQorCisgICAgICAg ICAgICAgICAgIChpbnZva2UgImFudCIgImphciIgKHN0cmluZy1hcHBlbmQgIi1EY2xhc3Nlcy5k aXI9IiBjbGFzc2VzKSkpCisgICAgICAgICAgICAgICAjdCkpKSkpKQogICAgIChuYXRpdmUtaW5w dXRzCi0gICAgIGAoKCJKTmF0aXZlU3VyZmFjZS5jIgotICAgICAgICAsKG9yaWdpbgotICAgICAg ICAgICAobWV0aG9kIHVybC1mZXRjaCkKLSAgICAgICAgICAgKHVyaSAiaHR0cHM6Ly9yYXcuZ2l0 aHVidXNlcmNvbnRlbnQuY29tL29wZW5qZGsvamZ4Lzh1MjAtYjAyXAotL21vZHVsZXMvZ3JhcGhp Y3Mvc3JjL21haW4vbmF0aXZlLXByaXNtLXN3L0pOYXRpdmVTdXJmYWNlLmMiKQotICAgICAgICAg ICAoc2hhMjU2Ci0gICAgICAgICAgICAoYmFzZTMyCi0gICAgICAgICAgICAgIjFrcDE1d2JuZDZy bjBuY2ljenA1aWJxMGlrYnkyeXlzdngxZ256NWZhMDV2bDJtbThtYm0iKSkpKSkpCi0gICAgKGRl c2NyaXB0aW9uICJPcGVuSkZYIGlzIGEgY2xpZW50IGFwcGxpY2F0aW9uIHBsYXRmb3JtIGZvciBk ZXNrdG9wLAotbW9iaWxlIGFuZCBlbWJlZGRlZCBzeXN0ZW1zIGJ1aWx0IG9uIEphdmEuICBJdHMg Z29hbCBpcyB0byBwcm9kdWNlIGEKLW1vZGVybiwgZWZmaWNpZW50LCBhbmQgZnVsbHkgZmVhdHVy ZWQgdG9vbGtpdCBmb3IgZGV2ZWxvcGluZyByaWNoIGNsaWVudAotYXBwbGljYXRpb25zLiAgVGhp cyBwYWNrYWdlIGNvbnRhaW5zIGdyYXBoaWNzLXJlbGF0ZWQgY2xhc3NlcyBmb3IgdGhlCi1PcGVu SkZYIGRpc3RyaWJ1dGlvbi4iKSkpCisgICAgIGAoKCJmcmVldHlwZSIgLGZyZWV0eXBlKQorICAg ICAgICgiZm9udGNvbmZpZyIgLGZvbnRjb25maWcpCisgICAgICAgKCJnY2MiICxnY2MpCisgICAg ICAgKCJnbGliIiAsZ2xpYikKKyAgICAgICAoInpsaWIiICx6bGliKQorICAgICAgICgiZ3RrIiAs Z3RrKy0yKQorICAgICAgICgiZ3RrMyIgLGd0ayspCisgICAgICAgKCJqcGVnIiAsbGlianBlZy10 dXJibykKKyAgICAgICAoImxpYnh0c3QiICxsaWJ4dHN0KQorICAgICAgICgicGFuZ28iICxwYW5n bykKKyAgICAgICAoImxpYnBuZyIgLGxpYnBuZykKKyAgICAgICAoInBrZy1jb25maWciICxwa2ct Y29uZmlnKSkpCisgICAgKHByb3BhZ2F0ZWQtaW5wdXRzCisgICAgIGAoKCJqYXZhLW9wZW5qZngt YmFzZSIgLGphdmEtb3BlbmpmeC1iYXNlKQorICAgICAgICgiamF2YS1zd3QiICxqYXZhLXN3dCkp KSkpCisKKyhkZWZpbmUtcHVibGljIGphdmEtb3BlbmpmeC1zd2luZworICAocGFja2FnZSAoaW5o ZXJpdCBqYXZhLW9wZW5qZngtYnVpbGQpCisgICAgKG5hbWUgImphdmEtb3BlbmpmeC1zd2luZyIp CisgICAgKGFyZ3VtZW50cworICAgICBgKCM6amFyLW5hbWUgImphdmEtb3BlbmpmeC1zd2luZy5q YXIiCisgICAgICAgIzpzb3VyY2UtZGlyICJtb2R1bGVzL3N3aW5nL3NyYy9tYWluL2phdmEiCisg ICAgICAgIzp0ZXN0cz8gI2YpKQorICAgIChpbnB1dHMKKyAgICAgYCgoImFudGxyMyIgLGFudGxy MykKKyAgICAgICAoImphdmEtc3RyaW5ndGVtcGxhdGUiICxqYXZhLXN0cmluZ3RlbXBsYXRlKSkp CisgICAgKHByb3BhZ2F0ZWQtaW5wdXRzCisgICAgIGAoKCJqYXZhLW9wZW5qZngtZ3JhcGhpY3Mi ICxqYXZhLW9wZW5qZngtZ3JhcGhpY3MpKSkpKQorCisoZGVmaW5lLXB1YmxpYyBqYXZhLW9wZW5q Zngtc3d0CisgIChwYWNrYWdlIChpbmhlcml0IGphdmEtb3BlbmpmeC1idWlsZCkKKyAgICAobmFt ZSAiamF2YS1vcGVuamZ4LXN3dCIpCisgICAgKGFyZ3VtZW50cworICAgICBgKCM6amFyLW5hbWUg ImphdmEtb3BlbmpmeC1zd3QuamFyIgorICAgICAgICM6c291cmNlLWRpciAibW9kdWxlcy9zd3Qv c3JjL21haW4vamF2YSIKKyAgICAgICAjOnRlc3RzPyAjZikpCisgICAgKGlucHV0cworICAgICBg KCgiYW50bHIzIiAsYW50bHIzKQorICAgICAgICgiamF2YS1zdHJpbmd0ZW1wbGF0ZSIgLGphdmEt c3RyaW5ndGVtcGxhdGUpKSkKKyAgICAocHJvcGFnYXRlZC1pbnB1dHMKKyAgICAgYCgoImphdmEt b3BlbmpmeC1ncmFwaGljcyIgLGphdmEtb3BlbmpmeC1ncmFwaGljcykpKSkpCisKKyhkZWZpbmUt cHVibGljIGphdmEtb3BlbmpmeC1jb250cm9scworICAocGFja2FnZSAoaW5oZXJpdCBqYXZhLW9w ZW5qZngtYnVpbGQpCisgICAgKG5hbWUgImphdmEtb3BlbmpmeC1jb250cm9scyIpCisgICAgKGFy Z3VtZW50cworICAgICBgKCM6amFyLW5hbWUgImphdmEtb3BlbmpmeC1jb250cm9scy5qYXIiCisg ICAgICAgIzpzb3VyY2UtZGlyICJtb2R1bGVzL2NvbnRyb2xzL3NyYy9tYWluL2phdmEiCisgICAg ICAgIzp0ZXN0cz8gI2YKKyAgICAgICAjOnBoYXNlcworICAgICAgIChtb2RpZnktcGhhc2VzICVz dGFuZGFyZC1waGFzZXMKKyAgICAgICAgIChhZGQtYmVmb3JlICdidWlsZCAnY29weS1yZXNvdXJj ZXMKKyAgICAgICAgICAgKGxhbWJkYSBfCisgICAgICAgICAgICAgKGxldCAoKHJlc291cmNlcyAo c3RyaW5nLWFwcGVuZCAoZ2V0Y3dkKSAiL21vZHVsZXMvY29udHJvbHMvc3JjL21haW4vcmVzb3Vy Y2VzIikpKQorICAgICAgICAgICAgICAgKGNvcHktcmVjdXJzaXZlbHkgcmVzb3VyY2VzICJidWls ZC9jbGFzc2VzIikpICN0KSkpKSkKKyAgICAocHJvcGFnYXRlZC1pbnB1dHMKKyAgICAgYCgoImph dmEtb3BlbmpmeC1ncmFwaGljcyIgLGphdmEtb3BlbmpmeC1ncmFwaGljcykpKSkpCiAKIChkZWZp bmUtcHVibGljIGphdmEtb3BlbmpmeC1tZWRpYQogICAocGFja2FnZSAoaW5oZXJpdCBqYXZhLW9w ZW5qZngtYnVpbGQpCkBAIC0yNzAyLDMyICszMzAxLDE3NCBAQCAoZGVmaW5lLXB1YmxpYyBqYXZh LW9wZW5qZngtbWVkaWEKIGFwcGxpY2F0aW9ucy4gIFRoaXMgcGFja2FnZSBjb250YWlucyBtZWRp YS1yZWxhdGVkIGNsYXNzZXMgZm9yIHRoZQogT3BlbkpGWCBkaXN0cmlidXRpb24uIikpKQogCi0o ZGVmaW5lLXB1YmxpYyBqYXZhLW9wZW5qZngtY29udHJvbHMKKyhkZWZpbmUtcHVibGljIGphdmEt b3BlbmpmeC13ZWIKICAgKHBhY2thZ2UgKGluaGVyaXQgamF2YS1vcGVuamZ4LWJ1aWxkKQotICAg IChuYW1lICJqYXZhLW9wZW5qZngtY29udHJvbHMiKQotICAgIChwcm9wYWdhdGVkLWlucHV0cwot ICAgICBgKCgiamF2YS1vcGVuanhmLWdyYXBoaWNzIiAsamF2YS1vcGVuamZ4LWdyYXBoaWNzKSkp CisgICAgKG5hbWUgImphdmEtb3BlbmpmeC13ZWIiKQogICAgIChhcmd1bWVudHMKLSAgICAgYCgj Omphci1uYW1lICJqYXZhLW9wZW5qZngtY29udHJvbHMuamFyIgotICAgICAgICM6c291cmNlLWRp ciAibW9kdWxlcy9jb250cm9scy9zcmMvbWFpbi9qYXZhIgotICAgICAgICM6dGVzdC1kaXIgIm1v ZHVsZXMvY29udHJvbHMvc3JjL3Rlc3QiCi0gICAgICAgOzsgVE9ETzogdGVzdHMgcmVxdWlyZSBj b20uc3VuLmphdmFmeC5wZ3N0dWIsCi0gICAgICAgOzsgamF2YWZ4LmNvbGxlY3Rpb25zLk1vY2tT ZXRPYnNlcnZlciwgYW5kCi0gICAgICAgOzsgY29tLnN1bi5qYXZhZnguYmluZGluZy5FeHByZXNz aW9uSGVscGVyVXRpbGl0eQotICAgICAgICM6dGVzdHM/ICNmYWxzZQorICAgICBgKCM6amFyLW5h bWUgImphdmEtb3BlbmpmeC13ZWIuamFyIgorICAgICAgICM6c291cmNlLWRpciAoc3RyaW5nLWpv aW4gJygibW9kdWxlcy93ZWIvc3JjL21haW4vamF2YSIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIm1vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvV2ViQ29yZS9i aW5kaW5ncy9qYXZhL2RvbTMiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjsi KQorICAgICAgICM6dGVzdHM/ICNmCisgICAgICAgIzptb2R1bGVzICgoaWNlLTkgbWF0Y2gpCisg ICAgICAgICAgICAgICAgICAoZ3VpeCBidWlsZCBhbnQtYnVpbGQtc3lzdGVtKQorICAgICAgICAg ICAgICAgICAgKGd1aXggYnVpbGQgdXRpbHMpKQogICAgICAgICM6cGhhc2VzCiAgICAgICAgKG1v ZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwotICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNr ICdjb3B5LXJlc291cmNlcworICAgICAgICAgKHJlcGxhY2UgJ2J1aWxkCisgICAgICAgICAgIChs YW1iZGEqIF8KKyAgICAgICAgICAgICAoaW52b2tlICJhbnQiICJjb21waWxlIiAiLURjbGFzc2Vz LmRpcj1tb2R1bGVzL3dlYi9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAgICAgICAg I3QpKQorCisgICAgICAgICAoYWRkLWFmdGVyICdidWlsZCAnZ2VuZXJhdGUtaGVhZGVycworICAg ICAgICAgICA7OyBYWDogV2UgcHJvdmlkZSBvbmx5IHNvZnR3YXJlIGJ1aWx0IGZyb20gc291cmNl LCBzbyBsZXQncyBidWlsZAorICAgICAgICAgICA7OyB3ZWJraXQgYXMgd2VsbC4gTGlzdCBvZiB3 ZWJraXQgY2xhc3NlcyBjYW4gYmUgZm91bmQgaW4KKyAgICAgICAgICAgOzsgYnVpbGQuZ3JhZGxl OjI1MTYuIFdlIG5lZWQgdG8gZ2VuZXJhdGUgaGVhZGVycyBmb3IgdGhlIHVwY29taW5nCisgICAg ICAgICAgIDs7IGNvbXBpbGF0aW9uIHN0ZXAgZmlyc3QgYW5kIHB1dCB0aGVtIGluIGdlbmVyYXRl ZC1zcmMvaGVhZGVycworICAgICAgICAgICA7OyBsb2NhdGlvbi4KKyAgICAgICAgICAgKGxhbWJk YSogKCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisgICAgICAgICAgICAgKGxldCog KChjbGFzc2VzICJtb2R1bGVzL3dlYi9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAg ICAgICAgICAgICAgICh3ZWItZ2VuZXJhdGVkLWhlYWRlcnMgIm1vZHVsZXMvd2ViL2J1aWxkL2dl bmVyYXRlZC1zcmMvaGVhZGVycyIpCisgICAgICAgICAgICAgICAgICAgICh3ZWItZ2VuZXJhdGVk LWNsYXNzZXMgJygiY29tLnN1bi53ZWJraXQuQ29udGV4dE1lbnUiCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuQ29udGV4dE1lbnVJ dGVtIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5z dW4ud2Via2l0LkN1cnNvck1hbmFnZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuUGFnZUNhY2hlIgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ud2Via2l0LlBvcHVwTWVudSIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb20uc3VuLndl YmtpdC5TaGFyZWRCdWZmZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiY29tLnN1bi53ZWJraXQuV2ViUGFnZSIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJjb20uc3VuLndlYmtpdC5Mb2FkTGlzdGVuZXJDbGllbnQi CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53 ZWJraXQuZXZlbnQuV0NGb2N1c0V2ZW50IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImNvbS5zdW4ud2Via2l0LmV2ZW50LldDS2V5RXZlbnQiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuZXZl bnQuV0NNb3VzZUV2ZW50IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgImNvbS5zdW4ud2Via2l0LmV2ZW50LldDTW91c2VXaGVlbEV2ZW50IgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ud2Via2l0LmdyYXBo aWNzLkdyYXBoaWNzRGVjb2RlciIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJjb20uc3VuLndlYmtpdC5ncmFwaGljcy5SZW5kZXJNZWRpYUNvbnRyb2xzIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ud2Vi a2l0LmdyYXBoaWNzLlJlbmRlclRoZW1lIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImNvbS5zdW4ud2Via2l0LmdyYXBoaWNzLlNjcm9sbEJhclRoZW1lIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ud2Vi a2l0LmdyYXBoaWNzLldDTWVkaWFQbGF5ZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuZ3JhcGhpY3MuV0NHcmFwaGljc01hbmFn ZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1 bi53ZWJraXQuZ3JhcGhpY3MuV0NSZW5kZXJRdWV1ZSIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJjb20uc3VuLndlYmtpdC5ncmFwaGljcy5XQ1BhdGgiCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJr aXQuZ3JhcGhpY3MuV0NQYXRoSXRlcmF0b3IiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuVGltZXIiCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuV0NGcmFtZVZpZXci CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53 ZWJraXQuV0NQYXN0ZWJvYXJkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgImNvbS5zdW4ud2Via2l0LldDUGx1Z2luV2lkZ2V0IgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ud2Via2l0LmRvbS5DaGFyYWN0 ZXJEYXRhSW1wbCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJjb20uc3VuLndlYmtpdC5kb20uSlNPYmplY3QiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQubmV0d29yay5Tb2NrZXRTdHJlYW1I YW5kbGUiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29t LnN1bi53ZWJraXQubmV0d29yay5VUkxMb2FkZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQudGV4dC5UZXh0QnJlYWtJdGVyYXRv ciIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb20uc3Vu LndlYmtpdC50ZXh0LlRleHROb3JtYWxpemVyIikpCisgICAgICAgICAgICAgICAgICAgIChncmFw aGljcyAoYXNzb2MtcmVmIGlucHV0cyAiamF2YS1vcGVuamZ4LWdyYXBoaWNzIikpKQorICAgICAg ICAgICAgICAgKG1rZGlyLXAgd2ViLWdlbmVyYXRlZC1oZWFkZXJzKQorICAgICAgICAgICAgICAg KGFwcGx5IGludm9rZQorICAgICAgICAgICAgICAgICAgICAgICJqYXZhaCIKKyAgICAgICAgICAg ICAgICAgICAgICAiLURqYXZhLmV4dC5kaXJzPSIKKyAgICAgICAgICAgICAgICAgICAgICAiLVhE aWdub3JlLnN5bWJvbC5maWxlIgorICAgICAgICAgICAgICAgICAgICAgICItWER1c2VVbnNoYXJl ZFRhYmxlPXRydWUiCisgICAgICAgICAgICAgICAgICAgICAgIi1kIiB3ZWItZ2VuZXJhdGVkLWhl YWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAiLWNwIiAoc3RyaW5nLWpvaW4gKGNvbnMqIGNs YXNzZXMgKGZpbmQtZmlsZXMgZ3JhcGhpY3MgIlxcLmphciQiKSkgIjoiKQorICAgICAgICAgICAg ICAgICAgICAgIHdlYi1nZW5lcmF0ZWQtY2xhc3NlcykpCisgICAgICAgICAgICAgI3QpKQorCisg ICAgICAgICAoYWRkLWFmdGVyICdnZW5lcmF0ZS1oZWFkZXJzICdjb21waWxlLW5hdGl2ZS1saW51 eAorICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzIHN5c3RlbSBvdXRwdXRzICM6YWxs b3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAobGV0KiAgKChtb2R1bGUgKHN0cmluZy1hcHBl bmQgKGdldGN3ZCkgIi9tb2R1bGVzL3dlYiIpKQorICAgICAgICAgICAgICAgICAgICAgOzsKKyAg ICAgICAgICAgICAgICAgICAgICh3ZWJraXQtbmF0aXZlLWRlc3QgKHN0cmluZy1hcHBlbmQgbW9k dWxlICIvYnVpbGQvbGludXgiKSkKKyAgICAgICAgICAgICAgICAgICAgICh3ZWJraXQtbmF0aXZl LXNyYyAoc3RyaW5nLWFwcGVuZCBtb2R1bGUgIi9zcmMvbWFpbi9uYXRpdmUiKSkKKyAgICAgICAg ICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAgICAgICAgICAobGliIChzdHJpbmctYXBwZW5k IChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikgIi9saWIiKSkKKyAgICAgICAgICAgICAgICAgICAg IDs7IHVuYW1lIC1tCisgICAgICAgICAgICAgICAgICAgICAobWFjaGluZSAobWF0Y2ggc3lzdGVt CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgieDg2XzY0LWxpbnV4IiAgICJ4ODZf NjQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoImk2ODYtbGludXgiICAgICAi aTY4NiIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IFByZXZlbnQgZXJyb3Jz IHdoZW4gcXVlcnlpbmcgdGhpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBw YWNrYWdlIG9uIHVuc3VwcG9ydGVkIHBsYXRmb3JtcywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOzsgZS5nLiB3aGVuIHJ1bm5pbmcgImd1aXggcGFja2FnZQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA7OyAtLXNlYXJjaD0iCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChfICAgICAgICAgICAgICAgICJVTlNVUFBPUlRFRCIpKSkpCisKKyAgICAgICAg ICAgICAgIChzZXRlbnYgIlBZVEhPTkRPTlRXUklURUJZVEVDT0RFIiAiMSIpCisgICAgICAgICAg ICAgICAoc2V0ZW52ICJXRUJLSVRfT1VUUFVURElSIiB3ZWJraXQtbmF0aXZlLWRlc3QpCisgICAg ICAgICAgICAgICAoYXBwbHkgaW52b2tlIGAoInBlcmwiCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLChzdHJpbmctYXBwZW5kIHdlYmtpdC1uYXRpdmUtc3JjICIvVG9vbHMvU2NyaXB0 cy9zZXQtd2Via2l0LWNvbmZpZ3VyYXRpb24iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICwoaWYgLCh0YXJnZXQtNjRiaXQ/KSAiLS02NC1iaXQiICItLTMyLWJpdCIpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIi0tcmVsZWFzZSIpKQorCisgICAgICAgICAgICAgICAo aW52b2tlICJwZXJsIgorICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCB3ZWJr aXQtbmF0aXZlLXNyYyAiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IikKKyAgICAgICAgICAg ICAgICAgICAgICAgIi0tamF2YSIgOyB3ZWJraXQgcG9ydAorICAgICAgICAgICAgICAgICAgICAg ICAiLS1za2lwLWxpYnJhcnktdXBkYXRlIgorICAgICAgICAgICAgICAgICAgICAgICAiLS1pY3Ut dW5pY29kZSIKKyAgICAgICAgICAgICAgICAgICAgICAgIi0tdmVyYm9zZSIKKyAgICAgICAgICAg ICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICItLWNt YWtlYXJncz0iCisgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4KKyAgICAgICAg ICAgICAgICAgICAgICAgICAobGlzdCAiLURFTkFCTEVfVE9PTFM9MSIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiLURDTUFLRV9TWVNURU1fTkFNRT1MaW51eCIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA7OyBFbnN1cmUgdGhhdCB0aGUgbGlicmFyaWVzIGFyZSBpbnN0 YWxsZWQgaW50byAvbGliCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1h cHBlbmQgIi1EQ01BS0VfSU5TVEFMTF9MSUJESVI9IiBsaWIpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOzsgQWRkIGlucHV0IGxpYnJhcmllcyB0byBycGF0aAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICItRENNQUtFX0lOU1RBTExfUlBBVEhfVVNFX0xJTktfUEFUSD1U UlVFIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IEVuYWJsZSB2ZXJib3NlIG91 dHB1dCBmcm9tIGJ1aWxkcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItRENNQUtF X1ZFUkJPU0VfTUFLRUZJTEU9T04iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0 cmluZy1hcHBlbmQgIi1EQ01BS0VfU0hBUkVEX0xJTktFUl9GTEFHUz0iCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlwiLVdsLC1ycGF0aD0iIGxpYiAiXCIi KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICItRENNQUtF X1NZU1RFTV9QUk9DRVNTT1I9IiBtYWNoaW5lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICItREpBVkFGWF9SRUxFQVNFX1ZFUlNJT049OC4wIgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICItVyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLVdhbGwiCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24t ZGVjbGFyYXRpb24iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1XbCwtLWdjLXNl Y3Rpb25zIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItV25vLXBhcmVudGhlc2Vz IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItV25vLXVudXNlZCIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLWZQSUMiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIi1mbm8tb21pdC1mcmFtZS1wb2ludGVyIgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICItZm5vLXN0cmljdC1hbGlhc2luZyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiLWZzdGFjay1wcm90ZWN0b3IiKSkpKSkKKyAgICAgICAgICAgICAjdCkpCisKKyAgICAg ICAgIChhZGQtYWZ0ZXIgJ2NvbXBpbGUtbmF0aXZlLWxpbnV4ICdpbnN0YWxsLW5hdGl2ZQorICAg ICAgICAgICAobGFtYmRhKiAoIzprZXkgb3V0cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisgICAg ICAgICAgICAgKGxldCAoKGxpYiAoc3RyaW5nLWFwcGVuZCAoYXNzb2MtcmVmIG91dHB1dHMgIm91 dCIpICIvbGliIikpKQorICAgICAgICAgICAgICAgKGZvci1lYWNoIChsYW1iZGEgKGZpbGUpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5zdGFsbC1maWxlIGZpbGUgbGliKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAoZmluZC1maWxlcyAiLiIgIlxcLnNvJCIpKSkKKyAgICAgICAg ICAgICAjdCkpCisKKyAgICAgICAgIChhZGQtYmVmb3JlICdpbnN0YWxsICdidWlsZC1qYXIKICAg ICAgICAgICAgKGxhbWJkYSBfCi0gICAgICAgICAgICAgKGNvcHktcmVjdXJzaXZlbHkgIm1vZHVs ZXMvY29udHJvbHMvc3JjL3Rlc3QvcmVzb3VyY2VzIgotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJidWlsZC90ZXN0LWNsYXNzZXMiKQotICAgICAgICAgICAgIChjb3B5LXJlY3Vyc2l2 ZWx5ICJtb2R1bGVzL2NvbnRyb2xzL3NyYy9tYWluL3Jlc291cmNlcyIKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiYnVpbGQvY2xhc3NlcyIpKSkpKSkKLSAgICAoZGVzY3JpcHRpb24g Ik9wZW5KRlggaXMgYSBjbGllbnQgYXBwbGljYXRpb24gcGxhdGZvcm0gZm9yIGRlc2t0b3AsCi1t b2JpbGUgYW5kIGVtYmVkZGVkIHN5c3RlbXMgYnVpbHQgb24gSmF2YS4gIEl0cyBnb2FsIGlzIHRv IHByb2R1Y2UgYQotbW9kZXJuLCBlZmZpY2llbnQsIGFuZCBmdWxseSBmZWF0dXJlZCB0b29sa2l0 IGZvciBkZXZlbG9waW5nIHJpY2ggY2xpZW50Ci1hcHBsaWNhdGlvbnMuICBUaGlzIHBhY2thZ2Ug Y29udGFpbnMgVUkgY29udHJvbCBjbGFzc2VzIGZvciB0aGUKLU9wZW5KRlggZGlzdHJpYnV0aW9u LiIpKSkKKyAgICAgICAgICAgICAobGV0KiAoKHJlc291cmNlcyAibW9kdWxlcy93ZWIvc3JjL21h aW4vcmVzb3VyY2VzIikKKyAgICAgICAgICAgICAgICAgICAgKGNsYXNzZXMgIm1vZHVsZXMvd2Vi L2J1aWxkL2NsYXNzZXMvamF2YS9tYWluIikpCisgICAgICAgICAgICAgICAoY29weS1yZWN1cnNp dmVseSByZXNvdXJjZXMgY2xhc3NlcykKKyAgICAgICAgICAgICAgIChpbnZva2UgImFudCIgImph ciIgKHN0cmluZy1hcHBlbmQgIi1EY2xhc3Nlcy5kaXI9IiBjbGFzc2VzKSkpCisgICAgICAgICAg ICAgI3QpKSkpKQorCisgICAgKG5hdGl2ZS1pbnB1dHMKKyAgICAgYCgoImphdmEtanVuaXQiICxq YXZhLWp1bml0KQorICAgICAgICgiamF2YS1oYW1jcmVzdC1jb3JlIiAsamF2YS1oYW1jcmVzdC1j b3JlKQorICAgICAgICgiY21ha2UiICxjbWFrZSkKKyAgICAgICAoImd0ayIgLGd0aystMikKKyAg ICAgICAoImd0azMiICxndGsrKQorICAgICAgICgicnVieSIgLHJ1YnkpCisgICAgICAgKCJwZXJs IiAscGVybCkKKyAgICAgICAoImdwZXJmIiAsZ3BlcmYpCisgICAgICAgKCJweXRob24tMiIgLHB5 dGhvbi0yKQorICAgICAgICgicGtnLWNvbmZpZyIgLHBrZy1jb25maWcpKSkKKyAgICAoaW5wdXRz CisgICAgIGAoKCJhbnRscjMiICxhbnRscjMpCisgICAgICAgKCJqYXZhLXN0cmluZ3RlbXBsYXRl IiAsamF2YS1zdHJpbmd0ZW1wbGF0ZSkKKyAgICAgICA7OyBXZWJraXQgSmF2YSBwb3J0IGRlcGVu ZGVuY2llcworICAgICAgICgiaWN1NGMiICxpY3U0YykKKyAgICAgICAoImxpYnhtbDIiICxsaWJ4 bWwyKQorICAgICAgICgibGlieHNsdCIgLGxpYnhzbHQpCisgICAgICAgKCJzcWxpdGUiICxzcWxp dGUpKSkKKyAgICAocHJvcGFnYXRlZC1pbnB1dHMKKyAgICAgYCgoImphdmEtb3BlbmpmeC1jb250 cm9scyIgLGphdmEtb3BlbmpmeC1jb250cm9scykKKyAgICAgICAoImphdmEtb3BlbmpmeC1tZWRp YSIgLGphdmEtb3BlbmpmeC1tZWRpYSkKKyAgICAgICAoImphdmEtb3BlbmpmeC1ncmFwaGljcyIg LGphdmEtb3BlbmpmeC1ncmFwaGljcykpKSkpCiAKIChkZWZpbmUtcHVibGljIGphdmFjYy00CiAg IChwYWNrYWdlCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngt YnVpbGQtc3dpbmctSkZYUGFuZWwtSkRLOC5wYXRjaCBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL2ph dmEtb3BlbmpmeC1idWlsZC1zd2luZy1KRlhQYW5lbC1KREs4LnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmI1NDAwNDg2MjEKLS0tIC9kZXYvbnVsbAorKysgYi9n bnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtc3dpbmctSkZYUGFuZWwtSkRL OC5wYXRjaApAQCAtMCwwICsxLDYwIEBACitTdWJqZWN0OiBbUEFUQ0hdIGphdmEtb3BlbmpmeC1i dWlsZDogQ2Fubm90IGNvbXBpbGUgSkZYUGFuZWwgd2l0aCBKREsgOAorCitJbiBKREt1OSBnZXRE ZWZhdWx0U2NhbGUgbWV0aG9kIHdhcyByZW1vdmVkIGFuZCBzdW4uamF2YTJkLlN1cmZhY2VEYXRh IGNsYXNzIG5vdworaGFzIHNlcGFyYXRlIGdldERlZmF1bHRTY2FsZVgoKSBhbmQgZ2V0RGVmYXVs dFNjYWxlWSgpIG1ldGhvZHMuIFNlZQoraHR0cHM6Ly9idWdzLm9wZW5qZGsuamF2YS5uZXQvYnJv d3NlL0pESy04MDczMzIwIGZvciBtb3JlIGluZm8uCisKK0JhY2twb3J0IHRoZSBtaXNzaW5nIHBv cnQgdG8gYnVpbGQgb3BlbmpmeC1zd2luZyBwYWNrYWdlIHVzaW5nIEpES3U4LiBGb3IgbW9yZQor aW5mbyBwbGVhc2Ugc2VlIGh0dHBzOi8vYnVncy5vcGVuamRrLmphdmEubmV0L2Jyb3dzZS9KREst ODE0OTk2NworCistLS0KKyAuLi4vamF2YS9qYXZhZngvZW1iZWQvc3dpbmcvSkZYUGFuZWwuamF2 YSAgICAgfCAyMCArKysrKysrKysrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDE5IGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvc3dpbmcvc3Jj L21haW4vamF2YS9qYXZhZngvZW1iZWQvc3dpbmcvSkZYUGFuZWwuamF2YSBiL21vZHVsZXMvc3dp bmcvc3JjL21haW4vamF2YS9qYXZhZngvZW1iZWQvc3dpbmcvSkZYUGFuZWwuamF2YQoraW5kZXgg OTc1MTVlMjI5MC4uNjE0ZWQ2NTZiOSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvc3dpbmcvc3JjL21h aW4vamF2YS9qYXZhZngvZW1iZWQvc3dpbmcvSkZYUGFuZWwuamF2YQorKysrIGIvbW9kdWxlcy9z d2luZy9zcmMvbWFpbi9qYXZhL2phdmFmeC9lbWJlZC9zd2luZy9KRlhQYW5lbC5qYXZhCitAQCAt ODEsNiArODEsNyBAQCBpbXBvcnQgc3VuLmF3dC5BcHBDb250ZXh0OworIGltcG9ydCBzdW4uYXd0 LkNhdXNlZEZvY3VzRXZlbnQ7CisgaW1wb3J0IHN1bi5hd3QuU3VuVG9vbGtpdDsKKyBpbXBvcnQg c3VuLmphdmEyZC5TdW5HcmFwaGljczJEOworK2ltcG9ydCBzdW4uamF2YTJkLlN1cmZhY2VEYXRh OworIGltcG9ydCBzdW4udXRpbC5sb2dnaW5nLlBsYXRmb3JtTG9nZ2VyOworIGltcG9ydCBzdW4u dXRpbC5sb2dnaW5nLlBsYXRmb3JtTG9nZ2VyLkxldmVsOworCitAQCAtNjgxLDYgKzY4MiwyMyBA QAorICAgICAgICAgICAgICAgICBlLmdldENhcmV0KCkuZ2V0SW5zZXJ0aW9uSW5kZXgoKSk7Cisg ICAgIH0KKworKyAgICAvLyBGSVhNRTogb25jZSB3ZSBtb3ZlIHRvIEpESyA5IGFzIHRoZSBib290 IEpESyB3ZSBzaG91bGQgcmVtb3ZlIHRoZQorKyAgICAvLyByZWZsZWN0aW9uIGNvZGUgZnJvbSB0 aGlzIG1ldGhvZCwgY29uc2lkZXIgY2hhbmdpbmcgaXQgdG8KKysgICAgLy8gdXNlIGRvdWJsZSBy YXRoZXIgdGhhbiBpbnQsIGFuZCBhY2NvdW50IGZvciB0aGUgcG9zc2liaWxpdHkgb2YKKysgICAg Ly8gYSBkaWZmZXJlbnQgc2NhbGUgZmFjdG9yIGluIFggYW5kIFkuCisrICAgIHByaXZhdGUgaW50 IGdldERlZmF1bHRTY2FsZShTdXJmYWNlRGF0YSBzdXJmYWNlRGF0YSkgeworKyAgICAgICAgLyoK KysgICAgICAgICAgZG91YmxlIHNjYWxlID0gc3VyZmFjZURhdGEuZ2V0RGVmYXVsdFNjYWxlWCgp OworKyAgICAgICAgKi8KKysgICAgICAgIGRvdWJsZSBzY2FsZSA9IDE7CisrICAgICAgICB0cnkg eworKyAgICAgICAgICAgIE1ldGhvZCBtZXRoID0gU3VyZmFjZURhdGEuY2xhc3MuZ2V0TWV0aG9k KCJnZXREZWZhdWx0U2NhbGVYIik7CisrICAgICAgICAgICAgc2NhbGUgPSAoRG91YmxlKW1ldGgu aW52b2tlKHN1cmZhY2VEYXRhKTsKKysgICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiBleCkgewor KyAgICAgICAgfQorKworKyAgICAgICAgcmV0dXJuIChpbnQpTWF0aC5yb3VuZChzY2FsZSk7Cisr ICAgIH0KKworICAgICAvKioKKyAgICAgICogT3ZlcnJpZGVzIHRoZSB7QGxpbmsgamF2YXguc3dp bmcuSkNvbXBvbmVudCNwYWludENvbXBvbmVudChHcmFwaGljcyl9CitAQCAtNzIwLDcgKzczOCw3 IEBAIHB1YmxpYyBjbGFzcyBKRlhQYW5lbCBleHRlbmRzIEpDb21wb25lbnQgeworCisgICAgICAg ICAgICAgaW50IG5ld1NjYWxlRmFjdG9yID0gc2NhbGVGYWN0b3I7CisgICAgICAgICAgICAgaWYg KGcgaW5zdGFuY2VvZiBTdW5HcmFwaGljczJEKSB7CistICAgICAgICAgICAgICAgIG5ld1NjYWxl RmFjdG9yID0gKChTdW5HcmFwaGljczJEKWcpLnN1cmZhY2VEYXRhLmdldERlZmF1bHRTY2FsZSgp OworKyAgICAgICAgICAgICAgICBuZXdTY2FsZUZhY3RvciA9IGdldERlZmF1bHRTY2FsZSgoKFN1 bkdyYXBoaWNzMkQpZykuc3VyZmFjZURhdGEpOworICAgICAgICAgICAgIH0KKyAgICAgICAgICAg ICBpZiAoc2NhbGVGYWN0b3IgIT0gbmV3U2NhbGVGYWN0b3IpIHsKKyAgICAgICAgICAgICAgICAg cmVzaXplUGl4ZWxCdWZmZXIobmV3U2NhbGVGYWN0b3IpOworLS0KKzIuMjQuMQpkaWZmIC0tZ2l0 IGEvZ251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1EdW1wUmVuZGVy VHJlZS1qYXZhLnBhdGNoIGIvZ251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxk LXdlYi1EdW1wUmVuZGVyVHJlZS1qYXZhLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAuLjAyMDBlOTJjMDUKLS0tIC9kZXYvbnVsbAorKysgYi9nbnUvcGFja2FnZXMv cGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLUR1bXBSZW5kZXJUcmVlLWphdmEucGF0Y2gK QEAgLTAsMCArMSwzMCBAQAorU3ViamVjdDogW1BBVENIXSBGaXggRHVtcFJlbmRlclRyZWUgbGlu a2luZy4KKworRHVtcFJlbmRlclRyZWUgY29tcGlsZXMgT0ssIGJ1dCBmYWlscyBvbiBhIGxpbmtp bmcgc3RhZ2Ugd2l0aCB0aGUgYmVsbG93CitlcnJvci4gSSBmb3VuZCB0aGUgdmVyeSBzYW1lIGZp eCBmb3Igb3BlbmpmeC04IEZyZWVCU0QgcG9ydHMgYXMgd2VsbC4gTGV0J3MKK2lnbm9yZSB1bmRl ZmluZWQgcmVmZXJlbmNlcyBmb3Igbm93LgorCitDTWFrZUZpbGVzL0R1bXBSZW5kZXJUcmVlSmF2 YS5kaXIvX18vVGVzdFJ1bm5lci5jcHAubzpUZXN0UnVubmVyLmNwcDpmdW5jdGlvbiBUZXN0UnVu bmVyOjpydW5VSVNjcmlwdChPcGFxdWVKU0NvbnRleHQgY29uc3QqLCBPcGFxdWVKU1N0cmluZyos IE9wYXF1ZUpTVmFsdWUgY29uc3QqKTogZXJyb3I6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gJ1dU Rjo6U3RyaW5nOjpTdHJpbmcodW5zaWduZWQgc2hvcnQgY29uc3QqLCB1bnNpZ25lZCBpbnQpJwor Q01ha2VGaWxlcy9EdW1wUmVuZGVyVHJlZUphdmEuZGlyL19fL19fL1Rlc3RSdW5uZXJTaGFyZWQv VUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udGV4dC5jcHAubzpVSVNjcmlwdENvbnRleHQuY3Bw OmZ1bmN0aW9uIFdUUjo6VUlTY3JpcHRDb250ZXh0Ojp0cnlUb0NvbXBsZXRlVUlTY3JpcHRGb3JD dXJyZW50UGFyZW50Q2FsbGJhY2soKTogZXJyb3I6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gJ1dU Rjo6U3RyaW5nOjpTdHJpbmcodW5zaWduZWQgc2hvcnQgY29uc3QqLCB1bnNpZ25lZCBpbnQpJwor Y29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCisKKy0tLQorIC4uLi9z cmMvbWFpbi9uYXRpdmUvVG9vbHMvRHVtcFJlbmRlclRyZWUvamF2YS9DTWFrZUxpc3RzLnR4dCAg fCA0IC0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBh L21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Ub29scy9EdW1wUmVuZGVyVHJlZS9qYXZhL0NN YWtlTGlzdHMudHh0IGIvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1Rvb2xzL0R1bXBSZW5k ZXJUcmVlL2phdmEvQ01ha2VMaXN0cy50eHQKK2luZGV4IGUyY2U1ZWYuLjJhZDNkYjcgMTAwNjQ0 CistLS0gYS9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvVG9vbHMvRHVtcFJlbmRlclRyZWUv amF2YS9DTWFrZUxpc3RzLnR4dAorKysrIGIvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1Rv b2xzL0R1bXBSZW5kZXJUcmVlL2phdmEvQ01ha2VMaXN0cy50eHQKK0BAIC03Miw5ICs3Miw1IEBA IGFkZF9saWJyYXJ5KER1bXBSZW5kZXJUcmVlSmF2YSBTSEFSRUQgJHtEdW1wUmVuZGVyVHJlZV9T T1VSQ0VTfSkKKyBhZGRfZGVmaW5pdGlvbnMoLURXRUJDT1JFX0VYUE9SVD1XVEZfSU1QT1JUIC1E V0VCQ09SRV9URVNUU1VQUE9SVF9FWFBPUlQ9V1RGX0lNUE9SVCkKKyBhZGRfZGVwZW5kZW5jaWVz KER1bXBSZW5kZXJUcmVlSmF2YSBEdW1wUmVuZGVyVHJlZUJpbmRpbmdzKQorCistaWYgKFVOSVgg QU5EIE5PVCBBUFBMRSkKKy0gIHNldF90YXJnZXRfcHJvcGVydGllcyhEdW1wUmVuZGVyVHJlZUph dmEgUFJPUEVSVElFUyBMSU5LX0ZMQUdTICItV2wsLS1uby11bmRlZmluZWQiKQorLWVuZGlmICgp CistCisgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKER1bXBSZW5kZXJUcmVlSmF2YSBQUk9QRVJUSUVT IE9VVFBVVF9OQU1FICJEdW1wUmVuZGVyVHJlZUphdmEiKQorIHRhcmdldF9saW5rX2xpYnJhcmll cyhEdW1wUmVuZGVyVHJlZUphdmEgJHtEdW1wUmVuZGVyVHJlZV9MSUJSQVJJRVN9KQorLS0KKzIu MjYuMgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxk LXdlYi1PcHRpb25zSmF2YS5jbWFrZS5wYXRjaCBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEt b3BlbmpmeC1idWlsZC13ZWItT3B0aW9uc0phdmEuY21ha2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMWYxMzM1NzFjYgotLS0gL2Rldi9udWxsCisrKyBiL2du dS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItT3B0aW9uc0phdmEuY21h a2UucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorU3ViamVjdDogW1BBVENIXSBVc2UgZmluZF9wYWNr YWdlLgorCitXZSByZW1vdmUgYWxsIGVtYmVkZGVkIDNyZC1wYXJ0eSBsaWJzIGxpa2UgaWN1LCBs aWJ4bWwsIGxpYnhzbHQgYW5kIHNxbGl0ZSwKK2FuZCB1c2UgbGlicmFyaWVzIHByb3ZpZGVkIHZp YSBndWl4IGlucHV0cy4KKy0tLQorIC4uLi93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9jbWFr ZS9PcHRpb25zSmF2YS5jbWFrZSB8IDEwICsrKystLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBp bnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy93ZWIv c3JjL21haW4vbmF0aXZlL1NvdXJjZS9jbWFrZS9PcHRpb25zSmF2YS5jbWFrZSBiL21vZHVsZXMv d2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvY21ha2UvT3B0aW9uc0phdmEuY21ha2UKK2luZGV4 IDc2YTY2OTUuLjczYzUyNWIgMTAwNjQ0CistLS0gYS9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRp dmUvU291cmNlL2NtYWtlL09wdGlvbnNKYXZhLmNtYWtlCisrKysgYi9tb2R1bGVzL3dlYi9zcmMv bWFpbi9uYXRpdmUvU291cmNlL2NtYWtlL09wdGlvbnNKYXZhLmNtYWtlCitAQCAtMjYsMTMgKzI2 LDExIEBAIGVuZGlmICgpCisgc2V0KExJQl9JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX0ZV TExfTElCRElSfSIgQ0FDSEUgUEFUSCAiQWJzb2x1dGUgcGF0aCB0byBsaWJyYXJ5IGluc3RhbGxh dGlvbiBkaXJlY3RvcnkiKQorIHNldChFWEVDX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExf RlVMTF9CSU5ESVJ9IiBDQUNIRSBQQVRIICJBYnNvbHV0ZSBwYXRoIHRvIGV4ZWN1dGFibGUgaW5z dGFsbGF0aW9uIGRpcmVjdG9yeSIpCisKKy1zZXQoU1FMSVRFX0xJQlJBUklFUyBTcWxpdGVKYXZh KQorLXNldChMSUJYTUwyX0xJQlJBUklFUyBYTUxKYXZhKQorLXNldChMSUJYU0xUX0xJQlJBUklF UyBYU0xUSmF2YSkKKworLXNldChJQ1VfTElCUkFSSUVTIGljdXVjIGljdWRhdGEpCistc2V0KElD VV9JMThOX0xJQlJBUklFUyBpY3VpMThuIGljdXVjIGljdWRhdGEpCistc2V0KElDVV9EQVRBX0xJ QlJBUklFUyBpY3VkYXRhKQorK2ZpbmRfcGFja2FnZShTcWxpdGUgUkVRVUlSRUQpCisrZmluZF9w YWNrYWdlKExpYlhtbDIgUkVRVUlSRUQpCisrZmluZF9wYWNrYWdlKExpYlhzbHQgUkVRVUlSRUQp CisrZmluZF9wYWNrYWdlKElDVSBSRVFVSVJFRCkKKworIGZpbmRfcGFja2FnZShKTkkgUkVRVUlS RUQpCisgZmluZF9wYWNrYWdlKFRocmVhZHMgUkVRVUlSRUQpCistLQorMi4yNi4yCmRpZmYgLS1n aXQgYS9nbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLVdURi5wYXRj aCBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItV1RGLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjVmYTc2NDQ5ZGYKLS0tIC9k ZXYvbnVsbAorKysgYi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2Vi LVdURi5wYXRjaApAQCAtMCwwICsxLDMzIEBACitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBjb21waWxh dGlvbiBhZ2FpbnN0IElDVSA1OSsuCisKK0lDVTRDIGhhcyBtb3ZlZCB0byBjaGFyMTZfdCBhcyB0 aGUgdHlwZSBmb3IgVVRGLTE2CitodHRwOi8vc2l0ZS5pY3UtcHJvamVjdC5vcmcvZG93bmxvYWQv NTkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvV1RG L3d0Zi91bmljb2RlL2phdmEvVW5pY29kZUphdmEuaCBiL21vZHVsZXMvd2ViL3NyYy9tYWluL25h dGl2ZS9Tb3VyY2UvV1RGL3d0Zi91bmljb2RlL2phdmEvVW5pY29kZUphdmEuaAoraW5kZXggMDk5 M2FhNi4uZTZlYTEzMSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9T b3VyY2UvV1RGL3d0Zi91bmljb2RlL2phdmEvVW5pY29kZUphdmEuaAorKysrIGIvbW9kdWxlcy93 ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvamF2YS9Vbmljb2RlSmF2 YS5oCitAQCAtMTUsMjEgKzE1LDYgQEAKKworICNkZWZpbmUgQ2hhclByb3AocCkgY29tX3N1bl93 ZWJraXRfZG9tX0NoYXJhY3RlckRhdGFJbXBsXyMjcAorCistI2lmIFBMQVRGT1JNKEpBVkEpICYm IE9TKFdJTkRPV1MpCistdHlwZWRlZiB3Y2hhcl90IFVDaGFyOworLSNlbHNlCistdHlwZWRlZiB1 aW50MTZfdCBVQ2hhcjsKKy0jZW5kaWYKKy0KKy0vLyAjaWZkZWYgVUNoYXIzMgorLS8vICN1bmRl ZiBVQ2hhcjMyCistLy8gI2VuZGlmCistCistI2lmbmRlZiBfX1VNQUNISU5FX0hfXyAvL1hYWDog cmVjaGVjaworLXR5cGVkZWYgdWludDMyX3QgVUNoYXIzMjsKKy0jZW5kaWYKKy0KKy0jZGVmaW5l IFVfTUFTSyh4KSAoKHVpbnQzMl90KTE8PCh4KSkKKyAjZGVmaW5lIFVTRV9GQVNUX1BBVEgoYywg ZmFzdCwgc2xvdykgKChjKSA8PSAweDdGID8gZmFzdCgoY2hhciljKSA6IHNsb3coYykpCisKKyAj ZGVmaW5lIENIRUNLX1BST1BFUlRZKGMsIG1hc2ssIGlzU2V0KSBcCistLQorMi4yNi4yCmRpZmYg LS1naXQgYS9nbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLVdlYktp dENvbXBpbGVyRmxhZ3MuY21ha2UucGF0Y2ggYi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9w ZW5qZngtYnVpbGQtd2ViLVdlYktpdENvbXBpbGVyRmxhZ3MuY21ha2UucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uZDBiYmI3ZTNiMgotLS0gL2Rldi9udWxsCisr KyBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItV2ViS2l0Q29t cGlsZXJGbGFncy5jbWFrZS5wYXRjaApAQCAtMCwwICsxLDM2IEBACitTdWJqZWN0OiBbUEFUQ0hd IEZpeCBXZWJLaXQgbGlua2FnZS4KKworU29tZWhvdyB0aGUgd2hvbGUgbGlua2FnZSBmYWlscyBi ZWNhdXNlIG9mIHRoZSBUZXN0UnVubmVyJ3MgdW5kZWZpbmVkCityZWZlcmVuY2VzLiBIb3dldmVy LCBJIHNlZSB0aGUgdmVyeSBzYW1lIGZpeGVzIGluIG9wZW5qZng4LWRldmVsIEZyZWVCU0QgcG9y dCwKK2V2ZW4gdGhvdWdoIHRoZXkgdXNlIGdyYWRsZSB0byBidWlsZCBpdC4KKworQ01ha2VGaWxl cy9EdW1wUmVuZGVyVHJlZUphdmEuZGlyL19fL1Rlc3RSdW5uZXIuY3BwLm86VGVzdFJ1bm5lci5j cHA6ZnVuY3Rpb24gVGVzdFJ1bm5lcjo6cnVuVUlTY3JpcHQoT3BhcXVlSlNDb250ZXh0IGNvbnN0 KiwgT3BhcXVlSlNTdHJpbmcqLCBPcGFxdWVKU1ZhbHVlIGNvbnN0Kik6IGVycm9yOiB1bmRlZmlu ZWQgcmVmZXJlbmNlIHRvICdXVEY6OlN0cmluZzo6U3RyaW5nKHVuc2lnbmVkIHNob3J0IGNvbnN0 KiwgdW5zaWduZWQgaW50KScKK0NNYWtlRmlsZXMvRHVtcFJlbmRlclRyZWVKYXZhLmRpci9fXy9f Xy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRleHQuY3BwLm86 VUlTY3JpcHRDb250ZXh0LmNwcDpmdW5jdGlvbiBXVFI6OlVJU2NyaXB0Q29udGV4dDo6dHJ5VG9D b21wbGV0ZVVJU2NyaXB0Rm9yQ3VycmVudFBhcmVudENhbGxiYWNrKCk6IGVycm9yOiB1bmRlZmlu ZWQgcmVmZXJlbmNlIHRvICdXVEY6OlN0cmluZzo6U3RyaW5nKHVuc2lnbmVkIHNob3J0IGNvbnN0 KiwgdW5zaWduZWQgaW50KScKKworU29tZSByZWxhdGVkIGJ1Z3MvY29tbWl0cyBhcmU6CitodHRw czovL2dpdGh1Yi5jb20vV2ViS2l0L3dlYmtpdC9jb21taXQvMWU0NjM3N2U0NzY3NDM2MzEzMTI5 OWQ1NGM4NTU3NzM0YTk5ZmI1ZgoraHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp P2lkPTE5OTYyNSNjMjQKK2h0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y MDAwNzQKKworLS0tCisgLi4uL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvY21ha2UvV2ViS2l0Q29t cGlsZXJGbGFncy5jbWFrZSAgIHwgNSAtLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGRlbGV0aW9u cygtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9j bWFrZS9XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlIGIvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0 aXZlL1NvdXJjZS9jbWFrZS9XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlCitpbmRleCA1YmNmMDQ3 Li40NTI2ZWU2IDEwMDY0NAorLS0tIGEvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJj ZS9jbWFrZS9XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlCisrKysgYi9tb2R1bGVzL3dlYi9zcmMv bWFpbi9uYXRpdmUvU291cmNlL2NtYWtlL1dlYktpdENvbXBpbGVyRmxhZ3MuY21ha2UKK0BAIC0x NzYsMTEgKzE3Niw2IEBAIGlmIChOT1QgTVNWQykKKyAgICAgc3RyaW5nKFJFR0VYIE1BVENIQUxM ICItZnNhbml0aXplPVteIF0qIiBFTkFCTEVEX0NPTVBJTEVSX1NBTklUSVpFUlMgJHtDTUFLRV9D WFhfRkxBR1N9KQorIGVuZGlmICgpCisKKy1pZiAoVU5JWCBBTkQgTk9UIEFQUExFIEFORCBOT1Qg RU5BQkxFRF9DT01QSUxFUl9TQU5JVElaRVJTKQorLSAgICBzZXQoQ01BS0VfU0hBUkVEX0xJTktF Ul9GTEFHUyAiLVdsLC0tbm8tdW5kZWZpbmVkICR7Q01BS0VfU0hBUkVEX0xJTktFUl9GTEFHU30i KQorLWVuZGlmICgpCistCistCisgIyBDT0RFX0dFTkVSQVRPUl9QUkVQUk9DRVNTT1JfV0lUSF9M SU5FTUFSS0VSUyBvbmx5IG1hdHRlcnMgd2l0aCBHQ0MgPj0gNC43LjAuICBTaW5jZSB0aGlzCisg IyB2ZXJzaW9uLCAtUCBkb2VzIG5vdCBvdXRwdXQgZW1wdHkgbGluZXMsIHdoaWNoIGN1cnJlbnRs eSBicmVha3MgbWFrZV9uYW1lcy5wbCBpbgorICMgV2ViQ29yZS4gSW52ZXN0aWdhdGluZyB3aGV0 aGVyIG1ha2VfbmFtZXMucGwgc2hvdWxkIGJlIGNoYW5nZWQgaW5zdGVhZCBpcyBsZWZ0IGFzIGFu IGV4ZXJjaXNlIHRvCistLQorMi4yNi4yCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvcGF0Y2hl cy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLWljdS5wYXRjaCBiL2dudS9wYWNrYWdlcy9wYXRjaGVz L2phdmEtb3BlbmpmeC1idWlsZC13ZWItaWN1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLjNlNWM0YTc3MGMKLS0tIC9kZXYvbnVsbAorKysgYi9nbnUvcGFja2Fn ZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLWljdS5wYXRjaApAQCAtMCwwICsxLDM4 IEBACitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBjb21waWxhdGVpb24gd2l0aCBJQ1UuCisKK1JlZ3Jl c3NlZCBieSBodHRwczovL2dpdGh1Yi5jb20vdW5pY29kZS1vcmcvaWN1L2NvbW1pdC80ODBiZWMz ZWE2NTIKKworLS0tCisgbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9XZWJDb3Jl L2RvbS9Eb2N1bWVudC5jcHAgfCA2ICsrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlv bnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL3dlYi9zcmMvbWFp bi9uYXRpdmUvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL21vZHVsZXMvd2ViL3Ny Yy9tYWluL25hdGl2ZS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCitpbmRleCBlYzMw ZmI1Li40YjBmZjlkIDEwMDY0NAorLS0tIGEvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1Nv dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrKyBiL21vZHVsZXMvd2ViL3NyYy9tYWlu L25hdGl2ZS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCitAQCAtNDcwNCwxMiArNDcw NCwxMiBAQCBzdGF0aWMgYm9vbCBpc1ZhbGlkTmFtZU5vbkFTQ0lJKGNvbnN0IFVDaGFyKiBjaGFy YWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCisgICAgIHVuc2lnbmVkIGkgPSAwOworCisgICAgIFVD aGFyMzIgYzsKKy0gICAgVTE2X05FWFQoY2hhcmFjdGVycywgaSwgbGVuZ3RoLCBjKQorKyAgICBV MTZfTkVYVChjaGFyYWN0ZXJzLCBpLCBsZW5ndGgsIGMpOworICAgICBpZiAoIWlzVmFsaWROYW1l U3RhcnQoYykpCisgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgd2hpbGUgKGkgPCBsZW5n dGgpIHsKKy0gICAgICAgIFUxNl9ORVhUKGNoYXJhY3RlcnMsIGksIGxlbmd0aCwgYykKKysgICAg ICAgIFUxNl9ORVhUKGNoYXJhY3RlcnMsIGksIGxlbmd0aCwgYyk7CisgICAgICAgICBpZiAoIWlz VmFsaWROYW1lUGFydChjKSkKKyAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgIH0KK0BA IC00NzY5LDcgKzQ3NjksNyBAQCBFeGNlcHRpb25PcjxzdGQ6OnBhaXI8QXRvbWljU3RyaW5nLCBB dG9taWNTdHJpbmc+PiBEb2N1bWVudDo6cGFyc2VRdWFsaWZpZWROYW1lKAorCisgICAgIGZvciAo dW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICkgeworICAgICAgICAgVUNoYXIzMiBjOworLSAg ICAgICAgVTE2X05FWFQocXVhbGlmaWVkTmFtZSwgaSwgbGVuZ3RoLCBjKQorKyAgICAgICAgVTE2 X05FWFQocXVhbGlmaWVkTmFtZSwgaSwgbGVuZ3RoLCBjKTsKKyAgICAgICAgIGlmIChjID09ICc6 JykgeworICAgICAgICAgICAgIGlmIChzYXdDb2xvbikKKyAgICAgICAgICAgICAgICAgcmV0dXJu IEV4Y2VwdGlvbiB7IEludmFsaWRDaGFyYWN0ZXJFcnJvciB9OworLS0KKzIuMjYuMgpkaWZmIC0t Z2l0IGEvZ251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi14bG9jYWxl LmgucGF0Y2ggYi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLXhs b2NhbGUuaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi4xMzhm MzlmOWFmCi0tLSAvZGV2L251bGwKKysrIGIvZ251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVu amZ4LWJ1aWxkLXdlYi14bG9jYWxlLmgucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorU3ViamVjdDog W1BBVENIXSBDaGVjayA8eGxvY2FsZS5oPiBoZWFkZXIgZmlsZQorCitGZXcgbGlicmFyaWVzIHVz ZSBoYXJkLWNvZGVkIHhsb2NhbGVfaCBoZWFkZXIgZXZlbiB0aG91Z2ggaWYgQ01ha2UgdGFrZXMg Y2FyZQorb2YgaXQgcHJvcGVybHkuIFJlbW92ZSBkZWZpbmVkIGhlYWRlcnMsIGFuZCByZWx5IG9u IENNYWtlIHByZXByb2Nlc3NvcgoraW5zdGVhZC4KKworLS0tCisgLi4uL3NyYy9tYWluL25hdGl2 ZS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ4c2x0L2xpbnV4L2NvbmZpZy5oICAgIHwgMiArLQorIC4u Li9zcmMvbWFpbi9uYXRpdmUvU291cmNlL1RoaXJkUGFydHkvbGlieHNsdC9zcmMvY29uZmlnLmgu aW4gICB8IDIgKy0KKyBtb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL2NtYWtlL09w dGlvbnNDb21tb24uY21ha2UgICAgfCAxICsKKyAzIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvd2ViL3NyYy9tYWlu L25hdGl2ZS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ4c2x0L2xpbnV4L2NvbmZpZy5oIGIvbW9kdWxl cy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9UaGlyZFBhcnR5L2xpYnhzbHQvbGludXgvY29u ZmlnLmgKK2luZGV4IGJkNDRjMTYzLi5iMTliNDVmNCAxMDA2NDQKKy0tLSBhL21vZHVsZXMvd2Vi L3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ4c2x0L2xpbnV4L2NvbmZpZy5o CisrKysgYi9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL1RoaXJkUGFydHkvbGli eHNsdC9saW51eC9jb25maWcuaAorQEAgLTE0Myw3ICsxNDMsNyBAQAorICNkZWZpbmUgSEFWRV9W U1BSSU5URiAxCisKKyAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHhsb2NhbGUuaD4g aGVhZGVyIGZpbGUuICovCistI2RlZmluZSBIQVZFX1hMT0NBTEVfSCAxCisrLyogI2RlZmluZSBI QVZFX1hMT0NBTEVfSCAxICovCisKKyAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYF9z dGF0JyBmdW5jdGlvbi4gKi8KKyAvKiAjdW5kZWYgSEFWRV9fU1RBVCAqLworZGlmZiAtLWdpdCBh L21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ4c2x0L3Ny Yy9jb25maWcuaC5pbiBiL21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvVGhpcmRQ YXJ0eS9saWJ4c2x0L3NyYy9jb25maWcuaC5pbgoraW5kZXggMDg1MzU0ZTkuLjAyMTBmY2UyIDEw MDY0NAorLS0tIGEvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9UaGlyZFBhcnR5 L2xpYnhzbHQvc3JjL2NvbmZpZy5oLmluCisrKysgYi9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRp dmUvU291cmNlL1RoaXJkUGFydHkvbGlieHNsdC9zcmMvY29uZmlnLmguaW4KK0BAIC0xNDIsNyAr MTQyLDcgQEAKKyAjdW5kZWYgSEFWRV9WU1BSSU5URgorCisgLyogRGVmaW5lIHRvIDEgaWYgeW91 IGhhdmUgdGhlIDx4bG9jYWxlLmg+IGhlYWRlciBmaWxlLiAqLworLSN1bmRlZiBIQVZFX1hMT0NB TEVfSAorKy8qICN1bmRlZiBIQVZFX1hMT0NBTEVfSCAqLworCisgLyogRGVmaW5lIHRvIDEgaWYg eW91IGhhdmUgdGhlIGBfc3RhdCcgZnVuY3Rpb24uICovCisgI3VuZGVmIEhBVkVfX1NUQVQKK2Rp ZmYgLS1naXQgYS9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL2NtYWtlL09wdGlv bnNDb21tb24uY21ha2UgYi9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL2NtYWtl L09wdGlvbnNDb21tb24uY21ha2UKK2luZGV4IDNiYmQyYzRhLi4yYjYxOGRkNiAxMDA2NDQKKy0t LSBhL21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1v bi5jbWFrZQorKysrIGIvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9jbWFrZS9P cHRpb25zQ29tbW9uLmNtYWtlCitAQCAtMTQ4LDYgKzE0OCw3IEBAIF9IQVZFX0NIRUNLX0lOQ0xV REUoSEFWRV9TVFJJTkdTX0ggc3RyaW5ncy5oKQorIF9IQVZFX0NIRUNLX0lOQ0xVREUoSEFWRV9T WVNfUEFSQU1fSCBzeXMvcGFyYW0uaCkKKyBfSEFWRV9DSEVDS19JTkNMVURFKEhBVkVfU1lTX1RJ TUVfSCBzeXMvdGltZS5oKQorIF9IQVZFX0NIRUNLX0lOQ0xVREUoSEFWRV9TWVNfVElNRUJfSCBz eXMvdGltZWIuaCkKKytfSEFWRV9DSEVDS19JTkNMVURFKEhBVkVfWExPQ0FMRV9IIHhsb2NhbGUu aCkKKworICMgQ2hlY2sgZm9yIGZ1bmN0aW9ucworIF9IQVZFX0NIRUNLX0ZVTkNUSU9OKEhBVkVf QUxJR05FRF9NQUxMT0MgX2FsaWduZWRfbWFsbG9jKQorLS0KKzIuMjQuMQotLSAKMi4zNC4wCgo= --000000000000a2c70305e1d1f7a3--
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.