diff options
Diffstat (limited to 'gnu/packages/markup.scm')
-rw-r--r-- | gnu/packages/markup.scm | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm new file mode 100644 index 0000000000..cd883b23ec --- /dev/null +++ b/gnu/packages/markup.scm @@ -0,0 +1,169 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org> +;;; Copyright © 2015 David Thompson <davet@gnu.org> +;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2017 ng0 <ng0@no-reply.pragmatique.xyz> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages markup) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) + #:use-module (guix build-system cmake) + #:use-module (gnu packages perl) + #:use-module (gnu packages python) + #:use-module (gnu packages web) + #:use-module (gnu packages zip)) + +(define-public hoedown + (package + (name "hoedown") + (version "3.0.7") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/hoedown/hoedown/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0859dc2xjasd6kgkshi8mb20kbyw5sql1ln0hw3bfaf33qdh5dh1")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) + #:phases (modify-phases %standard-phases + (delete 'configure)) ; no configure script + #:test-target "test")) + (native-inputs + `(("python" ,python-2) + ("tidy" ,tidy))) + (synopsis "Markdown processing library") + (description "Hoedown is a standards compliant, fast, secure markdown +processing library written in C.") + (home-page "https://github.com/hoedown/hoedown") + (license expat))) + +(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 (non-copyleft "file://License.text" + "See License.text in the distribution.")))) + +(define-public cmark + (package + (name "cmark") + (version "0.27.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/jgm/cmark/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1da62ispca9aal2a36gaj87175rv5013pl7x740vk32y6lclr6v6")))) + (build-system cmake-build-system) + (arguments + '(#:test-target "test")) + (native-inputs `(("python" ,python))) + (synopsis "CommonMark Markdown reference implementation") + (description "CommonMark is a strongly defined, highly compatible +specification of Markdown. cmark is the C reference implementation of +CommonMark. It provides @code{libcmark} shared library for parsing +CommonMark to an abstract syntax tree (AST) and rendering the document +as HTML, groff man, LaTeX, CommonMark, or an XML representation of the +AST. The package also provides the command-line program @command{cmark} +for parsing and rendering CommonMark.") + (home-page "http://commonmark.org") + ;; cmark is distributed with a BSD-2 license, but some components are Expat + ;; licensed. The CommonMark specification is Creative Commons CC-BY-SA 4.0 + ;; licensed. See 'COPYING' in the source distribution for more information. + (license (list bsd-2 expat cc-by-sa4.0)))) + +(define-public smu + (package + (name "smu") + (version "1.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Gottox/smu/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0iazl45rkz8ngsb5hpykl76w0ngvdvqqhym1qz5wykgmrzk293rp")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list "CC=gcc" + (string-append "PREFIX=" + (assoc-ref %outputs "out"))) + #:tests? #f ;No tests included + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://github.com/Gottox/smu") + (synopsis "Simple markup") + (description + "Smu is a very simple and minimal markup language. It is +designed for using in wiki-like environments. Smu makes it very +easy to write your documents on the fly and convert them into HTML. +Smu is capable to parse very large documents. As long as you avoid an huge +amount of indents it scales just great. + +Smu was started as a rewrite of Markdown but became something more +lightweight and consistent. The biggest difference between Markdown +and smu is that smu doesn't support reference style links.") + (license x11))) |