summaryrefslogtreecommitdiff
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."))))