unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 0/3] Add tocc
@ 2015-03-27 21:24 Eric Bavier
  2015-03-27 21:24 ` [PATCH 1/3] gnu: Add Catch Eric Bavier
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Eric Bavier @ 2015-03-27 21:24 UTC (permalink / raw)
  To: guix-devel

Taking a short break from Hydra packaging. ;)

This is a small tool that I've wanted to play with for organizing local video
clips.

Eric Bavier (3):
  gnu: Add Catch.
  gnu: Add UnQLite.
  gnu: Add tocc.

 gnu/packages/check.scm     |   45 ++++++++++++++++++++++++++++-
 gnu/packages/databases.scm |   28 +++++++++++++++++-
 gnu/packages/search.scm    |   69 +++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 139 insertions(+), 3 deletions(-)

-- 
1.7.9.5

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

* [PATCH 1/3] gnu: Add Catch.
  2015-03-27 21:24 [PATCH 0/3] Add tocc Eric Bavier
@ 2015-03-27 21:24 ` Eric Bavier
  2015-03-29 13:54   ` Ludovic Courtès
  2015-03-27 21:24 ` [PATCH 2/3] gnu: Add UnQLite Eric Bavier
  2015-03-27 21:24 ` [PATCH 3/3] gnu: Add tocc Eric Bavier
  2 siblings, 1 reply; 12+ messages in thread
From: Eric Bavier @ 2015-03-27 21:24 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/check.scm (catch-framework): New variable.
---
 gnu/packages/check.scm |   45 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 44 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index afaf557..3e686cc 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
+;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,7 +24,9 @@
   #:use-module (guix licenses)
   #:use-module (guix packages)
   #:use-module (guix download)
-  #:use-module (guix build-system gnu))
+  #:use-module (guix git-download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system trivial))
 
 (define-public check
   (package
@@ -99,3 +102,43 @@ with a flexible variety of user interfaces.")
 unit testing.  Test output is in XML for automatic testing and GUI based for
 supervised tests.")
     (license lgpl2.1))) ; no copyright notices. LGPL2.1 is in the tarball
+
+(define-public catch-framework
+  (package
+    (name "catch")
+    (version "1.0.53")                  ;Sub-minor is the build number
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/philsquared/Catch")
+                    ;; Semi-arbitrary.  Contains mostly documentation fixes
+                    ;; since build 53.
+                    (commit "b9ec8a1")))
+              (file-name (string-append name "-" version))
+              (sha256
+               (base32
+                "05iijiwjwcjbza7qamwd32d0jypi0lpywmilmmj2xh280mcl4dbd"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder (begin
+                   (use-modules (guix build utils))
+                   (let* ((source (assoc-ref %build-inputs "source"))
+                          (output (assoc-ref %outputs "out"))
+                          (incdir (string-append output "/include"))
+                          (docdir (string-append output "/share/doc/catch-"
+                                                 ,version)))
+                     (begin
+                       (for-each mkdir-p (list incdir docdir))
+                       (copy-file (string-append source
+                                                 "/single_include/catch.hpp")
+                                  (string-append incdir
+                                                 "/catch.hpp"))
+                       (copy-recursively (string-append source "/docs")
+                                         docdir))))))
+    (home-page "http://catch-lib.net/")
+    (synopsis "Automated test framework for C++ and Objective-C")
+    (description
+     "Catch stands for C++ Automated Test Cases in Headers and is a
+multi-paradigm automated test framework for C++ and Objective-C.")
+    (license boost1.0)))
-- 
1.7.9.5

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

* [PATCH 2/3] gnu: Add UnQLite.
  2015-03-27 21:24 [PATCH 0/3] Add tocc Eric Bavier
  2015-03-27 21:24 ` [PATCH 1/3] gnu: Add Catch Eric Bavier
@ 2015-03-27 21:24 ` Eric Bavier
  2015-03-29 13:49   ` Ludovic Courtès
  2015-03-27 21:24 ` [PATCH 3/3] gnu: Add tocc Eric Bavier
  2 siblings, 1 reply; 12+ messages in thread
From: Eric Bavier @ 2015-03-27 21:24 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/databases.scm (unqlite): New variable.
---
 gnu/packages/databases.scm |   28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 29b7dbb..6959eec 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -38,7 +38,7 @@
   #:use-module (gnu packages python)
   #:use-module ((guix licenses)
                 #:select (gpl2 gpl3+ lgpl2.1+ lgpl3+ x11-style non-copyleft
-                          public-domain))
+                          bsd-2 public-domain))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
@@ -538,3 +538,29 @@ Driver.")
    (license lgpl2.1+) 
    ;; COPYING contains copy of lgpl2.1 - but copyright notices just say "LGPL"
    (home-page "http://www.unixodbc.org")))
+
+(define-public unqlite
+  (package
+    (name "unqlite")
+    (version "1.1.6")
+    (source (origin
+              (method url-fetch)
+              ;; Contiains bug-fixes against the official release, and has an
+              ;; autotooled build system.
+              (uri (string-append "https://github.com/aidin36/tocc/releases/"
+                                  "download/v1.0.0/"
+                                  "unqlite-unofficial-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1sbpvhg15gadq0mpcy16q7k3rkg4b4dicpnn5xifpkpn02sqik3s"))))
+    (build-system gnu-build-system)
+    (arguments `(#:tests? #f))          ;No check target
+    (home-page "http://www.unqlite.org")
+    (synopsis "NoSQL database engine")
+    (description
+     "UnQLite is an in-process software library which implements a
+self-contained, serverless, zero-configuration, transactional NoSQL
+database engine.  UnQLite is a document store database similar to
+MongoDB, Redis, CouchDB, etc. as well as a standard Key/Value store
+similar to BerkelyDB, LevelDB, etc.")
+    (license bsd-2)))
-- 
1.7.9.5

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

* [PATCH 3/3] gnu: Add tocc.
  2015-03-27 21:24 [PATCH 0/3] Add tocc Eric Bavier
  2015-03-27 21:24 ` [PATCH 1/3] gnu: Add Catch Eric Bavier
  2015-03-27 21:24 ` [PATCH 2/3] gnu: Add UnQLite Eric Bavier
@ 2015-03-27 21:24 ` Eric Bavier
  2015-03-29 13:51   ` Ludovic Courtès
  2 siblings, 1 reply; 12+ messages in thread
From: Eric Bavier @ 2015-03-27 21:24 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/search.scm (libtocc, tocc): New variables.
---
 gnu/packages/search.scm |   69 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 68 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index f56a85e..eac9c10 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -18,11 +19,13 @@
 
 (define-module (gnu packages search)
   #:use-module ((guix licenses)
-                #:select (gpl2+ bsd-3 x11))
+                #:select (gpl2+ gpl3+ bsd-3 x11))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages linux)
   #:export (xapian))
 
@@ -55,4 +58,68 @@ rich set of boolean query operators.")
     (home-page "http://xapian.org/")
     (license (list gpl2+ bsd-3 x11))))
 
+(define-public libtocc
+  (package
+    (name "libtocc")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/aidin36/tocc/releases/download/"
+                           "v" version "/tocc-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1kd2jd74m8ksc8s7hh0haz0q0c3n0mr39bbky262kk4l58f1g068"))))
+    (build-system gnu-build-system)
+    (native-inputs `(("catch" ,catch-framework)))
+    (inputs `(("unqlite" ,unqlite)))
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (add-before
+                   configure chdir-source
+                   (lambda _ (chdir "libtocc/src")))
+                  (replace
+                   check
+                   (lambda _
+                     (with-directory-excursion "../tests"
+                       (and (zero? (system* "./configure"
+                                            (string-append "CONFIG_SHELL="
+                                                           (which "sh"))
+                                            (string-append "SHELL="
+                                                           (which "sh"))
+                                            "CPPFLAGS=-I../src"
+                                            "LDFLAGS=-L../src/.libs"))
+                            (zero? (system* "make"))
+                            (zero? (system* "./libtocctests")))))))))
+    (home-page "http://t-o-c-c.com/")
+    (synopsis "Tool for Obsessive Compulsive Classifiers")
+    (description
+     "libtocc is the engine of the Tocc project, a tag-based file management
+system.  The goal of Tocc is to provide a better system for classifying files
+that is more flexible than classic file systems that are based on a tree of
+files and directories.")
+    (license gpl3+)))
+
+(define-public tocc
+  (package
+    (name "tocc")
+    (version (package-version libtocc))
+    (source (package-source libtocc))
+    (build-system gnu-build-system)
+    (inputs
+     `(("libtocc" ,libtocc)
+       ("unqlite" ,unqlite)))
+    (arguments
+     `(#:tests? #f                      ;No tests
+       #:phases (modify-phases %standard-phases
+                  (add-after
+                   unpack chdir-source
+                   (lambda _ (chdir "cli/src"))))))
+    (home-page "http://t-o-c-c.com/")
+    (synopsis "Commandline interface to libtocc")
+    (description
+     "Tocc is a tag-based file management system.  This package contains the
+command line tool for interacting with libtocc.")
+    (license gpl3+)))
+
 ;;; search.scm ends here
-- 
1.7.9.5

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

* Re: [PATCH 2/3] gnu: Add UnQLite.
  2015-03-27 21:24 ` [PATCH 2/3] gnu: Add UnQLite Eric Bavier
@ 2015-03-29 13:49   ` Ludovic Courtès
  2015-03-29 19:13     ` Eric Bavier
  0 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2015-03-29 13:49 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel

Eric Bavier <bavier@member.fsf.org> skribis:

> * gnu/packages/databases.scm (unqlite): New variable.

[...]

> +              ;; Contiains bug-fixes against the official release, and has an
                       ^^^       ^
Typo.

> +              ;; autotooled build system.
> +              (uri (string-append "https://github.com/aidin36/tocc/releases/"
> +                                  "download/v1.0.0/"
> +                                  "unqlite-unofficial-" version ".tar.gz"))

Still, it seems that we should be using the official version no?

> +    (synopsis "NoSQL database engine")

“NoSQL” says what it’s not, but not what it is.  Maybe “In-memory
key/value database” (IIUC) or something to that effect?

The rest LGTM.

Thanks!

Ludo’.

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

* Re: [PATCH 3/3] gnu: Add tocc.
  2015-03-27 21:24 ` [PATCH 3/3] gnu: Add tocc Eric Bavier
@ 2015-03-29 13:51   ` Ludovic Courtès
  0 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2015-03-29 13:51 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel

Eric Bavier <bavier@member.fsf.org> skribis:

> * gnu/packages/search.scm (libtocc, tocc): New variables.

[...]

> +    (synopsis "Commandline interface to libtocc")

“Command-line”

OK to push!

Thanks,
Ludo’.

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

* Re: [PATCH 1/3] gnu: Add Catch.
  2015-03-27 21:24 ` [PATCH 1/3] gnu: Add Catch Eric Bavier
@ 2015-03-29 13:54   ` Ludovic Courtès
  2015-03-29 19:05     ` Eric Bavier
  0 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2015-03-29 13:54 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel

Eric Bavier <bavier@member.fsf.org> skribis:

> * gnu/packages/check.scm (catch-framework): New variable.

[...]

> +    (version "1.0.53")                  ;Sub-minor is the build number
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/philsquared/Catch")
> +                    ;; Semi-arbitrary.  Contains mostly documentation fixes
> +                    ;; since build 53.
> +                    (commit "b9ec8a1")))

I guess there’s no 1.0.53 tarball?

OK!

Thanks,
Ludo’.

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

* Re: [PATCH 1/3] gnu: Add Catch.
  2015-03-29 13:54   ` Ludovic Courtès
@ 2015-03-29 19:05     ` Eric Bavier
  0 siblings, 0 replies; 12+ messages in thread
From: Eric Bavier @ 2015-03-29 19:05 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On Sun, 29 Mar 2015 15:54:02 +0200
ludo@gnu.org (Ludovic Courtès) wrote:

> Eric Bavier <bavier@member.fsf.org> skribis:
> 
> > * gnu/packages/check.scm (catch-framework): New variable.
> 
> [...]
> 
> > +    (version "1.0.53")                  ;Sub-minor is the build number
> > +    (source (origin
> > +              (method git-fetch)
> > +              (uri (git-reference
> > +                    (url "https://github.com/philsquared/Catch")
> > +                    ;; Semi-arbitrary.  Contains mostly documentation fixes
> > +                    ;; since build 53.
> > +                    (commit "b9ec8a1")))
> 
> I guess there’s no 1.0.53 tarball?

No.  It seems they do not create release tarballs.  Their documentation
basically says to download the header file from the git repo.

`~Eric

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

* Re: [PATCH 2/3] gnu: Add UnQLite.
  2015-03-29 13:49   ` Ludovic Courtès
@ 2015-03-29 19:13     ` Eric Bavier
  2015-03-30  8:18       ` Ludovic Courtès
  0 siblings, 1 reply; 12+ messages in thread
From: Eric Bavier @ 2015-03-29 19:13 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On Sun, 29 Mar 2015 15:49:42 +0200
ludo@gnu.org (Ludovic Courtès) wrote:

> Eric Bavier <bavier@member.fsf.org> skribis:
> 
> > * gnu/packages/databases.scm (unqlite): New variable.
> 
> [...]
> 
> > +              ;; Contiains bug-fixes against the official release, and has an
>                        ^^^       ^
> Typo.

Thanks.

> > +              ;; autotooled build system.
> > +              (uri (string-append "https://github.com/aidin36/tocc/releases/"
> > +                                  "download/v1.0.0/"
> > +                                  "unqlite-unofficial-" version ".tar.gz"))
> 
> Still, it seems that we should be using the official version no?

The official distribution is somewhat of a mess.  The zip archive
requires a patch that must be applied during a build step because our
patch-and-repack can't handle "tarbombs".  There are not
installation scripts, and the trivial-build-system is much more
verbose.

> > +    (synopsis "NoSQL database engine")
> 
> “NoSQL” says what it’s not, but not what it is.  Maybe “In-memory
> key/value database” (IIUC) or something to that effect?

Yes, that would be more descriptive.  Perhaps "In-memory key/value and
document store".

> The rest LGTM.
> 
> Thanks!

Thank you for the review.

`~Eric

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

* Re: [PATCH 2/3] gnu: Add UnQLite.
  2015-03-29 19:13     ` Eric Bavier
@ 2015-03-30  8:18       ` Ludovic Courtès
  2015-03-30 11:27         ` David Thompson
  0 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2015-03-30  8:18 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel

Eric Bavier <bavier@member.fsf.org> skribis:

> The official distribution is somewhat of a mess.  The zip archive
> requires a patch that must be applied during a build step because our
> patch-and-repack can't handle "tarbombs".

What do you mean by “tarbombs”?

Ludo’.

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

* Re: [PATCH 2/3] gnu: Add UnQLite.
  2015-03-30  8:18       ` Ludovic Courtès
@ 2015-03-30 11:27         ` David Thompson
  2015-03-30 19:26           ` Ludovic Courtès
  0 siblings, 1 reply; 12+ messages in thread
From: David Thompson @ 2015-03-30 11:27 UTC (permalink / raw)
  To: Ludovic Courtès, Eric Bavier; +Cc: guix-devel

Ludovic Courtès <ludo@gnu.org> writes:

> Eric Bavier <bavier@member.fsf.org> skribis:
>
>> The official distribution is somewhat of a mess.  The zip archive
>> requires a patch that must be applied during a build step because our
>> patch-and-repack can't handle "tarbombs".
>
> What do you mean by “tarbombs”?

A tarball that doesn't store it's contents within a root directory, that
pollutes the directory you unpack it in.

-- 
David Thompson
Web Developer - Free Software Foundation - http://fsf.org
GPG Key: 0FF1D807
Support the FSF: https://fsf.org/donate

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

* Re: [PATCH 2/3] gnu: Add UnQLite.
  2015-03-30 11:27         ` David Thompson
@ 2015-03-30 19:26           ` Ludovic Courtès
  0 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2015-03-30 19:26 UTC (permalink / raw)
  To: David Thompson; +Cc: guix-devel

David Thompson <dthompson2@worcester.edu> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Eric Bavier <bavier@member.fsf.org> skribis:
>>
>>> The official distribution is somewhat of a mess.  The zip archive
>>> requires a patch that must be applied during a build step because our
>>> patch-and-repack can't handle "tarbombs".
>>
>> What do you mean by “tarbombs”?
>
> A tarball that doesn't store it's contents within a root directory, that
> pollutes the directory you unpack it in.

Oh OK, I didn’t know there was a name for that.  :-)

So indeed, ‘patch-and-repack’ doesn’t handle it, and the ‘unpack’ phase
may not do what you’d expect, assuming there is something to be
expected.

Ludo’.

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

end of thread, other threads:[~2015-03-30 19:26 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-27 21:24 [PATCH 0/3] Add tocc Eric Bavier
2015-03-27 21:24 ` [PATCH 1/3] gnu: Add Catch Eric Bavier
2015-03-29 13:54   ` Ludovic Courtès
2015-03-29 19:05     ` Eric Bavier
2015-03-27 21:24 ` [PATCH 2/3] gnu: Add UnQLite Eric Bavier
2015-03-29 13:49   ` Ludovic Courtès
2015-03-29 19:13     ` Eric Bavier
2015-03-30  8:18       ` Ludovic Courtès
2015-03-30 11:27         ` David Thompson
2015-03-30 19:26           ` Ludovic Courtès
2015-03-27 21:24 ` [PATCH 3/3] gnu: Add tocc Eric Bavier
2015-03-29 13:51   ` Ludovic Courtès

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).