emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#39746: closed ([PATCH 7/7] gnu: java-openjfx-web: Add new variable.)


From: GNU bug Tracking System
Subject: bug#39746: closed ([PATCH 7/7] gnu: java-openjfx-web: Add new variable.)
Date: Sun, 15 Mar 2020 18:21:03 +0000

Your message dated Sun, 15 Mar 2020 14:19:53 -0400
with message-id <address@hidden>
and subject line Re: [bug#39742] [v2] gnu: java-openjfx-build: Add helpful 
patch.
has caused the debbugs.gnu.org bug report #39742,
regarding [PATCH 7/7] gnu: java-openjfx-web: Add new variable.
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden.)


-- 
39742: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=39742
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: [PATCH 7/7] gnu: java-openjfx-web: Add new variable. Date: Sat, 22 Feb 2020 21:17:55 +0100
* gnu/packages/java.scm (java-openjfx-build): Add patch to the base package.
* 
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-xlocale.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-xlocale.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.")))
 
+(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 #: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"))
+                            ;; 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 
`("-DCMAKE_SYSTEM_NAME=Linux"
+                                                            ,(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") 
"/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/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)
+              ("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-xlocale.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 <address@hidden>
+Date: Sun, 9 Feb 2020 18:31:26 +0100
+Subject: [PATCH] Check <xlocale.h> 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/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.24.1




--- End Message ---
--- Begin Message --- Subject: Re: [bug#39742] [v2] gnu: java-openjfx-build: Add helpful patch. Date: Sun, 15 Mar 2020 14:19:53 -0400
I'm closing this bug ticket because Alexey is still working on some of
the patches and it's confusing to have the patches spread over multiple
tickets, even though we merged them. Alexey will open a new ticket soon.


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]