about summary refs log tree commit diff
path: root/gn/packages/databases.scm
diff options
context:
space:
mode:
authorEfraim Flashner2021-09-09 18:06:26 +0300
committerEfraim Flashner2021-09-09 18:06:26 +0300
commit599a3aa11183bee3a49d53d87afcc9fd7f0e0685 (patch)
treeea02a13dcbed6767228bfba2da21260507f464b3 /gn/packages/databases.scm
parentb773e0e0a2869b2d370891696e0dd1382dacf9f4 (diff)
downloadguix-bioinformatics-wip-braker.tar.gz
braker almost ready wip-braker
Diffstat (limited to 'gn/packages/databases.scm')
-rw-r--r--gn/packages/databases.scm55
1 files changed, 55 insertions, 0 deletions
diff --git a/gn/packages/databases.scm b/gn/packages/databases.scm
index 93280c2..9c4a109 100644
--- a/gn/packages/databases.scm
+++ b/gn/packages/databases.scm
@@ -2,6 +2,7 @@
   #:use-module (gnu packages)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
@@ -136,3 +137,57 @@
       (inputs
        `(("zlib" ,zlib)
          ,@(package-inputs base))))))
+
+(define-public mysql++
+  (package
+    (name "mysql++")
+    (version "3.3.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://tangentsoft.com/mysqlpp/releases"
+                            "/mysql++-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1kz7l1ngk649cpp2h1cnyqan9px8d50r0dk7kngwrhkcam3br724"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list (string-append "--with-mysql-include="
+                            (assoc-ref %build-inputs "mariadb:dev"))
+             (string-append "--with-mysql-lib="
+                            (assoc-ref %build-inputs "mariadb:lib")))
+       #:phases
+       (modify-phases %standard-phases
+         ;; It is unclear how to run the test suite so we just invoke the
+         ;; compiled binaries which start with 'test_*'.
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "LD_PRELOAD" "./libmysqlpp.so.3")
+               (and
+                 (invoke "./test_array_index")
+                 (invoke "./test_cpool")
+                 (invoke "./test_datetime")
+                 (invoke "./test_insertpolicy")
+                 (invoke "./test_inttypes")
+                 (invoke "./test_manip")
+                 (invoke "./test_null_comparison")
+                 (invoke "./test_qssqls")
+                 (invoke "./test_qstream")
+                 (invoke "./test_query_copy")
+                 (invoke "./test_sqlstream")
+                 (invoke "./test_ssqls2")
+                 (invoke "./test_string")
+                 ;(invoke "./test_tcp")     ; Requires TCP connection.
+                 (invoke "./test_uds")
+                 (invoke "./test_wnp")))
+             #t)))))
+    (inputs
+     `(("mariadb:dev" ,mariadb "dev")
+       ("mariadb:lib" ,mariadb "lib")))
+    (home-page "https://tangentsoft.net/mysqlpp/")
+    (synopsis "MySQL C++ library bindings")
+    (description "MySQL++ is a complex C++ API for MySQL.  The goal of this API
+is to make working with Queries as easy as working with other STL containers.")
+    (license license:lgpl2.1+)))