From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mathieu Lirzin Subject: [PATCH] gnu: Add artanis. Date: Sun, 08 Nov 2015 19:29:54 +0100 Message-ID: <87bnb49wf1.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41176) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZvUj3-0004u4-WB for guix-devel@gnu.org; Sun, 08 Nov 2015 13:30:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZvUiy-00027b-T6 for guix-devel@gnu.org; Sun, 08 Nov 2015 13:30:01 -0500 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57093) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZvUiy-00027X-P1 for guix-devel@gnu.org; Sun, 08 Nov 2015 13:29:56 -0500 Received: from mek33-4-82-236-46-88.fbx.proxad.net ([82.236.46.88]:40404 helo=godel) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1ZvUiy-0004Oz-6e for guix-devel@gnu.org; Sun, 08 Nov 2015 13:29:56 -0500 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, Here is the package definition for the web application framework GNU Artanis. =E2=80=98guix lint=E2=80=99 is still proposing a description beca= use I have fix a missing space in it. Can someone with commit access in the =E2=80=9Cgnumaint=E2=80=9D repo fix it there? Thanks, -- Mathieu Lirzin --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-gnu-Add-artanis.patch >From 96034d7b61f2ddc97eb1af792a9cf4921ba2d9ac Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Sun, 8 Nov 2015 19:06:10 +0100 Subject: [PATCH] gnu: Add artanis. * gnu/packages/guile.scm (artanis): New variable. --- gnu/packages/guile.scm | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index eb37874..b29c479 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -29,6 +29,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages flex) #:use-module (gnu packages libunistring) + #:use-module (gnu packages linux) #:use-module (gnu packages m4) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pkg-config) @@ -242,6 +243,56 @@ without requiring the source code to be rewritten.") ;;; 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 (package (name "guile-reader") -- 2.6.2 --=-=-=--