gnu: Add encfs.
authorTobias Geerinckx-Rice <me@tobias.gr>
Sat, 16 Jul 2016 00:35:35 +0000 (02:35 +0200)
committerLudovic Courtès <ludo@gnu.org>
Sat, 16 Jul 2016 12:41:39 +0000 (14:41 +0200)
* gnu/packages/crypto.scm (rlog, encfs): New variables.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu/packages/crypto.scm

index 041dc20..7d61164 100644 (file)
@@ -3,6 +3,7 @@
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
+;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
 (define-module (gnu packages crypto)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages boost)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages libbsd)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages nettle)
   #:use-module (gnu packages password-utils)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages tls)
@@ -148,3 +153,73 @@ OpenBSD tool of the same name.")
 be used to manage peer-to-peer network connections as needed for real time
 communication.")
     (license license:gpl3)))
+
+(define rlog
+  (package
+    (name "rlog")
+    (version "1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "http://rlog.googlecode.com/files/rlog-"
+                       version ".tar.gz"))
+       (sha256
+        (base32
+         "0y9zg0pd7vmnskwac1qdyzl282z7kb01nmn57lsg2mjdxgnywf59"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (add-before 'configure 'patch-/bin/sh
+                    (lambda _
+                      (substitute* "docs/Makefile.in"
+                        (("/bin/sh") "sh")))))))
+    (home-page "http://www.arg0.net/rlog")
+    (synopsis "Flexible message logging library for EncFS")
+    (description
+     "RLog provides message logging for EncFS.  It is no longer maintained.")
+    (license license:lgpl2.1+)))
+
+(define-public encfs
+  (package
+    (name "encfs")
+    (version "1.8.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://github.com/vgough/encfs/releases/download/v"
+                       version "/encfs-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1lfmcsk187qr6ahy8c8959p7jrk9d5rd9kcsx572850ca3zmf0la"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags '("--with-boost-serialization=boost_wserialization"
+                           "--with-boost-filesystem=boost_filesystem")
+       #:phases (modify-phases %standard-phases
+                  (add-before 'configure 'autoconf
+                    (lambda _
+                      (zero? (system* "autoreconf" "-vfi")))))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("gettext" ,gnu-gettext)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("boost" ,boost)
+       ("fuse" ,fuse)
+       ("openssl" ,openssl)
+       ("rlog" ,rlog)))
+    (home-page "https://vgough.github.io/encfs")
+    (synopsis "Encrypted virtual file system")
+    (description
+     "EncFS creates a virtual encrypted file system in user-space.  Each file
+created under an EncFS mount point is stored as a separate encrypted file on
+the underlying file system.  Like most encrypted file systems, EncFS is meant
+to provide security against off-line attacks, such as a drive falling into
+the wrong hands.")
+    (license (list license:lgpl3+                 ;encfs library
+                   license:gpl3+))))              ;command-line tools