Merge branch 'core-updates'
[jackhill/guix/guix.git] / gnu / packages / textutils.scm
index 08b1b64..f2c60dd 100644 (file)
@@ -1,6 +1,8 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com>
+;;; Copyright © 2015 Roel Janssen <roel@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,6 +25,7 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system cmake)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages python))
 
@@ -39,7 +42,8 @@
              (url "https://github.com/pinard/Recode.git")
              (commit "2d7092a9999194fc0e9449717a8048c8d8e26c18")))
        (sha256
-        (base32 "1wssv8z6g3ryrw33sksz4rjhlnhgvvdqszw1ggl4rcwks34n86zm"))))
+        (base32 "1wssv8z6g3ryrw33sksz4rjhlnhgvvdqszw1ggl4rcwks34n86zm"))
+       (file-name (string-append name "-" version "-checkout"))))
     (build-system gnu-build-system)
     (native-inputs `(("python" ,python-2)))
     (arguments
@@ -73,7 +77,8 @@ handy front-end to the library.")
        (uri (string-append
              "https://github.com/nijel/enca/archive/" version ".tar.gz"))
        (sha256
-        (base32 "1xik00x0yvhswsw2isnclabhv536xk1s42cf5z54gfbpbhc7ni8l"))))
+        (base32 "1xik00x0yvhswsw2isnclabhv536xk1s42cf5z54gfbpbhc7ni8l"))
+       (file-name (string-append name "-" version ".tar.gz"))))
     (build-system gnu-build-system)
     (inputs `(("recode" ,recode)))
 
@@ -91,7 +96,7 @@ libenca and several charset conversion libraries and tools.")
 (define-public utf8proc
   (package
     (name "utf8proc")
-    (version "1.1.6")
+    (version "1.3.1")
     (source
      (origin
        (method url-fetch)
@@ -100,25 +105,15 @@ libenca and several charset conversion libraries and tools.")
              version ".tar.gz"))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0wmsi672knii0q70wh6a3ll0gv7qk33c50zbpzasrs3b16bqy659"))))
+        (base32 "1k48as5kjkar4yj3dwxyll8ykj4k723ib5a6mnw1g86q3zi0zdl3"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f ;no "check" target
-       #:make-flags '("CC=gcc")
+       #:make-flags (list "CC=gcc"
+                          (string-append "prefix=" (assoc-ref %outputs "out")))
        #:phases
-       (alist-replace
-        'install
-        (lambda* (#:key outputs #:allow-other-keys)
-          (let ((lib (string-append (assoc-ref outputs "out") "/lib/"))
-                (include (string-append (assoc-ref outputs "out") "/include/")))
-            (mkdir-p lib)
-            (mkdir-p include)
-            (copy-file "utf8proc.h" (string-append include "utf8proc.h"))
-            (for-each (lambda (file)
-                        (copy-file file (string-append lib (basename file))))
-                      '("libutf8proc.a" "libutf8proc.so"))))
-        ;; no configure script
-        (alist-delete 'configure %standard-phases))))
+       (modify-phases %standard-phases
+         (delete 'configure))))
     (home-page "http://julialang.org/utf8proc/")
     (synopsis "C library for processing UTF-8 Unicode data")
     (description "utf8proc is a small C library that provides Unicode
@@ -155,3 +150,70 @@ encoding, supporting Unicode version 7.0.")
      "libgtextutils is a text utilities library used by the fastx toolkit from
 the Hannon Lab.")
     (license license:agpl3+)))
+
+(define-public cityhash
+  (let ((commit "8af9b8c")
+        (revision "1"))
+    (package
+      (name "cityhash")
+      (version (string-append "1.1." revision "." commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/google/cityhash.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "0n6skf5dv8yfl1ckax8dqhvsbslkwc9158zf2ims0xqdvzsahbi6"))))
+    (build-system gnu-build-system)
+    (home-page "https://github.com/google/cityhash")
+    (synopsis "C++ hash functions for strings")
+    (description
+     "CityHash provides hash functions for strings.  The functions mix the
+input bits thoroughly but are not suitable for cryptography.")
+    (license license:expat))))
+
+(define-public libconfig
+  (package
+    (name "libconfig")
+    (version "1.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://www.hyperrealm.com/libconfig/"
+                                  "libconfig-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1xh3hzk63v4y8815lc5209m3s6ms2cpgw4h5hg462i4f1lwsl7g3"))))
+    (build-system gnu-build-system)
+    (home-page "http://www.hyperrealm.com/libconfig/")
+    (synopsis "C/C++ configuration file library")
+    (description
+     "Libconfig is a simple library for manipulating structured configuration
+files.  This file format is more compact and more readable than XML.  And
+unlike XML, it is type-aware, so it is not necessary to do string parsing in
+application code.")
+    (license license:lgpl2.1+)))
+
+(define-public pfff
+  (package
+    (name "pfff")
+    (version "1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/pfff/pfff/archive/v"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "00m553aa277iarxj6dalmklyb64r7ias49bfwzbacsfg8h3kar8m"))))
+    (build-system cmake-build-system)
+    (home-page "http://biit.cs.ut.ee/pfff/")
+    (synopsis "Probabilistic fast file fingerprinting tool")
+    (description
+     "pfff is a tool for calculating a compact digital fingerprint of a file
+by sampling randomly from the file instead of reading it in full.
+Consequently, the computation has a flat performance characteristic,
+correlated with data variation rather than file size.  pfff can be as reliable
+as existing hashing techniques, with provably negligible risk of collisions.")
+    (license license:bsd-3)))