From 083ce0ad5ecd10c6033bbdef5ddfcc2f58a7b800 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 11 Nov 2018 18:29:48 -0500 Subject: gnu: Add APFS-FUSE. * gnu/packages/file-systems.scm (apfs-fuse): New variable. --- gnu/packages/file-systems.scm | 49 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index f250719bbd..93d1561948 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Gábor Boskovits ;;; Copyright © 2017, 2018 Ricardo Wurmus +;;; Copyright © 2018 Leo Famulari ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,6 +24,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix utils) #:use-module (gnu packages) @@ -245,3 +247,50 @@ All of this is accomplished without a centralized metadata server.") (description "This is a file system client based on the FTP File Transfer Protocol.") (license license:gpl2+))) + +(define-public apfs-fuse + (let ((commit "c7036a3030d128bcecefc1eabc47c039ccfdcec9") + (revision "0")) + (package + (name "apfs-fuse") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sgan81/apfs-fuse") + (recursive? #t) ; for lzfse + (commit commit))) + (sha256 + (base32 + "1akd4cx1f9cyq6sfk9ybv4chhjwjlnqi8ic4z5ajnd5x0g76nz3r")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No test suite + #:phases + (modify-phases %standard-phases + ;; No 'install' target in CMakeLists.txt + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (lib (string-append out "/lib")) + (doc (string-append out "/share/doc/" + (string-append ,name "-" ,version)))) + (install-file "apfs-dump" bin) + (install-file "apfs-dump-quick" bin) + (install-file "apfs-fuse" bin) + (install-file "libapfs.a" lib) + (install-file "../source/LICENSE" doc) + #t)))))) + (inputs + `(("bzip2" ,bzip2) + ("fuse" ,fuse) + ("zlib" ,zlib))) + (synopsis "Read-only FUSE driver for the APFS filesystem") + (description "APFS-FUSE is a read-only FUSE driver for the @dfn{Apple File +System} (APFS). It is currently in an experimental state — it may not be able +to read all files, and it does not support all the compression methods in +APFS.") + (home-page "https://github.com/sgan81/apfs-fuse") + (license license:gpl2+)))) -- cgit v1.2.3