gnu: graphite2: Update to 1.3.5. Update home-page and source URI.
[jackhill/guix/guix.git] / gnu / packages / textutils.scm
CommitLineData
7939e70a
TUBK
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
c8d969b5 3;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
aae2b445 4;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com>
e522d840 5;;; Copyright © 2015 Roel Janssen <roel@gnu.org>
7939e70a
TUBK
6;;;
7;;; This file is part of GNU Guix.
8;;;
9;;; GNU Guix is free software; you can redistribute it and/or modify it
10;;; under the terms of the GNU General Public License as published by
11;;; the Free Software Foundation; either version 3 of the License, or (at
12;;; your option) any later version.
13;;;
14;;; GNU Guix is distributed in the hope that it will be useful, but
15;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17;;; GNU General Public License for more details.
18;;;
19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21
22(define-module (gnu packages textutils)
23 #:use-module ((guix licenses) #:prefix license:)
24 #:use-module (guix packages)
25 #:use-module (guix download)
26 #:use-module (guix git-download)
27 #:use-module (guix build-system gnu)
c8d969b5 28 #:use-module (guix build-system cmake)
f571e1c3 29 #:use-module (gnu packages autotools)
bae87762 30 #:use-module (gnu packages python))
7939e70a
TUBK
31
32(define-public recode
33 (package
34 (name "recode")
35 ;; Last beta release (3.7-beta2) is from 2008; last commit from Feb 2014.
36 ;; So we use that commit instead.
37 (version "3.7.0.201402")
38 (source
39 (origin
40 (method git-fetch)
41 (uri (git-reference
42 (url "https://github.com/pinard/Recode.git")
43 (commit "2d7092a9999194fc0e9449717a8048c8d8e26c18")))
44 (sha256
6f323b07
TUBK
45 (base32 "1wssv8z6g3ryrw33sksz4rjhlnhgvvdqszw1ggl4rcwks34n86zm"))
46 (file-name (string-append name "-" version "-checkout"))))
7939e70a
TUBK
47 (build-system gnu-build-system)
48 (native-inputs `(("python" ,python-2)))
49 (arguments
50 '(#:phases
51 (alist-cons-before
fee4693e 52 'check 'pre-check
7939e70a
TUBK
53 (lambda _
54 (substitute* "tests/setup.py"
55 (("([[:space:]]*)include_dirs=.*" all space)
fee4693e
SB
56 (string-append all space "library_dirs=['../src/.libs'],\n")))
57 ;; The test extension 'Recode.so' lacks RUNPATH for 'librecode.so'.
58 (setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/src/.libs")))
7939e70a
TUBK
59 %standard-phases)))
60 (home-page "https://github.com/pinard/Recode")
61 (synopsis "Text encoding converter")
62 (description "The Recode library converts files between character sets and
63usages. It recognises or produces over 200 different character sets (or about
64300 if combined with an iconv library) and transliterates files between almost
65any pair. When exact transliteration are not possible, it gets rid of
66offending characters or falls back on approximations. The recode program is a
67handy front-end to the library.")
68 (license license:gpl2+)))
688fe865
TUBK
69
70(define-public enca
71 (package
72 (name "enca")
73 (version "1.16")
74 (source
75 (origin
76 (method url-fetch)
77 (uri (string-append
78 "https://github.com/nijel/enca/archive/" version ".tar.gz"))
79 (sha256
bbee7bd7
TUBK
80 (base32 "1xik00x0yvhswsw2isnclabhv536xk1s42cf5z54gfbpbhc7ni8l"))
81 (file-name (string-append name "-" version ".tar.gz"))))
688fe865
TUBK
82 (build-system gnu-build-system)
83 (inputs `(("recode" ,recode)))
6795b8d8
LC
84
85 ;; Both 'test-convert-64.sh' and 'test-convert-filter.sh' manipulate a
86 ;; 'test.tmp' file, so they have to run in sequence.
87 (arguments '(#:parallel-tests? #f))
88
688fe865
TUBK
89 (home-page "https://github.com/nijel/enca")
90 (synopsis "Text encoding detection tool")
91 (description "Enca (Extremely Naive Charset Analyser) consists of libenca,
92an encoding detection library, and enca, a command line frontend, integrating
93libenca and several charset conversion libraries and tools.")
94 (license license:gpl2)))
cd15ad82
RW
95
96(define-public utf8proc
97 (package
98 (name "utf8proc")
f1e3a8ae 99 (version "1.3.1")
cd15ad82
RW
100 (source
101 (origin
102 (method url-fetch)
103 (uri (string-append
104 "https://github.com/JuliaLang/utf8proc/archive/v"
105 version ".tar.gz"))
106 (file-name (string-append name "-" version ".tar.gz"))
107 (sha256
f1e3a8ae 108 (base32 "1k48as5kjkar4yj3dwxyll8ykj4k723ib5a6mnw1g86q3zi0zdl3"))))
cd15ad82
RW
109 (build-system gnu-build-system)
110 (arguments
111 '(#:tests? #f ;no "check" target
f1e3a8ae
RW
112 #:make-flags (list "CC=gcc"
113 (string-append "prefix=" (assoc-ref %outputs "out")))
cd15ad82 114 #:phases
f1e3a8ae
RW
115 (modify-phases %standard-phases
116 (delete 'configure))))
cd15ad82
RW
117 (home-page "http://julialang.org/utf8proc/")
118 (synopsis "C library for processing UTF-8 Unicode data")
119 (description "utf8proc is a small C library that provides Unicode
120normalization, case-folding, and other operations for data in the UTF-8
121encoding, supporting Unicode version 7.0.")
122 (license license:expat)))
f571e1c3
RW
123
124(define-public libgtextutils
125 (package
126 (name "libgtextutils")
127 (version "0.7")
128 (source
129 (origin
130 (method url-fetch)
131 (uri (string-append
132 "https://github.com/agordon/libgtextutils/releases/download/"
133 version "/libgtextutils-" version ".tar.gz"))
134 (sha256
135 (base32 "0jiybkb2z58wa2msvllnphr4js2hvjvh988pavb3mzkgr6ihwbkr"))))
136 (build-system gnu-build-system)
137 (arguments
138 '(#:phases
139 (alist-cons-after
140 'unpack 'autoreconf
141 (lambda _ (zero? (system* "autoreconf" "-vif")))
142 %standard-phases)))
143 (native-inputs
144 `(("autoconf" ,autoconf)
145 ("automake" ,automake)
146 ("libtool" ,libtool)))
147 (home-page "https://github.com/agordon/libgtextutils")
148 (synopsis "Gordon's text utils library")
149 (description
150 "libgtextutils is a text utilities library used by the fastx toolkit from
151the Hannon Lab.")
152 (license license:agpl3+)))
aae2b445
BW
153
154(define-public cityhash
155 (let ((commit "8af9b8c")
156 (revision "1"))
157 (package
158 (name "cityhash")
159 (version (string-append "1.1." revision "." commit))
160 (source (origin
161 (method git-fetch)
162 (uri (git-reference
163 (url "https://github.com/google/cityhash.git")
164 (commit commit)))
165 (file-name (string-append name "-" version ".tar.gz"))
166 (sha256
167 (base32
168 "0n6skf5dv8yfl1ckax8dqhvsbslkwc9158zf2ims0xqdvzsahbi6"))))
169 (build-system gnu-build-system)
170 (home-page "https://github.com/google/cityhash")
171 (synopsis "C++ hash functions for strings")
172 (description
173 "CityHash provides hash functions for strings. The functions mix the
174input bits thoroughly but are not suitable for cryptography.")
175 (license license:expat))))
e522d840
RJ
176
177(define-public libconfig
178 (package
179 (name "libconfig")
180 (version "1.5")
181 (source (origin
182 (method url-fetch)
183 (uri (string-append "http://www.hyperrealm.com/libconfig/"
184 "libconfig-" version ".tar.gz"))
185 (sha256
186 (base32
187 "1xh3hzk63v4y8815lc5209m3s6ms2cpgw4h5hg462i4f1lwsl7g3"))))
188 (build-system gnu-build-system)
189 (home-page "http://www.hyperrealm.com/libconfig/")
190 (synopsis "C/C++ configuration file library")
191 (description
192 "Libconfig is a simple library for manipulating structured configuration
193files. This file format is more compact and more readable than XML. And
194unlike XML, it is type-aware, so it is not necessary to do string parsing in
195application code.")
196 (license license:lgpl2.1+)))
c8d969b5
PP
197
198(define-public pfff
199 (package
200 (name "pfff")
201 (version "1.0")
202 (source (origin
203 (method url-fetch)
204 (uri (string-append "https://github.com/pfff/pfff/archive/v"
205 version ".tar.gz"))
206 (file-name (string-append name "-" version ".tar.gz"))
207 (sha256
208 (base32
209 "00m553aa277iarxj6dalmklyb64r7ias49bfwzbacsfg8h3kar8m"))))
210 (build-system cmake-build-system)
211 (home-page "http://biit.cs.ut.ee/pfff/")
212 (synopsis "Probabilistic fast file fingerprinting tool")
213 (description
214 "pfff is a tool for calculating a compact digital fingerprint of a file
215by sampling randomly from the file instead of reading it in full.
216Consequently, the computation has a flat performance characteristic,
217correlated with data variation rather than file size. pfff can be as reliable
218as existing hashing techniques, with provably negligible risk of collisions.")
219 (license license:bsd-3)))