Subject: bug#39955: wxmaxima: broken help menus

From: Kei Kebreau <[email-masked]>
Date: Thu, 30 Jul 2020 23:12:05 -0400

Christopher Howard <[email-masked]> writes:

> Hi, after a few months, I still have this problem, though the symptoms changed somewhat.
> Now, if I click on either the Help >> wxMaxima help menu, or the Help >> Maxima help menu,
> wxMaxima simply terminates, and the word "Aborted" is dumped to stderr.

Hi Christopher,

Can you try applying these two patches to see if they resolve this issue
on your machine?

>From 769eee72f408f31d77d261bf3b14479f8383873e Mon Sep 17 00:00:00 2001
From: Kei Kebreau <[email-masked]>
Date: Tue, 30 Jun 2020 17:07:48 -0400
Subject: [PATCH 1/2] gnu: wxmaxima: Update to 20.06.6.

* gnu/packages/maths.scm (wxmaxima): Update to 20.06.6.
[arguments]: Add 'patch-doc-path' phase.
---
 gnu/packages/maths.scm | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 3991b2f88b..6f446d9118 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3263,7 +3263,7 @@ point numbers.")
 (define-public wxmaxima
   (package
     (name "wxmaxima")
-    (version "20.04.0")
+    (version "20.06.6")
     (source
      (origin
        (method git-fetch)
@@ -3272,7 +3272,7 @@ point numbers.")
              (commit (string-append "Version-" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0vrjxzfgmjdzm1rgl0crz4b4badl14jwh032y3xkcdvjl5j67lp3"))))
+        (base32 "054f7n5kx75ng5j20rd5q27n9xxk03mrd7sbxyym1lsswzimqh4w"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("gettext" ,gettext-minimal)
@@ -3290,6 +3290,14 @@ point numbers.")
      `(#:test-target "test"
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-doc-path
+           (lambda _
+             ;; Don't look in share/doc/wxmaxima-xx.xx.x for the
+             ;; documentation.  Only licensing information is placed there by
+             ;; Guix.
+             (substitute* "src/Dirstructure.cpp"
+               (("/doc/wxmaxima-\\%s") "/doc/wxmaxima"))
+             #t))
          (add-before 'check 'pre-check
            (lambda _
              ;; Tests require a running X server.
-- 
2.27.0

>From a2c82a7c4743ce1ec578cfc890320fb72e96c8aa Mon Sep 17 00:00:00 2001
From: Kei Kebreau <[email-masked]>
Date: Thu, 30 Jul 2020 22:45:21 -0400
Subject: [PATCH 2/2] gnu: wxwidgets: Fix MIME type loading.

* gnu/packages/wxwidgets.scm (wxwidgets)[inputs]: Add shared-mime-info.
[arguments]: Update 'refer-to-inputs phase so wxWidgets looks in the correct
directory for MIME type information.
---
 gnu/packages/wxwidgets.scm | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm
index 7141b2f4b8..f3a7fdd7a4 100644
--- a/gnu/packages/wxwidgets.scm
+++ b/gnu/packages/wxwidgets.scm
@@ -37,6 +37,7 @@
   #:use-module (gnu packages databases)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gl)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
@@ -75,6 +76,7 @@
        ("mesa" ,mesa)
        ("webkitgtk" ,webkitgtk)
        ("sdl" ,sdl)
+       ("shared-mime-info" ,shared-mime-info)
        ("xdg-utils" ,xdg-utils)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -97,11 +99,15 @@
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'refer-to-inputs
-           (lambda _
-             (substitute* "src/unix/utilsx11.cpp"
-               (("wxExecute\\(xdg_open \\+")
-                (string-append "wxExecute(\"" (which "xdg-open") "\"")))
-             #t)))))
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let* ((mime (string-append (assoc-ref inputs "shared-mime-info")
+                                         "/share/mime")))
+               (substitute* "src/unix/utilsx11.cpp"
+                 (("wxExecute\\(xdg_open \\+")
+                  (string-append "wxExecute(\"" (which "xdg-open") "\"")))
+               (substitute* "src/unix/mimetype.cpp"
+                 (("/usr(/local)?/share/mime") mime))
+               #t))))))
     (home-page "https://www.wxwidgets.org/")
     (synopsis "Widget toolkit for creating graphical user interfaces")
     (description
-- 
2.27.0