Subject: [PATCH] guile-wiredtiger

From: Kristofer Buffington <[email-masked]>
Date: Tue, 14 Nov 2017 14:03:02 -0500

This is my first patch! I followed manual section 7.5 to put this
together.

$ git format-patch origin/master

>From 421a4233a53fd6f0980da7705d0133ea0ada3e6c Mon Sep 17 00:00:00 2001
From: Kristofer Buffington <[email-masked]>
Date: Tue, 14 Nov 2017 11:25:18 -0500
Subject: [PATCH 1/2] added package defition for guile-wiredtiger

---
 gnu/packages/databases.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 38ca5708d..4694fa82e 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -56,6 +56,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 +83,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 +1497,43 @@ 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 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")))))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("wiredtiger" ,wiredtiger)
+       ("guile-lib" ,guile-lib)
+       ("guile" ,guile-2.2)))
+    (synopsis "Wired Tiger bindings for GNU Guile")
+    (description "Wired Tiger bindings for GNU Guile. Build your own database!")
+    (home-page "https://framagit.org/a-guile-mind/guile-wiredtiger")
+    (license license:gpl3+)))
+
 (define-public perl-db-file
  (package
   (name "perl-db-file")
-- 
2.15.0

>From 24f55e56e1cd6ce541eb9ebd76454b896f2772a1 Mon Sep 17 00:00:00 2001
From: Kristofer Buffington <[email-masked]>
Date: Tue, 14 Nov 2017 13:27:39 -0500
Subject: [PATCH 2/2] fix formatting errors

---
 gnu/packages/databases.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 4694fa82e..ca35bcd2a 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1497,7 +1497,7 @@ 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 guile-wiredtiger
+(define-public guile-wiredtiger
   (package
     (name "guile-wiredtiger")
     (version "20171113.6cbc51da")
@@ -1530,7 +1530,7 @@ trees (LSM), for sustained throughput under random insert workloads.")
        ("guile-lib" ,guile-lib)
        ("guile" ,guile-2.2)))
     (synopsis "Wired Tiger bindings for GNU Guile")
-    (description "Wired Tiger bindings for GNU Guile. Build your own database!")
+    (description "Wired Tiger bindings for GNU Guile.  Build your own database!")
     (home-page "https://framagit.org/a-guile-mind/guile-wiredtiger")
     (license license:gpl3+)))
 
-- 
2.15.0