mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-28 07:12:30 -05:00
gnu: Add davfs2.
* gnu/packages/file-systems.scm (davfs2): New public variable.
This commit is contained in:
parent
6a7e912aee
commit
c92ec09580
1 changed files with 74 additions and 0 deletions
|
@ -68,6 +68,7 @@ (define-module (gnu packages file-systems)
|
|||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages valgrind)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public autofs
|
||||
|
@ -182,6 +183,79 @@ (define-public bindfs
|
|||
@end itemize ")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public davfs2
|
||||
(package
|
||||
(name "davfs2")
|
||||
(version "1.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.savannah.nongnu.org/releases/"
|
||||
"davfs2/davfs2-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0l1vnv5lfigciwg17p10zxwhzj4qw2d9kw30prr7g4dxhmb6fsrf"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "--sysconfdir=/etc" ; so man pages & binaries contain /etc
|
||||
(string-append "--docdir=" (assoc-ref %outputs "out")
|
||||
"/share/doc/" ,name "-" ,version)
|
||||
(string-append "ssbindir=" (assoc-ref %outputs "out") "/sbin")
|
||||
;; The default ‘davfs2’ user and group don't exist on most systems.
|
||||
"dav_user=nobody"
|
||||
"dav_group=nogroup")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'omit-redundancy
|
||||
;; Don't install redundant copies of /etc examples into /share.
|
||||
(lambda _
|
||||
(substitute* "etc/Makefile.in"
|
||||
(("(dist_pkgdata_DATA =.*) davfs2.conf secrets(.*)"
|
||||
_ prefix suffix)
|
||||
(string-append prefix suffix)))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-file-names
|
||||
(lambda _
|
||||
;; Don't auto-load the FUSE kernel module. That's up to root.
|
||||
;; XXX If/when we restore the previous behaviour, make sure not
|
||||
;; to introduce a security hole when mount.davfs is setuid.
|
||||
(substitute* "src/kernel_interface.c"
|
||||
(("/sbin/modprobe") "/modprobe/disabled"))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key make-flags outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(apply invoke "make" "install"
|
||||
(string-append "pkgsysconfdir=" out "/etc")
|
||||
make-flags)))))))
|
||||
(inputs
|
||||
`(("neon" ,neon)
|
||||
|
||||
;; Neon requires but doesn't propagate zlib, nor would we want that.
|
||||
;; XZ as well, but that's already present in the build environment.
|
||||
("zlib" ,zlib)))
|
||||
(home-page "https://savannah.nongnu.org/projects/davfs2")
|
||||
(synopsis "Mount remote WebDAV resources in the local file system")
|
||||
(description
|
||||
"The @acronym{WebDAV, Web Distributed Authoring and Versioning} extension
|
||||
to the HTTP protocol defines a standard way to author resources on a remote Web
|
||||
server. Davfs2 exposes such resources as a typical filesystem which can be used
|
||||
by standard applications with no built-in support for WebDAV, such as the GNU
|
||||
coreutils (@command{cp}, @command{mv}, etc.) or a graphical word processor.
|
||||
|
||||
Davfs2 works with most WebDAV servers with no or little configuration. It
|
||||
supports TLS (HTTPS), HTTP proxies, HTTP basic and digest authentication, and
|
||||
client certificates. It performs extensive caching to avoid unnecessary network
|
||||
traffic, stay responsive even over slow or unreliable connections, and prevent
|
||||
data loss. It aims to make use by unprivileged users as easy and secure as
|
||||
possible.
|
||||
|
||||
However, davfs2 is not a full-featured WebDAV client. The file system interface
|
||||
and the WebDAV protocol are quite different. Translating between the two is not
|
||||
always possible.")
|
||||
(license (list license:bsd-2 ; src/fuse_kernel.h
|
||||
license:gpl3+)))) ; everything else
|
||||
|
||||
(define-public fsarchiver
|
||||
(package
|
||||
(name "fsarchiver")
|
||||
|
|
Loading…
Reference in a new issue