about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/filesystems/securefs/add-macfuse-support.patch
blob: 217f637ff9dbeee6f244e1b3b9024814aac7721b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
From 8c65c2219976c02a68e27c28156ec0c4c02857e0 Mon Sep 17 00:00:00 2001
From: midchildan <git@midchildan.org>
Date: Sun, 28 Mar 2021 23:39:59 +0900
Subject: [PATCH] Support the latest FUSE on macOS

This drops osxfuse support in favor of macFUSE. macFUSE is a newer
version of osxfuse that supports the latest release of macOS, and is a
rebranded version of the same project.
---
 CMakeLists.txt             |  8 ++----
 LICENSE.md                 | 58 ++++++++++++++++++++------------------
 README.md                  |  2 +-
 sources/commands.cpp       |  6 ----
 4 files changed, 33 insertions(+), 41 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7b5e57d..c176554 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,12 +18,8 @@ git_describe(GIT_VERSION --tags)
 configure_file(${CMAKE_SOURCE_DIR}/sources/git-version.cpp.in ${CMAKE_BINARY_DIR}/git-version.cpp)
 
 if (UNIX)
-    find_path(FUSE_INCLUDE_DIR fuse.h PATHS /usr/local/include PATH_SUFFIXES osxfuse)
-    if (APPLE)
-        find_library(FUSE_LIBRARIES osxfuse PATHS /usr/local/lib)
-    else()
-        find_library(FUSE_LIBRARIES fuse PATHS /usr/local/lib)
-    endif()
+    find_path(FUSE_INCLUDE_DIR fuse.h PATHS /usr/local/include)
+    find_library(FUSE_LIBRARIES fuse PATHS /usr/local/lib)
     include_directories(${FUSE_INCLUDE_DIR})
     link_libraries(${FUSE_LIBRARIES})
     add_compile_options(-Wall -Wextra -Wno-unknown-pragmas)
diff --git a/LICENSE.md b/LICENSE.md
index a8f920c..b134532 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -758,13 +758,11 @@ Public License instead of this License.
 
 ------------------------------------------------------------------------------
 
-# [osxfuse] (https://github.com/osxfuse/osxfuse)
+# [macFUSE] (https://github.com/osxfuse/osxfuse)
 
-FUSE for macOS is a software developed by the osxfuse project and is covered
-under the following BSD-style license:
+macFUSE is covered under the following license:
 
-  Copyright (c) 2011-2016 Benjamin Fleischer
-  Copyright (c) 2011-2012 Erik Larsson
+  Copyright (c) 2011-2021 Benjamin Fleischer
   All rights reserved.
 
   Redistribution  and  use  in  source  and  binary  forms,  with   or   without
@@ -775,9 +773,13 @@ under the following BSD-style license:
   2. Redistributions in binary form must reproduce the above  copyright  notice,
      this list of conditions and the following disclaimer in  the  documentation
      and/or other materials provided with the distribution.
-  3. Neither the name of osxfuse nor the names of its contributors may  be  used
-     to endorse or promote products derived from this software without  specific
-     prior written permission.
+  3. Neither the name of the copyright holder nor the names of its  contributors
+     may be used to endorse or  promote  products  derived  from  this  software 
+     without specific prior written permission.
+  4. Redistributions in binary form, bundled with commercial software,  are  not
+     allowed without  specific  prior  written  permission.  This  includes  the
+     automated download or installation or  both  of  the  binary  form  in  the
+     context of commercial software.
 
   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND  CONTRIBUTORS  "AS  IS"
   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,  BUT  NOT  LIMITED  TO,  THE
@@ -791,9 +793,9 @@ under the following BSD-style license:
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN  IF  ADVISED  OF  THE
   POSSIBILITY OF SUCH DAMAGE.
 
-FUSE for macOS is a fork of MacFUSE. MacFUSE has been developed by Google Inc..
-Additional information and the original source of MacFUSE are available on
-http://code.google.com/p/macfuse/. MacFUSE is covered under the following
+macFUSE is a fork of the legacy Google MacFUSE software. Additional information
+and the original source code of Google MacFUSE are available on
+http://code.google.com/p/macfuse/. Google MacFUSE is covered under the following
 BSD-style license:
 
   Copyright (c) 2007—2009 Google Inc.
@@ -830,9 +832,9 @@ BSD-style license:
 Portions of this package were derived from code developed by other authors.
 Please read further for specific details.
 
-* Unless otherwise noted, parts of the FUSE for macOS kernel extension contain
-  code derived from the FreeBSD version of FUSE, which is covered under the
-  following BSD-style license:
+* Unless otherwise noted, parts of the macFUSE kernel extension contain code
+  derived from the FreeBSD version of FUSE, which is covered under the following
+  BSD-style license:
 
     Copyright (C) 2005 Csaba Henk. All rights reserved.
 
@@ -856,12 +858,13 @@ Please read further for specific details.
     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT  OF  THE  USE  OF
     THIS  SOFTWARE,  EVEN  IF  ADVISED  OF  THE  POSSIBILITY  OF  SUCH   DAMAGE.
 
-* Parts of the FUSE for macOS kernel extension contain code derived from Tuxera
-  Inc.'s "rebel" branch. The original source of the "rebel" branch is available
-  on https://github.com/tuxera. These modifications are covered under the
-  following BSD-style license:
+* Parts of the macFUSE kernel extension contain code derived from Tuxera's
+  "rebel" branch. The original source code of the "rebel" branch is available on
+  https://github.com/tuxera. These modifications are covered under the following
+  BSD-style license:
 
     Copyright (c) 2010 Tuxera Inc.
+    Copyright (c) 2011-2012 Erik Larsson
     All rights reserved.
 
     Redistribution  and  use  in  source  and  binary  forms,  with  or  without
@@ -888,9 +891,9 @@ Please read further for specific details.
     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED  OF  THE
     POSSIBILITY OF SUCH DAMAGE.
 
-* Parts of FUSE for macOS contain code derived from Fuse4X. The original source
-  of Fuse4X is available on https://github.com/fuse4x. Fuse4X is covered under
-  the following BSD-style license:
+* Parts of macFUSE contain code derived from Fuse4X. The original source code of
+  Fuse4X is available on https://github.com/fuse4x. Fuse4X is covered under the
+  following BSD-style license:
 
     Copyright (c) 2011 Anatol Pomozov
     All rights reserved.
@@ -916,21 +919,20 @@ Please read further for specific details.
     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED  OF  THE
     POSSIBILITY OF SUCH DAMAGE.
 
-* Parts of the mount_osxfuse command-line program are covered under the Apple
+* Parts of the mount_macfuse command-line program are covered under the Apple
   Public Source License (APSL). You can read the APSL at:
 
     http://www.opensource.apple.com/license/apsl/
 
-* fuse_kernel.h is an unmodified copy of the interface header from the Linux
+* fuse_kernel.h is a modified copy of the interface header from the Linux
   FUSE distribution (https://github.com/libfuse/libfuse). fuse_kernel.h can be
   redistributed either under the GPL or under the BSD license. It is being
   redistributed here under the BSD license.
 
-* fuse_nodehash.c is a slightly modified version of HashNode.c from an
-  Apple Developer Technical Support (DTS) sample code example. The original
-  source, which is available on
-  http://developer.apple.com/library/mac/#samplecode/MFSLives/, has the
-  following disclaimer:
+* fuse_nodehash.c is a modified version of HashNode.c from an Apple Developer
+  Technical Support (DTS) sample code example. The original source, which is
+  available on http://developer.apple.com/library/mac/#samplecode/MFSLives/,
+  has the following disclaimer:
 
     Disclaimer: IMPORTANT: This Apple software  is  supplied  to  you  by  Apple
     Computer, Inc.  Apple") in consideration of your agreement to the  following
diff --git a/README.md b/README.md
index 9085e96..6fe3592 100644
--- a/README.md
+++ b/README.md
@@ -28,7 +28,7 @@ There are already many encrypting filesystem in widespread use. Some notable one
 
 ### macOS
 
-Install with [Homebrew](https://brew.sh). [osxfuse](https://osxfuse.github.io) has to be installed beforehand.
+Install with [Homebrew](https://brew.sh). [macFUSE](https://osxfuse.github.io) has to be installed beforehand.
 ```
 brew install securefs
 ```
diff --git a/sources/commands.cpp b/sources/commands.cpp
index a371212..862602b 100644
--- a/sources/commands.cpp
+++ b/sources/commands.cpp
@@ -1252,12 +1252,6 @@ class VersionCommand : public CommandBase
                 printf("WinFsp %u.%u\n", vn >> 16, vn & 0xFFFFu);
             }
         }
-#elif defined(__APPLE__)
-        typedef const char* version_function(void);
-        auto osx_version_func
-            = reinterpret_cast<version_function*>(::dlsym(RTLD_DEFAULT, "osxfuse_version"));
-        if (osx_version_func)
-            printf("osxfuse %s\n", osx_version_func());
 #else
         typedef int version_function(void);
         auto fuse_version_func