;;; 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 © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017 ng0 <ng0@n0.is>
+;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
(define-module (gnu packages markup)
#:use-module (guix licenses)
#:use-module (guix download)
+ #:use-module (guix git-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 (guix build-system perl)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
- #:use-module (gnu packages web)
- #:use-module (gnu packages zip))
+ #:use-module (gnu packages web))
(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"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hoedown/hoedown.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0859dc2xjasd6kgkshi8mb20kbyw5sql1ln0hw3bfaf33qdh5dh1"))))
+ "1kr3hxjg2dgmwy9738qgj3sh3f5cygx0zxskkfhrg7x19bq9yd26"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
"/bin/unzip")))
(mkdir-p out)
(with-directory-excursion out
- (system* unzip source)
+ (invoke 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"))))))
+ (delete-file-recursively "Markdown_1.0.1"))
+ #t))))
(native-inputs `(("unzip" ,unzip)))
(inputs `(("perl" ,perl)))
(home-page "http://daringfireball.net/projects/markdown")
(license (non-copyleft "file://License.text"
"See License.text in the distribution."))))
+(define-public discount
+ (package
+ (name "discount")
+ (version "2.2.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.pell.portland.or.us/~orc/Code/"
+ "discount/discount-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "199hwajpspqil0a4y3yxsmhdp2dm73gqkzfk4mrwzsmlq8y1xzbl"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:make-flags (list
+ (string-append "LFLAGS=-L. -Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'set-AC_PATH
+ (lambda _
+ ;; The default value is not suitable, so override using an
+ ;; environment variable. This just affects the build, and not the
+ ;; resulting store item.
+ (setenv "AC_PATH" (getenv "PATH"))
+ #t))
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (setenv "CC" "gcc")
+ (invoke "./configure.sh"
+ (string-append "--prefix=" (assoc-ref outputs "out"))
+ "--shared"))))))
+ (synopsis "Markdown processing library, written in C")
+ (description
+ "Discount is a markdown implementation, written in C. It provides a
+@command{markdown} command, and a library.")
+ (home-page "https://www.pell.portland.or.us/~orc/Code/discount/")
+ (license bsd-3)))
+
+(define-public perl-text-markdown-discount
+ (package
+ (name "perl-text-markdown-discount")
+ (version "0.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/S/SE/SEKIMURA/Text-Markdown-Discount-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1xx7v3wnla7m6wa3h33whxw3vvincaicg4yra1b9wbzf2aix9rnw"))
+ (patches
+ (search-patches "perl-text-markdown-discount-unbundle.patch"))))
+ (build-system perl-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'set-ldflags
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("OTHERLDFLAGS = ")
+ (string-append
+ "OTHERLDFLAGS = -lmarkdown -Wl,-rpath="
+ (assoc-ref inputs "discount")
+ "/lib")))
+ #t)))))
+ (inputs
+ `(("discount" ,discount)))
+ (home-page
+ "https://metacpan.org/release/Text-Markdown-Discount")
+ (synopsis
+ "Fast function for converting Markdown to HTML using Discount")
+ (description
+ "Text::Markdown::Discount is a Perl extension to the Discount markdown
+implementation.
+
+@example
+ use Text::Markdown::Discount;
+ my $html = markdown($text)
+@end example")
+ (license perl-license)))
+
(define-public cmark
(package
(name "cmark")
- (version "0.27.1")
+ (version "0.29.0")
(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"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jgm/cmark.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1da62ispca9aal2a36gaj87175rv5013pl7x740vk32y6lclr6v6"))))
+ "0r7jpqhgnssq444i8pwji2g36058vfzwkl70wbiwj13h4w5rfc8f"))))
(build-system cmake-build-system)
(arguments
'(#:test-target "test"))
(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
+CommonMark to an abstract syntax tree (@dfn{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.")
;; 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.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Gottox/smu.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jm7lhnzjx4q7gcwlkvsbffcy0zppywyh50d71ami6dnq182vvcc"))))
+ (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)))