summary refs log tree commit diff
path: root/gnu/packages/textutils.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/textutils.scm')
-rw-r--r--gnu/packages/textutils.scm126
1 files changed, 123 insertions, 3 deletions
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 5a8f9f09ea..325386d234 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -1,5 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,7 +24,11 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
-  #:use-module (gnu packages python))
+  #:use-module (guix build-system trivial)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages zip))
 
 (define-public recode
   (package
@@ -43,11 +49,13 @@
     (arguments
      '(#:phases
        (alist-cons-before
-        'check 'fix-setup-py
+        'check 'pre-check
         (lambda _
           (substitute* "tests/setup.py"
             (("([[:space:]]*)include_dirs=.*" all space)
-             (string-append all space "library_dirs=['../src/.libs'],\n"))))
+             (string-append all space "library_dirs=['../src/.libs'],\n")))
+          ;; The test extension 'Recode.so' lacks RUNPATH for 'librecode.so'.
+          (setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/src/.libs")))
         %standard-phases)))
     (home-page "https://github.com/pinard/Recode")
     (synopsis "Text encoding converter")
@@ -83,3 +91,115 @@ handy front-end to the library.")
 an encoding detection library, and enca, a command line frontend, integrating
 libenca and several charset conversion libraries and tools.")
     (license license:gpl2)))
+
+(define-public utf8proc
+  (package
+    (name "utf8proc")
+    (version "1.1.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/JuliaLang/utf8proc/archive/v"
+             version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0wmsi672knii0q70wh6a3ll0gv7qk33c50zbpzasrs3b16bqy659"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f ;no "check" target
+       #:make-flags '("CC=gcc")
+       #: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))))
+    (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
+normalization, case-folding, and other operations for data in the UTF-8
+encoding, supporting Unicode version 7.0.")
+    (license license:expat)))
+
+(define-public libgtextutils
+  (package
+    (name "libgtextutils")
+    (version "0.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/agordon/libgtextutils/releases/download/"
+             version "/libgtextutils-" version ".tar.gz"))
+       (sha256
+        (base32 "0jiybkb2z58wa2msvllnphr4js2hvjvh988pavb3mzkgr6ihwbkr"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (alist-cons-after
+        'unpack 'autoreconf
+        (lambda _ (zero? (system* "autoreconf" "-vif")))
+        %standard-phases)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)))
+    (home-page "https://github.com/agordon/libgtextutils")
+    (synopsis "Gordon's text utils library")
+    (description
+     "libgtextutils is a text utilities library used by the fastx toolkit from
+the Hannon Lab.")
+    (license license:agpl3+)))
+
+(define-public markdown
+  (package
+    (name "markdown")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://daringfireball.net/projects/downloads/"
+             (string-capitalize name) "_" version ".zip"))
+       (sha256
+        (base32 "0dq1pj91pvlwkv0jwcgdfpv6gvnxzrk3s8mnh7imamcclnvfj835"))))
+    (build-system trivial-build-system)
+    (arguments
+     '(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((source (assoc-ref %build-inputs "source"))
+               (out    (assoc-ref %outputs "out"))
+               (perlbd (string-append (assoc-ref %build-inputs "perl") "/bin"))
+               (unzip  (string-append (assoc-ref %build-inputs "unzip")
+                                      "/bin/unzip")))
+           (mkdir-p out)
+           (with-directory-excursion out
+             (system* unzip source)
+             (mkdir "bin")
+             (mkdir-p "share/doc")
+             (rename-file "Markdown_1.0.1/Markdown.pl" "bin/markdown")
+             (rename-file "Markdown_1.0.1/Markdown Readme.text"
+                          "share/doc/README")
+             (patch-shebang "bin/markdown" (list perlbd))
+             (delete-file-recursively "Markdown_1.0.1"))))))
+    (native-inputs `(("unzip" ,unzip)))
+    (inputs `(("perl" ,perl)))
+    (home-page "http://daringfireball.net/projects/markdown")
+    (synopsis "Text-to-HTML conversion tool")
+    (description
+     "Markdown is a text-to-HTML conversion tool for web writers.  It allows
+you to write using an easy-to-read, easy-to-write plain text format, then
+convert it to structurally valid XHTML (or HTML).")
+    (license (license:non-copyleft "file://License.text"
+                                   "See License.text in the distribution."))))