From 169730718538acf2dce693ae08e4dbee8f40825a Mon Sep 17 00:00:00 2001 From: Kristofer Buffington Date: Tue, 14 Nov 2017 11:25:18 -0500 Subject: gnu: Add guile-wiredtiger. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/databases.scm (guile-wiredtiger): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/databases.scm | 52 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 38ca5708d7..6bc468679a 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2017 Pierre Langlois ;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017 Kristofer Buffington ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,6 +57,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) + #:use-module (gnu packages guile) #:use-module (gnu packages time) #:use-module (gnu packages jemalloc) #:use-module (gnu packages language) @@ -82,6 +84,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) #:use-module (guix build-system python) @@ -1495,6 +1498,55 @@ trees (LSM), for sustained throughput under random insert workloads.") ;; configure.ac: WiredTiger requires a 64-bit build. (supported-systems '("x86_64-linux" "mips64el-linux" "aarch64-linux")))) +(define-public guile-wiredtiger + (package + (name "guile-wiredtiger") + (version "20171113.6cbc51da") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://framagit.org/a-guile-mind/guile-wiredtiger.git") + (commit "6cbc51dab95d28fe31ae025fbdd88f3ecbf2111b"))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0x3qwpgch5pg0k21kc792h4y6b36a8xd1zkfq8ar2l2mqmpzkzyd")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f + #:configure-flags + (list (string-append "--with-libwiredtiger-prefix=" + (assoc-ref %build-inputs "wiredtiger"))) + #:make-flags '("GUILE_AUTO_COMPILE=0") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'bootstrap + (lambda _ + (zero? (system* "sh" "bootstrap")))) + (add-before 'bootstrap 'remove-bundled-dependencies + (lambda _ + ;; TODO: Remove microkanren.scm when we have a separate package + ;; for it. + (delete-file "htmlprag.scm") + (substitute* "Makefile.am" + (("htmlprag\\.scm") "")) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) + (inputs + `(("wiredtiger" ,wiredtiger) + ("guile" ,guile-2.2))) + (propagated-inputs + `(("guile-lib" ,guile-lib))) ;for (htmlprag) + (synopsis "Wired Tiger bindings for GNU Guile") + (description + "This package provides Guile bindings to the WiredTiger ``NoSQL'' +database.") + (home-page "https://framagit.org/a-guile-mind/guile-wiredtiger") + (license license:gpl3+))) + (define-public perl-db-file (package (name "perl-db-file") -- cgit v1.2.3