summary refs log tree commit diff
path: root/gnu/packages/guile.scm
diff options
context:
space:
mode:
author宋文武 <iyzsong@gmail.com>2016-06-17 22:44:56 +0800
committer宋文武 <iyzsong@gmail.com>2016-06-20 19:05:24 +0800
commit2d5907ad3c35eb7880df03cd3ac6c1bde2c4ff5f (patch)
tree602e3efb01be775d78a0300dbad320719bc8ff47 /gnu/packages/guile.scm
parent426bfed40568312e1514491b34ca7c15b3d11cbd (diff)
downloadguix-2d5907ad3c35eb7880df03cd3ac6c1bde2c4ff5f.tar.gz
gnu: Add guile-dbi.
* gnu/packages/guile.scm (guile-dbi): New variable.
Diffstat (limited to 'gnu/packages/guile.scm')
-rw-r--r--gnu/packages/guile.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 6e4722c182..1a180a4ec7 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -1007,4 +1007,42 @@ provides access to that interface and its types from the Scheme level.")
     (home-page "http://www.nongnu.org/g-wrap/index.html")
     (license lgpl2.1+)))
 
+(define-public guile-dbi
+  (package
+    (name "guile-dbi")
+    (version "2.1.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://download.gna.org/guile-dbi/guile-dbi-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "116njrprhgrsv1qm904sp3b02rq01fx639r433d657gyhw3x159n"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags
+       (list (string-append
+              "--with-guile-site-dir=" %output "/share/guile/site/2.0"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'patch-extension-path
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out     (assoc-ref outputs "out"))
+                    (dbi.scm (string-append
+                              out "/share/guile/site/2.0/dbi/dbi.scm"))
+                    (ext     (string-append out "/lib/libguile-dbi")))
+               (substitute* dbi.scm (("libguile-dbi") ext))
+               #t))))))
+    (propagated-inputs
+     `(("guile" ,guile-2.0)))
+    (synopsis "Guile database abstraction layer")
+    (home-page "http://home.gna.org/guile-dbi/guile-dbi.html")
+    (description
+     "guile-dbi is a library for Guile that provides a convenient interface to
+SQL databases.  Database programming with guile-dbi is generic in that the same
+programming interface is presented regardless of which database system is used.
+It currently supports MySQL, Postgres and SQLite3.")
+    (license gpl2+)))
+
 ;;; guile.scm ends here