[PATCH] gnu: Add Polish hunspell dictionary.

  • Done
  • quality assurance status badge
Details
3 participants
  • Leo Famulari
  • Ludovic Courtès
  • Marcin Karpezo
Owner
unassigned
Submitted by
Marcin Karpezo
Severity
normal
M
M
Marcin Karpezo wrote on 27 May 2020 01:35
(address . guix-patches@gnu.org)(name . Marcin Karpezo)(address . sirmacik@wioo.waw.pl)
20200526233502.4557-1-sirmacik@wioo.waw.pl
* gnu/packages/libreoffice.scm (hunspell-dict-pl): New variable.
---
gnu/packages/libreoffice.scm | 47 ++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Toggle diff (67 lines)
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index a3a6ea5d1a..6c1ce2a0f9 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
+;;; Copyright © 2020 Marcin Karpezo <marcin@karpezo.pl>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -920,6 +921,52 @@ library.")
"toutesvariantes"
(synopsis "Hunspell dictionary for all variants of French"))
+(define-public hunspell-dict-pl
+ (package
+ (name "hunspell-dict-pl")
+ (version "20200526")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://sjp.pl/slownik/ort/sjp-myspell-pl-"
+ version ".zip"))
+ (sha256 (base32
+ "1v8fc9ka18hs5vl7d515kgd0r4lcxl3pyk5075c5pg8ix9krzs4j"))))
+
+ (build-system trivial-build-system)
+ (native-inputs `(("unzip" ,unzip)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils)
+ (srfi srfi-26))
+
+ (let* ((out (assoc-ref %outputs "out"))
+ (hunspell (string-append out "/share/hunspell"))
+ (myspell (string-append out "/share/myspell"))
+ (doc (string-append out "/share/doc/"
+ ,name))
+ (unzip (string-append (assoc-ref %build-inputs "unzip")
+ "/bin/unzip")))
+ (invoke unzip "-j" "-o" (assoc-ref %build-inputs "source"))
+ (invoke unzip "-j" "-o" "pl_PL.zip")
+ (for-each (cut install-file <> hunspell)
+ (find-files "."
+ ,(string-append "pl_PL"
+ "\\.(dic|aff)$")))
+ (mkdir-p myspell)
+ (symlink hunspell (string-append myspell "/dicts"))
+ (for-each (cut install-file <> doc)
+ (find-files "." "\\.(txt|org|md)$"))
+ #t))))
+ (synopsis "Hunspell dictionary for Polish")
+ (description
+ "This package provides a dictionary for the Hunspell spell-checking
+library.")
+ (home-page "https://qsjp.pl/slownik/ort/")
+ (license
+ (list license:gpl2 license:mpl1.1 license:cc-by4.0 license:lgpl2.1 license:asl2.0))))
+
(define-public hyphen
(package
(name "hyphen")
--
2.26.2
M
M
Marcin Karpezo wrote on 27 May 2020 01:44
[PATCH v2] gnu: Add Polish hunspell dictionary.
(address . 41550@debbugs.gnu.org)(name . Marcin Karpezo)(address . sirmacik@wioo.waw.pl)
20200526234423.5568-1-sirmacik@wioo.waw.pl
* gnu/packages/libreoffice.scm (hunspell-dict-pl): New variable.
---
gnu/packages/libreoffice.scm | 47 ++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Toggle diff (67 lines)
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index a3a6ea5d1a..0f824bd29e 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
+;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -920,6 +921,52 @@ library.")
"toutesvariantes"
(synopsis "Hunspell dictionary for all variants of French"))
+(define-public hunspell-dict-pl
+ (package
+ (name "hunspell-dict-pl")
+ (version "20200526")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://sjp.pl/slownik/ort/sjp-myspell-pl-"
+ version ".zip"))
+ (sha256 (base32
+ "1v8fc9ka18hs5vl7d515kgd0r4lcxl3pyk5075c5pg8ix9krzs4j"))))
+
+ (build-system trivial-build-system)
+ (native-inputs `(("unzip" ,unzip)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils)
+ (srfi srfi-26))
+
+ (let* ((out (assoc-ref %outputs "out"))
+ (hunspell (string-append out "/share/hunspell"))
+ (myspell (string-append out "/share/myspell"))
+ (doc (string-append out "/share/doc/"
+ ,name))
+ (unzip (string-append (assoc-ref %build-inputs "unzip")
+ "/bin/unzip")))
+ (invoke unzip "-j" "-o" (assoc-ref %build-inputs "source"))
+ (invoke unzip "-j" "-o" "pl_PL.zip")
+ (for-each (cut install-file <> hunspell)
+ (find-files "."
+ ,(string-append "pl_PL"
+ "\\.(dic|aff)$")))
+ (mkdir-p myspell)
+ (symlink hunspell (string-append myspell "/dicts"))
+ (for-each (cut install-file <> doc)
+ (find-files "." "\\.(txt|org|md)$"))
+ #t))))
+ (synopsis "Hunspell dictionary for Polish")
+ (description
+ "This package provides a dictionary for the Hunspell spell-checking
+library.")
+ (home-page "https://qsjp.pl/slownik/ort/")
+ (license
+ (list license:gpl2 license:mpl1.1 license:cc-by4.0 license:lgpl2.1 license:asl2.0))))
+
(define-public hyphen
(package
(name "hyphen")
--
2.26.2
M
M
Marcin Karpezo wrote on 27 May 2020 01:50
[PATCH v3] gnu: Add Polish hunspell dictionary.
(address . 41550@debbugs.gnu.org)(name . Marcin Karpezo)(address . sirmacik@wioo.waw.pl)
20200526235019.5971-1-sirmacik@wioo.waw.pl
* gnu/packages/libreoffice.scm (hunspell-dict-pl): New variable.
---
Fixing another typo, sorry for that. Will pay more attention next time.

gnu/packages/libreoffice.scm | 47 ++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Toggle diff (65 lines)
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index a3a6ea5d1a..995ab410ea 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
+;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -920,6 +921,52 @@ library.")
"toutesvariantes"
(synopsis "Hunspell dictionary for all variants of French"))

+(define-public hunspell-dict-pl
+ (package
+ (name "hunspell-dict-pl")
+ (version "20200526")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://sjp.pl/slownik/ort/sjp-myspell-pl-"
+ version ".zip"))
+ (sha256 (base32
+ "1v8fc9ka18hs5vl7d515kgd0r4lcxl3pyk5075c5pg8ix9krzs4j"))))
+
+ (build-system trivial-build-system)
+ (native-inputs `(("unzip" ,unzip)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils)
+ (srfi srfi-26))
+
+ (let* ((out (assoc-ref %outputs "out"))
+ (hunspell (string-append out "/share/hunspell"))
+ (myspell (string-append out "/share/myspell"))
+ (doc (string-append out "/share/doc/"
+ ,name))
+ (unzip (string-append (assoc-ref %build-inputs "unzip")
+ "/bin/unzip")))
+ (invoke unzip "-j" "-o" (assoc-ref %build-inputs "source"))
+ (invoke unzip "-j" "-o" "pl_PL.zip")
+ (for-each (cut install-file <> hunspell)
+ (find-files "."
+ ,(string-append "pl_PL"
+ "\\.(dic|aff)$")))
+ (mkdir-p myspell)
+ (symlink hunspell (string-append myspell "/dicts"))
+ (for-each (cut install-file <> doc)
+ (find-files "." "\\.(txt|org|md)$"))
+ #t))))
+ (synopsis "Hunspell dictionary for Polish")
+ (description
+ "This package provides a dictionary for the Hunspell spell-checking
+library.")
+ (home-page "https://sjp.pl/slownik/ort/")
+ (license
+ (list license:gpl2 license:mpl1.1 license:cc-by4.0 license:lgpl2.1 license:asl2.0))))
+
(define-public hyphen
(package
(name "hyphen")
--
2.26.2
L
L
Ludovic Courtès wrote on 29 May 2020 18:07
(name . Marcin Karpezo)(address . sirmacik@wioo.waw.pl)(address . 41550@debbugs.gnu.org)
87h7vy209b.fsf@gnu.org
Hello!

Marcin Karpezo <sirmacik@wioo.waw.pl> skribis:

Toggle quote (2 lines)
> * gnu/packages/libreoffice.scm (hunspell-dict-pl): New variable.

Looks like the URL is incorrect:

gnu/packages/libreoffice.scm:929:5: hunspell-dict-pl@20200526: all the source URIs are unreachable:
gnu/packages/libreoffice.scm:929:5: hunspell-dict-pl@20200526: URI https://sjp.pl/slownik/ort/sjp-myspell-pl-20200526.zipnot reachable: 404 ("Not Found")

Could you take a look?

Thanks in advance!

Ludo’.
S
S
sirmacik wrote on 29 May 2020 18:13
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 41550@debbugs.gnu.org)
878shaiusb.fsf@wioo.waw.pl
Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (16 lines)
> Hello!
>
> Marcin Karpezo <sirmacik@wioo.waw.pl> skribis:
>
>> * gnu/packages/libreoffice.scm (hunspell-dict-pl): New variable.
>
> Looks like the URL is incorrect:
>
> gnu/packages/libreoffice.scm:929:5: hunspell-dict-pl@20200526: all
> the source URIs are unreachable:
> gnu/packages/libreoffice.scm:929:5: hunspell-dict-pl@20200526: URI
> https://sjp.pl/slownik/ort/sjp-myspell-pl-20200526.zip not reachable:
> 404 ("Not Found")
>
> Could you take a look?

That'd explain why archlinux is mirroring source for each release. Looks
like they're hosting only last release (which happens daily). Do we in
Guix have such capabilities or a way to mitigate that?

--
sirmacik
PGP: 0xE0DC81D523891771
L
L
Leo Famulari wrote on 29 May 2020 18:53
(name . sirmacik)(address . sirmacik@wioo.waw.pl)
20200529165344.GA27027@jasmine.lan
On Fri, May 29, 2020 at 06:13:24PM +0200, sirmacik wrote:
Toggle quote (4 lines)
> That'd explain why archlinux is mirroring source for each release. Looks
> like they're hosting only last release (which happens daily). Do we in
> Guix have such capabilities or a way to mitigate that?

We could download it from Arch or another distro that mirrors things.
M
M
Marcin Karpezo wrote on 29 May 2020 19:30
[PATCH v4] gnu: Add Polish hunspell dictionary.
(address . 41550@debbugs.gnu.org)(name . Marcin Karpezo)(address . sirmacik@wioo.waw.pl)
20200529173011.7946-1-sirmacik@wioo.waw.pl
* gnu/packages/libreoffice.scm (hunspell-dict-pl): New variable.
---
Based on Leo's suggestion I've changed source to last version mirrored
by Arch Linux and version number accordingly.

gnu/packages/libreoffice.scm | 51 ++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)

Toggle diff (69 lines)
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index a3a6ea5d1a..0873072a64 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
+;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -920,6 +921,56 @@ library.")
"toutesvariantes"
(synopsis "Hunspell dictionary for all variants of French"))

+(define-public hunspell-dict-pl
+ (package
+ (name "hunspell-dict-pl")
+ (version "20200327")
+ (source
+ (origin
+ (method url-fetch)
+ ;; Since creators of dictionary host only the latest daily release,
+ ;; we're using version mirrored by Arch Linux, which seems good
+ ;; enough. They're mirroring hunspell-pl releases since 2011.
+ (uri (string-append "https://sources.archlinux.org/other/community/"
+ "hunspell-pl/sjp-myspell-pl-"
+ version ".zip"))
+ (sha256 (base32
+ "14mzf8glxkp2775dcqisb1zv6r8ncm3bvzl46q352rwyl2dg1c59"))))
+
+ (build-system trivial-build-system)
+ (native-inputs `(("unzip" ,unzip)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils)
+ (srfi srfi-26))
+
+ (let* ((out (assoc-ref %outputs "out"))
+ (hunspell (string-append out "/share/hunspell"))
+ (myspell (string-append out "/share/myspell"))
+ (doc (string-append out "/share/doc/"
+ ,name))
+ (unzip (string-append (assoc-ref %build-inputs "unzip")
+ "/bin/unzip")))
+ (invoke unzip "-j" "-o" (assoc-ref %build-inputs "source"))
+ (invoke unzip "-j" "-o" "pl_PL.zip")
+ (for-each (cut install-file <> hunspell)
+ (find-files "."
+ ,(string-append "pl_PL"
+ "\\.(dic|aff)$")))
+ (mkdir-p myspell)
+ (symlink hunspell (string-append myspell "/dicts"))
+ (for-each (cut install-file <> doc)
+ (find-files "." "\\.(txt|org|md)$"))
+ #t))))
+ (synopsis "Hunspell dictionary for Polish")
+ (description
+ "This package provides a dictionary for the Hunspell spell-checking
+library.")
+ (home-page "https://sjp.pl/slownik/ort/")
+ (license
+ (list license:gpl2 license:mpl1.1 license:cc-by4.0 license:lgpl2.1 license:asl2.0))))
+
(define-public hyphen
(package
(name "hyphen")
--
2.26.2
L
L
Ludovic Courtès wrote on 3 Jun 2020 17:57
(name . Marcin Karpezo)(address . sirmacik@wioo.waw.pl)(address . 41550-done@debbugs.gnu.org)
878sh4kuqw.fsf@gnu.org
Hi,

Marcin Karpezo <sirmacik@wioo.waw.pl> skribis:

Toggle quote (5 lines)
> * gnu/packages/libreoffice.scm (hunspell-dict-pl): New variable.
> ---
> Based on Leo's suggestion I've changed source to last version mirrored
> by Arch Linux and version number accordingly.

Perfect. Applied, thanks!

Ludo’.
Closed
?