summary refs log tree commit diff
path: root/gnu/packages/unicode.scm
diff options
context:
space:
mode:
authorFelix Gruber <felgru@posteo.net>2021-12-27 23:19:44 +0000
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2021-12-28 15:03:37 +0100
commit7074b9af03a91a79eb508f30fc28a709256d5aaf (patch)
treef17700d7817bcac8779ddb66d08ccecaa5da4375 /gnu/packages/unicode.scm
parente2e39d2c2fb68ef9960b628969f9f9f770cc61ac (diff)
downloadguix-7074b9af03a91a79eb508f30fc28a709256d5aaf.tar.gz
gnu: Add libunibreak.
* gnu/packages/unicode.scm (libunibreak): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Diffstat (limited to 'gnu/packages/unicode.scm')
-rw-r--r--gnu/packages/unicode.scm50
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm
index ef78875975..23c5de195c 100644
--- a/gnu/packages/unicode.scm
+++ b/gnu/packages/unicode.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2020 Liliana Marie Prikler <liliana.prikler@gmail.com>
 ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -18,13 +19,62 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages unicode)
+  #:use-module (gnu packages autotools)
+  #:use-module (guix git-download)
   #:use-module (guix licenses)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
   #:use-module (guix build-system copy)
+  #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial))
 
+(define-public libunibreak
+  (package
+    (name "libunibreak")
+    (version "5.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/adah1972/libunibreak")
+                    (commit (string-append "libunibreak_"
+                              (string-replace-substring version "." "_")))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0r5dndhwsiy65lmavz3vdgal9nl8g97hbmdjg6zyq3zh5hs87vwf"))))
+    (build-system gnu-build-system)
+    (native-inputs
+      (list autoconf-wrapper
+            automake
+            libtool
+            ucd-next ; required for tests
+            ))
+    (arguments
+     `(#:parallel-tests? #f  ; parallel tests cause non-deterministic
+                             ; build failures
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'pre-check
+           (lambda* (#:key inputs #:allow-other-keys)
+             (for-each (lambda (file)
+                         (copy-file
+                           (search-input-file inputs
+                             (string-append "/share/ucd/auxiliary/"
+                                            file))
+                           (string-append "src/" file)))
+                       '("LineBreakTest.txt"
+                         "WordBreakTest.txt"
+                         "GraphemeBreakTest.txt")))))))
+    (home-page "http://vimgadgets.sourceforge.net/libunibreak/")
+    (synopsis "Unicode line breaking and word breaking algorithms")
+    (description
+     "Libunibreak is an implementation of the line breaking and word
+breaking algorithms as described in Unicode Standard Annex 14 and
+Unicode Standard Annex 29.  It is designed to be used in a generic text
+renderer.")
+    (license zlib)))
+
 (define-public ucd
   (package
     (name "ucd")