* [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