me
/
guix
Archived
1
0
Fork 0

gnu: Add artanis.

* gnu/packages/guile.scm (artanis): New variable.
master
Mathieu Lirzin 2015-11-08 19:06:10 +01:00
parent 2936e48f5f
commit 7119cca86c
1 changed files with 51 additions and 0 deletions

View File

@ -29,6 +29,7 @@
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages libunistring) #:use-module (gnu packages libunistring)
#:use-module (gnu packages linux)
#:use-module (gnu packages m4) #:use-module (gnu packages m4)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
@ -242,6 +243,56 @@ without requiring the source code to be rewritten.")
;;; Extensions. ;;; Extensions.
;;; ;;;
(define-public artanis
(package
(name "artanis")
(version "0.1.0")
(source (origin
(method url-fetch)
(uri (string-append "ftp://alpha.gnu.org/gnu/artanis/artanis-"
version ".tar.gz"))
(sha256
(base32
"1mc2zy6n9wnn4hzi3zp3jd6b5rlr0lv7fvh800xf4fyrxg0zia4g"))))
(build-system gnu-build-system)
;; TODO: Add guile-dbi and guile-dbd optional dependencies.
(inputs `(("guile" ,guile-2.0)))
(native-inputs `(("bash" ,bash) ;for the `source' builtin
("pkgconfig" ,pkg-config)
("util-linux" ,util-linux))) ;for the `script' command
(arguments
'(#:make-flags
;; TODO: The documentation must be built with the `docs' target.
(let* ((out (assoc-ref %outputs "out"))
(dir (string-append out "/share/guile/site/2.0")))
;; Don't use (%site-dir) for site paths.
(list (string-append "MOD_PATH=" dir)
(string-append "MOD_COMPILED_PATH=" dir)))
#:test-target "test"
#:phases
(modify-phases %standard-phases
(add-before
'install 'substitute-root-dir
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "Makefile" ;ignore the execution of bash.bashrc
((" /etc/bash.bashrc") " /dev/null"))
(substitute* "Makefile" ;set the root of config files to OUT
((" /etc") (string-append " " out "/etc")))
(mkdir-p (string-append out "/bin")) ;for the `art' executable
#t))))))
(synopsis "Web application framework written in Guile")
(description "GNU Artanis is a web application framework written in Guile
Scheme. A web application framework (WAF) is a software framework that is
designed to support the development of dynamic websites, web applications, web
services and web resources. The framework aims to alleviate the overhead
associated with common activities performed in web development. Artanis
provides several tools for web development: database access, templating
frameworks, session management, URL-remapping for RESTful, page caching, and
more.")
(home-page "https://www.gnu.org/software/artanis/")
(license (list gpl3+ lgpl3+)))) ;dual license
(define-public guile-reader (define-public guile-reader
(package (package
(name "guile-reader") (name "guile-reader")