[PATCH 7/7] gnu: java-openjfx-web: Add new variable.

  • Done
  • quality assurance status badge
Details
3 participants
  • Leo Famulari
  • Alexey Abramov
  • Tobias Geerinckx-Rice
Owner
unassigned
Submitted by
Alexey Abramov
Severity
normal
Merged with

Debbugs page

Alexey Abramov wrote 5 years ago
(address . guix-patches@gnu.org)
20200222201755.50425-7-levenson@mmer.org
* 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

Toggle diff (254 lines)
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 <levenson@mmer.org>
+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
Leo Famulari wrote 5 years ago
(name . Alexey Abramov)(address . levenson@mmer.org)(address . 39746@debbugs.gnu.org)
20200304030754.GD1199@jasmine.lan
On Sat, Feb 22, 2020 at 09:17:55PM +0100, Alexey Abramov wrote:
Toggle quote (4 lines)
> * 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.

I have the same comments as previously. We need to fix up the commit
message, add java-openjfx-web in a separate commit, and add some
description to the xlocale patch file.

Can you send a revised patch series? You can add the argument
'--subject-prefix=v2' to your `git send-email` or `git format-patch`
command to distinguish the new patches from the old ones.

Thanks!
Leo Famulari wrote 5 years ago
(no subject)
(address . control@debbugs.gnu.org)
20200304031442.GA2347@jasmine.lan
merge 39741 39742 39743 39744 39745 39746 39747
Alexey Abramov wrote 5 years ago
[v2 1/2] gnu: java-openjfx-build: Prepare a patch to build openjfx-web
(address . 39746@debbugs.gnu.org)(name . Alexey Abramov)(address . levenson@mmer.org)
20200309214144.280573-1-levenson@mmer.org
* 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 | 56 +++++++++++++++++++
3 files changed, 59 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file.patch

Toggle diff (90 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 7e4554198c..7b9af7794a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1035,6 +1035,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 21ff1b4a30..7d044ead89 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2364,7 +2364,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..9200911d17
--- /dev/null
+++ b/gnu/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file.patch
@@ -0,0 +1,56 @@
+From 95fe8463a3283f0f2c72fcf3416ebfac095688e5 Mon Sep 17 00:00:00 2001
+From: Alexey Abramov <levenson@mmer.org>
+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
+
--
2.24.1
Alexey Abramov wrote 5 years ago
[v2 2/2] gnu: java-openjfx-web: Add new variable
(address . 39746@debbugs.gnu.org)(name . Alexey Abramov)(address . levenson@mmer.org)
20200309214144.280573-2-levenson@mmer.org
---
gnu/packages/java.scm | 152 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 152 insertions(+)

Toggle diff (186 lines)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 7d044ead89..1e383ed7b0 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)
@@ -3142,6 +3146,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")
--
2.24.1
levenson wrote 5 years ago
Re: [bug#39746] [PATCH 7/7] gnu: java-openjfx-web: Add new variable.
(name . Leo Famulari)(address . leo@famulari.name)(address . 39746@debbugs.gnu.org)(address . 39741@debbugs.gnu.org)(name . Alexey Abramov)(address . levenson@mmer.org)
84r1y1p47i.fsf@delta.i-did-not-set--mail-host-address--so-tickle-me
Leo Famulari <leo@famulari.name> writes:

Toggle quote (9 lines)
> On Sat, Feb 22, 2020 at 09:17:55PM +0100, Alexey Abramov wrote:
>> * 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.
>
> I have the same comments as previously. We need to fix up the commit
> message, add java-openjfx-web in a separate commit, and add some
> description to the xlocale patch file.

I fixed the comment, add description to the patch and split the change
into two commits.

Toggle quote (6 lines)
> Can you send a revised patch series? You can add the argument
> '--subject-prefix=v2' to your `git send-email` or `git format-patch`
> command to distinguish the new patches from the old ones.
>
> Thanks!

Thank you for subject-prefix tip!

--
Alexey
Alexey Abramov wrote 5 years ago
[v3 2/2] gnu: java-openjfx-web: Add new variable.
(address . 39746@debbugs.gnu.org)(name . Alexey Abramov)(address . levenson@mmer.org)
20200314061045.308244-2-levenson@mmer.org
---
gnu/packages/java.scm | 179 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 179 insertions(+)

Toggle diff (211 lines)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 6db8a3ec7c..826e027fa4 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)
@@ -3142,6 +3146,181 @@ 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
+ (let ((lib-path (string-append (assoc-ref %outputs "out")
+ ,(match (%current-system)
+ ("i686-linux"
+ "/lib/i386")
+ ("x86_64-linux"
+ "/lib/amd64")
+ ("armhf-linux"
+ "/lib/arm")
+ ("aarch64-linux"
+ "/lib/aarch64")
+ ;; We need a catch-all, dropping
+ ;; '-linux' works in most cases.
+ (_
+ (string-append
+ "/lib/"
+ (string-drop-right
+ (%current-system) 6)))))))
+ (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"))
+ ;; 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-path)
+ ;; 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-path "\"")
+ (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)
+ (for-each (lambda (file)
+ (install-file file lib-path))
+ (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")
--
2.24.1
Alexey Abramov wrote 5 years ago
[v3 1/2] gnu: java-openjfx-build: Prepare a patch to build openjfx-web.
(address . 39746@debbugs.gnu.org)(name . Alexey Abramov)(address . levenson@mmer.org)
20200314061045.308244-1-levenson@mmer.org
* 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

Toggle diff (87 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 8722e371ad..49b4710295 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1035,6 +1035,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 7a69a8d756..6db8a3ec7c 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2364,7 +2364,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@mmer.org>
+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
--
2.24.1
Tobias Geerinckx-Rice wrote 5 years ago
Re: [bug#39746] [PATCH 7/7] gnu: java-openjfx-web: Add new variable.
(address . 39746@debbugs.gnu.org)(address . 39741@debbugs.gnu.org)(name . Alexey Abramov)(address . levenson@mmer.org)(name . Leo Famulari)(address . leo@famulari.name)
87blouk4my.fsf@nckx
Alexey,

levenson@mmer.org 写道:
Toggle quote (2 lines)
> Thank you for subject-prefix tip!

The shorter ‘-v2’ will do the right thing too.

(While writing this I found out it's not documented in the man
page, but it works.)

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfo+u0AlEeO9y5k0W2Imw8BjFSTwFAl5xTIUACgkQ2Imw8BjF
STzJaQ//RU8O67Ug7QrPqaTDhzSzqfD6S6o6mtHynV+mPNcMlIs9XizqLsAyOSfO
FTnjVk78SJfSTL5IifEKm/j3/tpibfiMAqeVkGaUWHhto0XjA1y5OMiAkn/Ua1yJ
8Lme6TpoNdI+qy3Outn+dFmaUKN5Z4a0CZ8zMPNxQ38k2ccn2fRC9cmKaXs9yHDv
9JPbZuIk1CpIVCBhvzM8yMy/AqKprZ/2UNNUzDUBRfpCZYzQbiLqu0ORWbBGXFzE
3xBs7pNSrUN9ZowTZTFz6Zg9yMwoJccRYeZX6kGRBhz9VLFgF/KpzQn3aBpbKre0
Nt+40S9W3oCkH9KGCcDdmqgVR064daNGDbqse6P6UNhn0f+rRBLCo209FbwvMTHO
YTscnYJNtPYM5pfKPtl3uKe2KFJNeFKbB18SYujNK4pqn+Bw7GsGYwa2ETd7tFdT
07Kfd8jVULxDTeYT6BD05tiy0V1+ZMEeluB66RrW13fFsQTmpJ74w/dqDVSyykk5
FlZAKbzMPdoyN5prvQSO+uQDyAy2gtfa3+HnOa2Xlt8Ir1lkdBHOGsV7ZVCePgKd
x3uW/vnZ++shzHuN4/aQXPuSpBVIo3rXRytE6Xrv9u/vKcKvicXmlXv67issRQuh
sTWnNGXi0Fj5kEOGX77zxaljySRkd/KOPmN41mZ72PJ457bcBMw=
=J9L7
-----END PGP SIGNATURE-----

?
Your comment

This issue is archived.

To comment on this conversation send an email to 39746@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 39746
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help