guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 3/3] gnu: Add encfs.


From: Tobias Geerinckx-Rice
Subject: [PATCH 3/3] gnu: Add encfs.
Date: Thu, 14 Jul 2016 17:07:26 +0200

* gnu/packages/crypto.scm (encfs): New variable.
* gnu/packages/logging.scm (rlog): New variable.
---

rlog started off as a non-public variable in crypto.scm, but that
annoyed me and I moved it to logging.scm. It's very encfs-specific
(and will be removed again in EncFS 1.9), though.

Does it warrant its own commit? Or not even a public variable? Thoughts?

 gnu/packages/crypto.scm  | 50 ++++++++++++++++++++++++++++++++++++++++++++++++
 gnu/packages/logging.scm | 29 ++++++++++++++++++++++++++++
 2 files changed, 79 insertions(+)

diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 041dc20..ad566ad 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -3,6 +3,7 @@
 ;;; Copyright ?? 2015 Ricardo Wurmus <address@hidden>
 ;;; Copyright ?? 2016 Leo Famulari <address@hidden>
 ;;; Copyright ?? 2016 Lukas Gradl <address@hidden>
+;;; Copyright ?? 2016 Tobias Geerinckx-Rice <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,10 +23,15 @@
 (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 logging)
   #: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 +154,47 @@ 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-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:lgpl2.1+     ; encfs library
+                   license:gpl3+))))    ; command-line tools
diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm
index c40d6eb..b021d58 100644
--- a/gnu/packages/logging.scm
+++ b/gnu/packages/logging.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright ?? 2016 Ricardo Wurmus <address@hidden>
 ;;; Copyright ?? 2016 Ludovic Court??s <address@hidden>
+;;; Copyright ?? 2016 Tobias Geerinckx-Rice <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -88,3 +89,31 @@ helper macros.  You can log a message by simply streaming 
things to log at a
 particular severity level.  It allows logging to be controlled from the
 command line.")
     (license license:bsd-3)))
+
+(define-public 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 a flexible message logging facility for C++ programs
+and libraries.  It was originally the internal logging mechanism of EncFS
+but was subsequently broken out into a separate package.")
+    (license license:lgpl2.1+)))
-- 
2.9.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]