summary refs log tree commit diff
path: root/gnu/packages/file-systems.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/file-systems.scm')
-rw-r--r--gnu/packages/file-systems.scm85
1 files changed, 80 insertions, 5 deletions
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index ce1155c755..293322c76b 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -3,7 +3,8 @@
 ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
 ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -44,10 +45,12 @@
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnupg)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages nfs)
   #:use-module (gnu packages onc-rpc)
+  #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages readline)
@@ -56,6 +59,77 @@
   #:use-module (gnu packages valgrind)
   #:use-module (gnu packages xml))
 
+(define-public fsarchiver
+  (package
+    (name "fsarchiver")
+    (version "0.8.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/fdupoux/fsarchiver.git")
+         (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1rvwq5v3rl14bqxjm1ibfapyicf0sa44nw7451v10kx39lp56ylp"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("bzip2" ,bzip2)
+       ("e2fsprogs" ,e2fsprogs)
+       ("libgcrypt" ,libgcrypt)
+       ("lz4" ,lz4)
+       ("lzo" ,lzo)
+       ("util-linux" ,util-linux "lib")
+       ("xz" ,xz)
+       ("zlib" ,zlib)
+       ("zstd:lib" ,zstd "lib")))
+    (synopsis "File system back-up, deployment, and migration tool")
+    (description
+     "FSArchiver saves the contents of a file system to a compressed archive
+file, and restores it to a different file system and/or partition.  This
+partition can be of a different size than the original and FSArchiver will
+create a new file system if none exists.
+
+All standard file attributes supported by the kernel are preserved, including
+file permissions, timestamps, symbolic and hard links, and extended attributes.
+
+Each file in the archive is protected by a checksum.  If part of the archive
+is corrupted you'll lose the affected file(s) but not the whole back-up.")
+    (home-page "http://www.fsarchiver.org/")
+    (license license:gpl2)))
+
+(define-public gphotofs
+  (package
+    (name "gphotofs")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/gphoto/gphotofs/" version
+                       "/gphotofs-0.5.tar.gz"))
+       (sha256
+        (base32
+         "04slwhr6ap9xcc27wphk22ad8yn79ngyy5z10lxams3k5liahvc2"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("fuse" ,fuse)
+       ("glib" ,glib)
+       ("libgphoto2" ,libgphoto2)))
+    (synopsis "Virtual filesystem for libgphoto2 using FUSE")
+    (description "GPhotoFS is a FUSE filesystem module to mount your camera as
+a filesystem on Linux.  This allow using your camera with any tool able to read
+from a mounted filesystem.")
+    (home-page "http://www.gphoto.org/proj/gphotofs/")
+    (license license:gpl2+)))
+
 (define-public bcachefs-tools
   (let ((commit "ab2f1ec24f5307b0cf1e3c4ad19bf350d9f54d9f")
         (revision "0"))
@@ -94,7 +168,7 @@
          ("libscrypt" ,libscrypt)
          ("libsodium" ,libsodium)
          ("liburcu" ,liburcu)
-         ("util-linux" ,util-linux)     ; lib{blkid,uuid}
+         ("util-linux" ,util-linux "lib") ; lib{blkid,uuid}
          ("lz4" ,lz4)
          ("zlib" ,zlib)
          ("zstd:lib" ,zstd "lib")))
@@ -186,7 +260,7 @@ single file can be mounted.")
                                 "jfsutils-include-systypes.patch"))))
     (build-system gnu-build-system)
     (inputs
-     `(("util-linux" ,util-linux)))
+     `(("util-linux" ,util-linux "lib")))
     (home-page "http://jfs.sourceforge.net/home.html")
     (synopsis "Utilities for managing JFS file systems")
     (description
@@ -330,7 +404,7 @@ non-determinism in the build process.")
        ("fuse", fuse)
        ("openssl" ,openssl)
        ("liburcu" ,liburcu)
-       ("libuuid" ,util-linux)
+       ("libuuid" ,util-linux "lib")
        ("libxml2" ,libxml2)
        ("readline" ,readline)
        ("zlib" ,zlib)
@@ -553,6 +627,7 @@ APFS.")
                #t))))))
     (native-inputs
      `(("attr" ,attr)
+       ("kmod" ,kmod)
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("eudev" ,eudev)
@@ -562,7 +637,7 @@ APFS.")
        ("openssl" ,openssl)
        ("python" ,python)
        ("python-cffi" ,python-cffi)
-       ("util-linux" ,util-linux)
+       ("util-linux" ,util-linux "lib")
        ("zlib" ,zlib)))
     (home-page "https://zfsonlinux.org/")
     (synopsis "Native ZFS on Linux")