From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:34399) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5bFv-0005oy-Po for guix-patches@gnu.org; Sat, 22 Feb 2020 15:20:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j5bFt-0003XY-SL for guix-patches@gnu.org; Sat, 22 Feb 2020 15:20:07 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:44089) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j5bFt-0003X7-Ol for guix-patches@gnu.org; Sat, 22 Feb 2020 15:20:05 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j5bFt-0001ps-M2 for guix-patches@gnu.org; Sat, 22 Feb 2020 15:20:05 -0500 Subject: [bug#39746] [PATCH 7/7] gnu: java-openjfx-web: Add new variable. Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:34237) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5bEv-0005fC-93 for guix-patches@gnu.org; Sat, 22 Feb 2020 15:19:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j5bEt-0000A6-CV for guix-patches@gnu.org; Sat, 22 Feb 2020 15:19:05 -0500 Received: from mx4.mail.mmer.org ([178.22.66.29]:27561) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1j5bEs-0008RV-Cl for guix-patches@gnu.org; Sat, 22 Feb 2020 15:19:03 -0500 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 09D019CEDB for ; Sat, 22 Feb 2020 19:48:13 +0000 (UTC) From: Alexey Abramov Date: Sat, 22 Feb 2020 21:17:55 +0100 Message-Id: <20200222201755.50425-7-levenson@mmer.org> In-Reply-To: <20200222201755.50425-1-levenson@mmer.org> References: <20200222201755.50425-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 39746@debbugs.gnu.org * gnu/packages/java.scm (java-openjfx-build): Add patch to the base packa= ge. * gnu/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file= .patch: New file. Remove hardcoded xlocale definitions. --- gnu/packages/java.scm | 155 +++++++++++++++++- ...uild-web-Check-xlocale.h-header-file.patch | 52 ++++++ 2 files changed, 206 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-web-Check-xlo= cale.h-header-file.patch diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index de7efbb29f..a9433b89a3 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -47,11 +47,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 @@ -71,8 +73,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) @@ -2358,7 +2362,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-xlo= cale.h-header-file.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" @@ -3103,6 +3108,154 @@ modern, efficient, and fully featured toolkit for= developing rich client applications. This package contains media-related classes for the OpenJFX distribution."))) =20 +(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/S= ource/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/classe= s/java/main"))) + (invoke "ant" "compile" (string-append "-Dclasses.= dir=3D" 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/classe= s/java/main")) + (web-generated-headers (string-append module = "/build/generated-src/headers")) + (web-generated-classes '("com.sun.webkit.Cont= extMenu" + "com.sun.webkit.Cont= extMenuItem" + "com.sun.webkit.Curs= orManager" + "com.sun.webkit.Page= Cache" + "com.sun.webkit.Popu= pMenu" + "com.sun.webkit.Shar= edBuffer" + "com.sun.webkit.WebP= age" + "com.sun.webkit.Load= ListenerClient" + "com.sun.webkit.even= t.WCFocusEvent" + "com.sun.webkit.even= t.WCKeyEvent" + "com.sun.webkit.even= t.WCMouseEvent" + "com.sun.webkit.even= t.WCMouseWheelEvent" + "com.sun.webkit.grap= hics.GraphicsDecoder" + "com.sun.webkit.grap= hics.RenderMediaControls" + "com.sun.webkit.grap= hics.RenderTheme" + "com.sun.webkit.grap= hics.ScrollBarTheme" + "com.sun.webkit.grap= hics.WCMediaPlayer" + "com.sun.webkit.grap= hics.WCGraphicsManager" + "com.sun.webkit.grap= hics.WCRenderQueue" + "com.sun.webkit.grap= hics.WCPath" + "com.sun.webkit.grap= hics.WCPathIterator" + "com.sun.webkit.Time= r" + "com.sun.webkit.WCFr= ameView" + "com.sun.webkit.WCPa= steboard" + "com.sun.webkit.WCPl= uginWidget" + "com.sun.webkit.dom.= CharacterDataImpl" + "com.sun.webkit.dom.= JSObject" + "com.sun.webkit.netw= ork.SocketStreamHandle" + "com.sun.webkit.netw= ork.URLLoader" + "com.sun.webkit.text= .TextBreakIterator" + "com.sun.webkit.text= .TextNormalizer")) + (graphics (assoc-ref inputs "java-openjfx-gra= phics"))) + (mkdir-p web-generated-headers) + (apply invoke `("javah" + "-Djava.ext.dirs=3D" + "-XDignore.symbol.file" + "-XDuseUnsharedTable=3Dtrue" + "-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 #:allow-other-keys) + (let* ((module (string-append (getcwd) "/modules/we= b")) + ;; + (webkit-native-dest (string-append module "/= build/linux")) + (webkit-native-src (string-append module "/s= rc/main/native")) + ;; uname -m + (machine (match system + ("x86_64-linux" "x86_64") + ("i686-linux" "i686") + ;; Prevent errors when querying t= his + ;; package on unsupported platfor= ms, + ;; e.g. when running "guix packag= e + ;; --search=3D" + (_ "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/S= cripts/build-webkit") + "--java" ; webkit port + "--skip-library-update" + "--verbose" + (string-append "--cmakeargs=3D" + (string-join `("-DCMAKE_SYS= TEM_NAME=3DLinux" + ,(string-app= end "-DCMAKE_SYSTEM_PROCESSOR=3D" machine) + "-DJAVAFX_RE= LEASE_VERSION=3D8.0" + "-W" + "-Wall" + "-Werror=3Di= mplicit-function-declaration" + "-Wl,--gc-se= ctions" + "-Wno-parent= heses" + "-Wno-unused= " + "-fPIC" + "-fno-omit-f= rame-pointer" + "-fno-strict= -aliasing" + "-fstack-pro= tector"))))) + #t)) + + (add-after 'compile-native-linux 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") = "/share/amd64"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$")) + #t))) + + (add-before 'install 'build-jar + (lambda _ + (let* ((module (string-append (getcwd) "/modules/web= ")) + (resources (string-append module "/src/main/r= esources")) + (classes (string-append module "/build/classe= s/java/main"))) + (copy-recursively resources classes) + (invoke "ant" "jar" (string-append "-Dclasses.dir=3D= " classes))) + #t))))) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate) + ("pkg-config" ,pkg-config))) + (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))) + (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") 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-xlo= cale.h-header-file.patch new file mode 100644 index 0000000000..5efc9d0a73 --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-= file.patch @@ -0,0 +1,52 @@ +From 95fe8463a3283f0f2c72fcf3416ebfac095688e5 Mon Sep 17 00:00:00 2001 +From: Alexey Abramov +Date: Sun, 9 Feb 2020 18:31:26 +0100 +Subject: [PATCH] Check header file + +--- + .../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/c= onfig.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 +=20 + /* Define to 1 if you have the header file. */ +-#define HAVE_XLOCALE_H 1 ++/* #define HAVE_XLOCALE_H 1 */ +=20 + /* Define to 1 if you have the `_stat' function. */ + /* #undef HAVE__STAT */ +diff --git a/modules/web/src/main/native/Source/ThirdParty/libxslt/src/c= onfig.h.in b/modules/web/src/main/native/Source/ThirdParty/libxslt/src/co= nfig.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 +=20 + /* Define to 1 if you have the header file. */ +-#undef HAVE_XLOCALE_H ++/* #undef HAVE_XLOCALE_H */ +=20 + /* Define to 1 if you have the `_stat' function. */ + #undef HAVE__STAT +diff --git a/modules/web/src/main/native/Source/cmake/OptionsCommon.cmak= e 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) +=20 + # Check for functions + _HAVE_CHECK_FUNCTION(HAVE_ALIGNED_MALLOC _aligned_malloc) +--=20 +2.24.1 + --=20 2.24.1