[PATCH 0/2] Package qutebrowser spellcheck files.

  • Open
  • quality assurance status badge
Details
One participant
  • Herman Rimm
Owner
unassigned
Submitted by
Herman Rimm
Severity
normal
H
H
Herman Rimm wrote on 11 May 21:51 +0200
(address . guix-patches@gnu.org)
cover.1715456480.git.herman@rimm.ee
Hello,

The first patch packages .bdic files built from the hunspell .dic and
.aff files. In the second one qutebrowser is patched to instruct users
to install those files if missing, instead of downloading them from a
Chromium Project repository with the dictcli.py script.

Cheers,
Herman

Herman Rimm (2):
gnu: Add hunspell-bdic-en*.
gnu: qutebrowser: Warn about missing .bdic files and ignore version.

gnu/packages/hunspell.scm | 82 +++++++++++++++++++++++++++++++++++
gnu/packages/web-browsers.scm | 16 +++++++
2 files changed, 98 insertions(+)


base-commit: 360fea15cb25d0cdf55ec55488956257a0219fe4
--
2.41.0
H
H
Herman Rimm wrote on 11 May 21:57 +0200
[PATCH 1/2] gnu: Add hunspell-bdic-en*.
(address . 70884@debbugs.gnu.org)
15b7554f7b3f45c2b184778faf1891d93e038426.1715456480.git.herman@rimm.ee
* gnu/packages/aspell.scm (aspell-compiled-word-list): New procedure.
(define-compiled-word-list-dictionary): New macro.
(hunspell-bdic-en, hunspell-bdic-en-au, hunspell-bdic-en-ca,
hunspell-bdic-en-gb, hunspell-bdic-en-gb-ize, hunspell-bdic-en-us): New
variables.

Change-Id: I4f02295add9803aefe7687b11d2bcbcb21cdd6b1
---
gnu/packages/hunspell.scm | 82 +++++++++++++++++++++++++++++++++++++++
1 file changed, 82 insertions(+)

Toggle diff (99 lines)
diff --git a/gnu/packages/hunspell.scm b/gnu/packages/hunspell.scm
index 7163358260..782292c79f 100644
--- a/gnu/packages/hunspell.scm
+++ b/gnu/packages/hunspell.scm
@@ -32,6 +32,7 @@ (define-module (gnu packages hunspell)
#:use-module (gnu packages compression)
#:use-module (gnu packages m4)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages textutils))
(define-public hunspell
@@ -445,3 +446,84 @@ (define-word-list-dictionary hunspell-dict-en-us
"en_US"
(synopsis "Hunspell dictionary for United States English"))
+(define* (aspell-compiled-word-list
+ language
+ synopsis
+ #:optional
+ (nick (string-map (lambda (chr)
+ (if (char=? #\_ chr)
+ #\-
+ chr))
+ (string-downcase language))))
+ (package
+ (inherit (aspell-word-list language synopsis nick))
+ (name (string-append "hunspell-bdic-" nick))
+ (version "2018.04.16")
+ (native-inputs
+ (list (aspell-word-list language synopsis nick) qtwebengine))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((dictionary
+ (string-append
+ (assoc-ref %build-inputs
+ (string-append "hunspell-dict-" ,nick))
+ "/share/hunspell/" ,language ".dic"))
+ (convert-dict
+ (string-append
+ (assoc-ref %build-inputs "qtwebengine")
+ "/lib/qt6/libexec/qwebengine_convert_dict"))
+ (qtwebengine-dictionaries
+ (string-append %output
+ "/share/qtwebengine_dictionaries"))
+ (bdic (string-append (string-map (lambda (chr)
+ (if (char=? #\_ chr)
+ #\-
+ chr))
+ ,language)
+ ".bdic")))
+ (invoke convert-dict dictionary bdic)
+ (install-file bdic qtwebengine-dictionaries)
+ #t))))
+ (description
+ "This package provides a compiled dictionary for the Hunspell
+spell-checking library.")))
+
+(define-syntax define-compiled-word-list-dictionary
+ (syntax-rules (synopsis)
+ ((_ name language (synopsis text))
+ (define-public name
+ (aspell-compiled-word-list language text)))
+ ((_ name language nick (synopsis text))
+ (define-public name
+ (aspell-compiled-word-list language text nick)))))
+
+(define-compiled-word-list-dictionary hunspell-bdic-en
+ "en"
+ (synopsis "Compiled Hunspell dictionary for English"))
+
+(define-compiled-word-list-dictionary hunspell-bdic-en-au
+ "en_AU"
+ (synopsis "Compiled Hunspell dictionary for Australian English"))
+
+(define-compiled-word-list-dictionary hunspell-bdic-en-ca
+ "en_CA"
+ (synopsis "Compiled Hunspell dictionary for Canadian English"))
+
+(define-compiled-word-list-dictionary hunspell-bdic-en-gb
+ "en_GB-ise" "en-gb"
+ (synopsis
+ "Compiled Hunspell dictionary for British English, with -ise endings"))
+
+(define-compiled-word-list-dictionary hunspell-bdic-en-gb-ize
+ "en_GB-ize"
+ (synopsis
+ "Compiled Hunspell dictionary for British English, with -ize endings"))
+
+(define-compiled-word-list-dictionary hunspell-bdic-en-us
+ "en_US"
+ (synopsis "Compiled Hunspell dictionary for United States English"))
+
--
2.41.0
H
H
Herman Rimm wrote on 11 May 21:57 +0200
[PATCH 2/2] gnu: qutebrowser: Warn about missing .bdic files and ignore version.
(address . 70884@debbugs.gnu.org)
cb6105f79210c4ac51503560576549e771474023.1715456480.git.herman@rimm.ee
* gnu/packages/web.browsers.scm (qutebrowser): Add build phase.

Change-Id: Ib33c69ca4c95329c82edf9c7a6436ec9a1a0f7a7
---
gnu/packages/web-browsers.scm | 16 ++++++++++++++++
1 file changed, 16 insertions(+)

Toggle diff (29 lines)
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 78227a84fb..fe28f0c149 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -511,6 +511,22 @@ (define-public qutebrowser
(string-append "os.path.join(\""
(assoc-ref outputs "out")
"\", \"share\", \"qutebrowser\"")))))
+ (add-after 'unpack 'adjust-dictionary-warning-and-parsing
+ (lambda _
+ (substitute* "qutebrowser/browser/webengine/webenginesettings.py"
+ (("- see")
+ "- install hunspell-bdic-{} package files to")
+ (("scripts/dictcli.py in qutebrowser's ")
+ "{}/qutebrowser/qtwebengine_dictionaries")
+ (("\"sources\".format\\(code")
+ ".format(code, code.lower(), os.getenv('XDG_DATA_HOME')"))
+ (substitute* "qutebrowser/browser/webengine/spell.py"
+ (("for matching_dict in matching_dicts")
+ "if False")
+ (("filename for version, filename")
+ "os.path.basename(dict) for dict")
+ (("in sorted\\(versioned_dicts.*")
+ "in matching_dicts]"))))
(add-before 'check 'set-env-offscreen
(lambda _
(setenv "QT_QPA_PLATFORM" "offscreen")))
--
2.41.0
?
Your comment

Commenting via the web interface is currently disabled.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 70884
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