guix-devel/gnu/packages/markdown.scm

101 lines
4.0 KiB
Scheme

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;;
;;; 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 markdown)
#: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 (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.3")
(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
"0mmmkfayqgh6k39kbi3pq68mg03x35aiygy3zypxzvwx9y8b53ky"))))
(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."))))