~ruther/guix-local

fb8a5d633abad0f39027a9d3840cecbf9b4ec521 — Tobias Geerinckx-Rice 9 years ago f82ce8f
gnu: Add encfs.

* gnu/packages/crypto.scm (rlog, encfs): New variables.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
1 files changed, 75 insertions(+), 0 deletions(-)

M gnu/packages/crypto.scm
M gnu/packages/crypto.scm => gnu/packages/crypto.scm +75 -0
@@ 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.
;;;


@@ 22,10 23,14 @@
(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