unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Add tokyocabinet, Add databases to neomutt
@ 2017-02-11 21:07 contact.ng0
  2017-02-11 21:07 ` [PATCH 1/2] gnu: Add tokyocabinet contact.ng0
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: contact.ng0 @ 2017-02-11 21:07 UTC (permalink / raw)
  To: guix-devel

[PATCH 1/2] gnu: Add tokyocabinet.

Pretty straight forward, just adds the database.

[PATCH 2/2] gnu: neomutt: Configure with 'lmdb' and 'tokyocabinet'.

Adds the lmdb and tokyocabinet as two more choices of database backends to neomutt. This is not a problem for neomutt as multiple backends can be handled at the same time.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] gnu: Add tokyocabinet.
  2017-02-11 21:07 Add tokyocabinet, Add databases to neomutt contact.ng0
@ 2017-02-11 21:07 ` contact.ng0
  2017-02-11 21:07 ` [PATCH 2/2] gnu: neomutt: Configure with 'lmdb' and 'tokyocabinet' contact.ng0
  2017-02-11 21:19 ` Add tokyocabinet, Add databases to neomutt ng0
  2 siblings, 0 replies; 4+ messages in thread
From: contact.ng0 @ 2017-02-11 21:07 UTC (permalink / raw)
  To: guix-devel

From: ng0 <contact.ng0@cryptolab.net>

* gnu/packages/databases.scm (tokyocabinet): New variable.
---
 gnu/packages/databases.scm | 33 ++++++++++++++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 39287efd9..4df437fa1 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -8,7 +8,7 @@
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
 ;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2016 David Craven <david@craven.ch>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
@@ -1201,6 +1201,37 @@ and B+ Tree data storage models.  It is a fast key-value lightweight
 database and supports many programming languages.  It is a NoSQL database.")
     (license license:gpl3+)))
 
+(define-public tokyocabinet
+  (package
+    (name "tokyocabinet")
+    (version "1.4.48")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://fallabs.com/tokyocabinet/"
+                           name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "140zvr0n8kvsl0fbn2qn3f2kh3yynfwnizn4dgbj47m975yg80x0"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list "--enable-pthread" "--enable-off64" "--enable-fastest"
+        (string-append "LDFLAGS=-Wl,-rpath="
+                       (assoc-ref %outputs "out") "/lib"))))
+    (inputs
+     `(("zlib" ,zlib)))
+    (home-page "http://fallabs.com/tokyocabinet/")
+    (synopsis "Tokyo Cabinet is a modern implementation of the DBM database")
+    (description
+     "Tokyo Cabinet is a library of routines for managing a database.
+The database is a simple data file containing records, each is a pair of a
+key and a value.  Every key and value is serial bytes with variable length.
+Both binary data and character string can be used as a key and a value.
+There is neither concept of data tables nor data types.  Records are
+organized in hash table, B+ tree, or fixed-length array.")
+    (license license:lgpl2.1+)))
+
 (define-public wiredtiger
   (package
     (name "wiredtiger")
-- 
2.11.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] gnu: neomutt: Configure with 'lmdb' and 'tokyocabinet'.
  2017-02-11 21:07 Add tokyocabinet, Add databases to neomutt contact.ng0
  2017-02-11 21:07 ` [PATCH 1/2] gnu: Add tokyocabinet contact.ng0
@ 2017-02-11 21:07 ` contact.ng0
  2017-02-11 21:19 ` Add tokyocabinet, Add databases to neomutt ng0
  2 siblings, 0 replies; 4+ messages in thread
From: contact.ng0 @ 2017-02-11 21:07 UTC (permalink / raw)
  To: guix-devel

From: ng0 <contact.ng0@cryptolab.net>

* gnu/packages/mail.scm (neomutt)[configure]: Add '--with-tokyocabinet' and
'--with-lmdb'.
[inputs]: Add 'lmdb' and 'tokyocabinet'.
---
 gnu/packages/mail.scm | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index a9b2cb3ec..9311fbf14 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -267,6 +267,8 @@ operating systems.")
     (inputs
      `(("cyrus-sasl" ,cyrus-sasl)
        ("gdbm" ,gdbm)
+       ("lmdb" ,lmdb)
+       ("tokyocabinet" ,tokyocabinet)
        ("gpgme" ,gpgme)
        ("ncurses" ,ncurses)
        ("gnutls" ,gnutls)
@@ -289,10 +291,11 @@ operating systems.")
              "--enable-gpgme"
 
              ;; database, implies header caching
-             "--without-tokyocabinet"
+             ;; neomutt supports building multiple backends
+             "--with-tokyocabinet"
              "--without-qdbm"
              "--without-bdb"
-             "--without-lmdb"
+             "--with-lmdb"
              "--with-gdbm"
 
              "--with-gnutls"
-- 
2.11.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: Add tokyocabinet, Add databases to neomutt
  2017-02-11 21:07 Add tokyocabinet, Add databases to neomutt contact.ng0
  2017-02-11 21:07 ` [PATCH 1/2] gnu: Add tokyocabinet contact.ng0
  2017-02-11 21:07 ` [PATCH 2/2] gnu: neomutt: Configure with 'lmdb' and 'tokyocabinet' contact.ng0
@ 2017-02-11 21:19 ` ng0
  2 siblings, 0 replies; 4+ messages in thread
From: ng0 @ 2017-02-11 21:19 UTC (permalink / raw)
  To: guix-devel

On 17-02-11 21:07:39, contact.ng0@cryptolab.net wrote:
> [PATCH 1/2] gnu: Add tokyocabinet.
> 
> Pretty straight forward, just adds the database.
> 
> [PATCH 2/2] gnu: neomutt: Configure with 'lmdb' and 'tokyocabinet'.
> 
> Adds the lmdb and tokyocabinet as two more choices of database backends to neomutt. This is not a problem for neomutt as multiple backends can be handled at the same time.
> 

"But why did you pick these two and not others?"
I've read a comment in the FreeBSD bug/patch tracker where they judged
that these are the two fastest databases to be used for this job. Do we
need the original one we currently have? I don't know who uses neomutt
already, but I don't feel good with breaking peoples software. "Oops,
now your database is no longer built into our version of the
application" ... hm.

I think my choice to stick with the 3 DBs is right and it doesn't add
much. guix size:

* for neomutt as it is currently:
  store item                                                       total    self
/gnu/store/7zvsqc6pr6yalalwbsv88hzx2laxbkxn-neomutt-20170113       379.7     4.9   1.3%
total: 379.7 MiB

store item                                                       total    self
/gnu/store/0f4qjgd4nr53r5xsg6di9nxprzg26kdd-neomutt-20170113       384.7     4.9   1.3%
total: 384.7 MiB

I skipped the other store items, but the difference is minimal.
-- 
ng0 -- https://www.inventati.org/patternsinthechaos/

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-02-11 21:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-11 21:07 Add tokyocabinet, Add databases to neomutt contact.ng0
2017-02-11 21:07 ` [PATCH 1/2] gnu: Add tokyocabinet contact.ng0
2017-02-11 21:07 ` [PATCH 2/2] gnu: neomutt: Configure with 'lmdb' and 'tokyocabinet' contact.ng0
2017-02-11 21:19 ` Add tokyocabinet, Add databases to neomutt ng0

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).