diff --git a/.github/workflows/autobump.yml b/.github/workflows/autobump.yml deleted file mode 100644 index 7706001..0000000 --- a/.github/workflows/autobump.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: "Autobump specific formulae" -on: - schedule: - - cron: "15 2-23/4 * * *" - -jobs: - autobump: - runs-on: ubuntu-latest - steps: - - name: Update Homebrew formula - uses: dawidd6/action-homebrew-bump-formula@v4 - with: - # Required, custom personal GitHub access token with only the 'public_repo' scope enabled - token: ${{secrets.AUTOBUMP_TOKEN}} - # Optional, will commit with this user name - user_name: gromgit - # Optional, will commit with this user email - user_email: the.gromgit@gmail.com - # Optional, will create tap repo fork in organization - # org: ORG - # Bump all outdated formulae in this tap - tap: gromgit/fuse - # Bump only these formulae if outdated - # formula: mint-lang,vlang-weekly - # Optional, if don't want to check for already open PRs - force: false # true - # Need to set this input if want to use `brew livecheck` - livecheck: true diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5f145bf..061acfd 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,45 +1,33 @@ name: brew pr-pull - on: pull_request_target: types: - labeled - jobs: pr-pull: if: contains(github.event.pull_request.labels.*.name, 'pr-pull') - runs-on: ubuntu-22.04 - permissions: - actions: read - checks: read - contents: write - issues: read - packages: write - pull-requests: write + runs-on: ubuntu-latest steps: - name: Set up Homebrew - uses: Homebrew/actions/setup-homebrew@main - with: - token: ${{ secrets.GITHUB_TOKEN }} + uses: Homebrew/actions/setup-homebrew@master - name: Set up git - uses: Homebrew/actions/git-user-config@main + uses: Homebrew/actions/git-user-config@master - name: Pull bottles env: - HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} - HOMEBREW_GITHUB_PACKAGES_TOKEN: ${{ secrets.GITHUB_TOKEN }} - HOMEBREW_GITHUB_PACKAGES_USER: ${{ github.repository_owner }} + HOMEBREW_GITHUB_API_TOKEN: ${{ github.token }} PULL_REQUEST: ${{ github.event.pull_request.number }} - run: brew pr-pull --debug --tap="$GITHUB_REPOSITORY" "$PULL_REQUEST" + run: brew pr-pull --debug --tap=$GITHUB_REPOSITORY $PULL_REQUEST - name: Push commits - uses: Homebrew/actions/git-try-push@main + uses: Homebrew/actions/git-try-push@master with: + token: ${{ github.token }} branch: main - name: Delete branch if: github.event.pull_request.head.repo.fork == false env: BRANCH: ${{ github.event.pull_request.head.ref }} - run: git push --delete origin "$BRANCH" + run: git push --delete origin $BRANCH diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index a127b4a..746a5cc 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,30 +1,30 @@ name: brew test-bot - on: push: - branches: - - main + branches: main pull_request: - jobs: test-bot: strategy: matrix: - os: [macos-14, macos-15, macos-26] + os: [macOS-latest] runs-on: ${{ matrix.os }} steps: - name: Set up Homebrew id: set-up-homebrew - uses: Homebrew/actions/setup-homebrew@main + uses: Homebrew/actions/setup-homebrew@master - name: Cache Homebrew Bundler RubyGems - uses: actions/cache@v4 + id: cache + uses: actions/cache@v1 with: path: ${{ steps.set-up-homebrew.outputs.gems-path }} - key: ${{ matrix.os }}-rubygems-${{ steps.set-up-homebrew.outputs.gems-hash }} - restore-keys: ${{ matrix.os }}-rubygems- + key: ${{ runner.os }}-rubygems-${{ steps.set-up-homebrew.outputs.gems-hash }} + restore-keys: ${{ runner.os }}-rubygems- - - run: brew install --cask macfuse + - name: Install Homebrew Bundler RubyGems + if: steps.cache.outputs.cache-hit != 'true' + run: brew install-bundler-gems - run: brew test-bot --only-cleanup-before @@ -32,12 +32,12 @@ jobs: - run: brew test-bot --only-tap-syntax - - run: brew test-bot --verbose --debug --only-formulae --root-url='https://ghcr.io/v2/gromgit/fuse' + - run: brew test-bot --only-formulae if: github.event_name == 'pull_request' - name: Upload bottles as artifact if: always() && github.event_name == 'pull_request' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@main with: - name: bottles_${{ matrix.os }} + name: bottles path: '*.bottle.*' diff --git a/Formula/afuse-mac.rb b/Formula/afuse-mac.rb deleted file mode 100644 index 39bb381..0000000 --- a/Formula/afuse-mac.rb +++ /dev/null @@ -1,33 +0,0 @@ -require_relative "../require/macfuse" - -class AfuseMac < Formula - desc "Automounting file system implemented in userspace with FUSE" - homepage "https://github.com/pcarrier/afuse/" - url "https://github.com/pcarrier/afuse.git", - tag: "v0.5.0", - revision: "d7f07c32e58850fa092bb98b53c5c570fed8be69" - license "GPL-2.0-only" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "d0b0e74b43c27ce951eec136e4c45a98c43edc39cceeb95418f43c2d5bfa9afe" - sha256 cellar: :any, ventura: "81eac9045ff5882fa86b3e40c6562bbed06cf1346ec5fb368033511cab03c982" - end - - depends_on "autoconf" => :build - depends_on "automake" => :build - depends_on "pkg-config" => :build - depends_on MacfuseRequirement - depends_on :macos - - def install - setup_fuse - system "./autogen.sh" - system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}" - system "make", "install" - end - - test do - assert_match "FUSE library version", pipe_output("#{bin}/afuse --version 2>&1") - end -end diff --git a/Formula/archivemount-mac.rb b/Formula/archivemount-mac.rb deleted file mode 100644 index 3837be8..0000000 --- a/Formula/archivemount-mac.rb +++ /dev/null @@ -1,31 +0,0 @@ -require_relative "../require/macfuse" - -class ArchivemountMac < Formula - desc "File system for accessing archives using libarchive" - homepage "https://git.sr.ht/~nabijaczleweli/archivemount-ng" - url "https://git.sr.ht/~nabijaczleweli/archivemount-ng/archive/1b.tar.gz" - version "1b" - sha256 "de10cfee3bff8c1dd2b92358531d3c0001db36a99e1098ed0c9d205d110e903d" - license "LGPL-2.0-or-later" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any, arm64_tahoe: "e0aa81ce9ae8fb880b340b02077e03acaf1d4f489554a411bf4430ba3a558f31" - sha256 cellar: :any, arm64_sequoia: "fa4e1c0bbd16a705f0746d9c1721e3a5ebf9fc664b49291dd0390129542595ae" - sha256 cellar: :any, arm64_sonoma: "ab28653f06c95589c740800b90187182cf45abffa2dda25146881dceaa963152" - end - - depends_on "pkgconf" => :build - depends_on "libarchive" - depends_on MacfuseRequirement - depends_on :macos - - def install - setup_fuse3 - system "make", "PREFIX=#{prefix}", "install" - end - - test do - system bin/"archivemount", "--version" - end -end diff --git a/Formula/avfs-mac.rb b/Formula/avfs-mac.rb deleted file mode 100644 index cfc883e..0000000 --- a/Formula/avfs-mac.rb +++ /dev/null @@ -1,48 +0,0 @@ -require_relative "../require/macfuse" - -class AvfsMac < Formula - desc "Virtual file system that facilitates looking inside archives" - homepage "https://avf.sourceforge.io/" - url "https://downloads.sourceforge.net/project/avf/avfs/1.2.0/avfs-1.2.0.tar.bz2" - sha256 "a25a8ec43c1ee172624e1a4c79ce66a1b930841cdb545b725f1ec64bcabe889c" - license all_of: [ - "GPL-2.0-only", - "LGPL-2.0-only", # for shared library - "GPL-2.0-or-later", # modules/dav_ls.c - "Zlib", # zlib/* - ] - - livecheck do - url :stable - regex(%r{url=.*?/avfs[._-]v?(\d+(?:\.\d+)+)\.t}i) - end - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 arm64_sonoma: "925ae6c3197657008289364ab4549266ea0a4a1a782314d6759eb97571f5d5e3" - sha256 ventura: "0d46af6e0d31f778779b687dc7adadbf1afac641e2c2e35f8c837726ab635c37" - end - - depends_on "pkgconf" => :build - depends_on "bzip2" - depends_on MacfuseRequirement - depends_on :macos - depends_on "xz" - depends_on "zlib" - - def install - setup_fuse - system "./configure", "--disable-silent-rules", - "--enable-fuse", - "--enable-library", - "--with-system-zlib", - "--with-system-bzlib", - "--with-xz", - *std_configure_args - system "make", "install" - end - - test do - system bin/"avfsd", "--version" - end -end diff --git a/Formula/bindfs-mac.rb b/Formula/bindfs-mac.rb deleted file mode 100644 index 9cfa455..0000000 --- a/Formula/bindfs-mac.rb +++ /dev/null @@ -1,40 +0,0 @@ -require_relative "../require/macfuse" - -class BindfsMac < Formula - desc "FUSE file system for mounting to another location" - homepage "https://bindfs.org/" - url "https://bindfs.org/downloads/bindfs-1.18.0.tar.gz" - sha256 "46fcf95b871109265e93cd42e5ae282c722716488ad9f0da1e1f98535be37f7a" - license "GPL-2.0-or-later" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "18280a50ddee23ed3cfd05cb40e6a69a1d343ce118553f5098e9e9d289b66fb4" - sha256 cellar: :any, ventura: "a2c590ee0ca1bfc22e4e485b680490791e9a17812f8b9041c2469063280641e1" - end - - head do - url "https://github.com/mpartel/bindfs.git", branch: "master" - - depends_on "autoconf" => :build - depends_on "automake" => :build - depends_on "libtool" => :build - end - - depends_on "pkg-config" => :build - depends_on MacfuseRequirement - depends_on :macos - - def install - setup_fuse - # https://github.com/mpartel/bindfs/issues/163#issuecomment-2854763292 - ENV.append "CFLAGS", "-D_DARWIN_C_SOURCE" - configure = build.head? ? "./autogen.sh" : "./configure" - system configure, "--disable-macos-fs-link", *std_configure_args - system "make", "install" - end - - test do - system "#{bin}/bindfs", "-V" - end -end diff --git a/Formula/btfs-mac.rb b/Formula/btfs-mac.rb deleted file mode 100644 index 0c2d9ec..0000000 --- a/Formula/btfs-mac.rb +++ /dev/null @@ -1,42 +0,0 @@ -require_relative "../require/macfuse" - -class BtfsMac < Formula - desc "BitTorrent filesystem based on FUSE" - homepage "https://github.com/johang/btfs" - url "https://github.com/johang/btfs/archive/refs/tags/v2.24.tar.gz" - sha256 "d71ddefe3c572e05362542a0d9fd0240d8d4e1578ace55a8b3245176e7fd8935" - license "GPL-3.0-only" - revision 1 - head "https://github.com/johang/btfs.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any, arm64_sonoma: "71e05be0beb418720d313a63f10cfea741d648bf78630b497eb2c51a5003d319" - sha256 cellar: :any, ventura: "388cc358e3c9372768469b6b1021f43d8def07f372aaef6e3f5d2d80bc93be48" - end - - depends_on "autoconf" => :build - depends_on "automake" => :build - depends_on "pkgconf" => :build - depends_on "libtorrent-rasterbar" - depends_on MacfuseRequirement - depends_on :macos - - def install - setup_fuse - system "autoreconf", "--force", "--install", "--verbose" - system "./configure", *std_configure_args, "--disable-silent-rules" - system "make", "install" - end - - def caveats - <<~EOS - Mounting a torrent is fairly quick, but unmounting takes a long time. - Be patient. - EOS - end - - test do - assert_match version.to_s, shell_output("#{bin}/btfs --version 2>&1") - end -end diff --git a/Formula/cryfs-mac.rb b/Formula/cryfs-mac.rb deleted file mode 100644 index e22643a..0000000 --- a/Formula/cryfs-mac.rb +++ /dev/null @@ -1,63 +0,0 @@ -require_relative "../require/macfuse" - -class CryfsMac < Formula - desc "Encrypts your files so you can safely store them in Dropbox, iCloud, etc." - homepage "https://www.cryfs.org" - url "https://github.com/cryfs/cryfs/releases/download/1.0.3/cryfs-1.0.3.tar.xz" - sha256 "1f30cc406e5c811490ba14174518a797a80442bfff317a2fdfbc5d21205b9dfe" - license "LGPL-3.0-or-later" - head "https://github.com/cryfs/cryfs.git", branch: "develop" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any, arm64_tahoe: "cf79aa4893fe09f288540e992d1c8065cdab0344ada444ed4099c5e80fd5d910" - sha256 cellar: :any, arm64_sequoia: "009d5696e71ed22394ff67d5a9e45bfcf605d0d9347f9db7d6316bf336a5e1d7" - sha256 cellar: :any, arm64_sonoma: "ab98abc9ef34928585d59a7dd93a7d9de1cedadac40b7ab797c515ba06168b44" - end - - depends_on "cmake" => :build - depends_on "pkgconf" => :build - depends_on "python@3.13" => :build - depends_on "boost" - depends_on "curl" - depends_on "fmt" - depends_on "libomp" - depends_on MacfuseRequirement - depends_on :macos - depends_on "range-v3" - depends_on "spdlog" - - def install - setup_fuse - libomp = Formula["libomp"] - libomp_args = [ - "-DBUILD_TESTING=off", - "-DOpenMP_CXX_FLAGS='-Xpreprocessor -fopenmp -I#{libomp.include}'", - "-DOpenMP_CXX_LIB_NAMES=omp", - "-DOpenMP_omp_LIBRARY=#{libomp.lib}/libomp.dylib", - ] - - system "cmake", "-B", "build", "-S", ".", - "-DCRYFS_UPDATE_CHECKS=OFF", - "-DDEPENDENCY_CONFIG=cmake-utils/DependenciesFromLocalSystem.cmake", - *libomp_args, *std_cmake_args - system "cmake", "--build", "build" - system "cmake", "--install", "build" - end - - test do - ENV["CRYFS_FRONTEND"] = "noninteractive" - - # Test showing help page - assert_match "CryFS", shell_output("#{bin}/cryfs 2>&1", 10) - - # Test mounting a filesystem. This command will ultimately fail because homebrew tests - # don't have the required permissions to mount fuse filesystems, but before that - # it should display "Mounting filesystem". If that doesn't happen, there's something - # wrong. For example there was an ABI incompatibility issue between the crypto++ version - # the cryfs bottle was compiled with and the crypto++ library installed by homebrew to. - mkdir "basedir" - mkdir "mountdir" - assert_match "Operation not permitted", pipe_output("#{bin}/cryfs -f basedir mountdir 2>&1", "password") - end -end diff --git a/Formula/curlftpfs-mac.rb b/Formula/curlftpfs-mac.rb deleted file mode 100644 index 20aac84..0000000 --- a/Formula/curlftpfs-mac.rb +++ /dev/null @@ -1,38 +0,0 @@ -require_relative "../require/macfuse" - -class CurlftpfsMac < Formula - desc "Filesystem for accessing FTP hosts based on FUSE and libcurl" - homepage "https://curlftpfs.sourceforge.net/" - url "https://downloads.sourceforge.net/project/curlftpfs/curlftpfs/0.9.2/curlftpfs-0.9.2.tar.gz" - sha256 "4eb44739c7078ba0edde177bdd266c4cfb7c621075f47f64c85a06b12b3c6958" - license "GPL-2.0-only" - head ":pserver:anonymous:@curlftpfs.cvs.sourceforge.net:/cvsroot/curlftpfs", using: :cvs - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - rebuild 1 - sha256 cellar: :any, arm64_sonoma: "52266b0b218496e9f24f982e74165991d97b49791862e683fb240d635e63f063" - sha256 cellar: :any, ventura: "1ed49dce5000b70b4ef4e47b3d8c535b4c25994cde3122a461483aa34e5d6cbe" - end - - depends_on "autoconf" => :build - depends_on "automake" => :build - depends_on "libtool" => :build - depends_on "pkgconf" => :build - depends_on "curl" - depends_on "glib" - depends_on MacfuseRequirement - depends_on :macos - - def install - setup_fuse - ENV.append "CPPFLAGS", "-D__off_t=off_t" - system "autoreconf", "--force", "--install", "--verbose" - system "./configure", *std_configure_args - system "make", "install" - end - - test do - assert_match version.to_s, shell_output("#{bin}/curlftpfs --version 2>&1", 1) - end -end diff --git a/Formula/dislocker-mac.rb b/Formula/dislocker-mac.rb deleted file mode 100644 index c6b9512..0000000 --- a/Formula/dislocker-mac.rb +++ /dev/null @@ -1,74 +0,0 @@ -require_relative "../require/macfuse" - -class DislockerMac < Formula - desc "FUSE driver to read/write Windows' BitLocker-ed volumes" - homepage "https://github.com/Aorimn/dislocker" - url "https://github.com/Aorimn/dislocker/archive/refs/tags/v0.7.3.tar.gz" - sha256 "8d5275577c44f2bd87f6e05dd61971a71c0e56a9cbedf000bd38deadd8b6c1e6" - license "GPL-2.0-only" - revision 2 - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any, arm64_sonoma: "018c699c1d89ce79a16974486a39b5a23763cd4fc0063d1de9bc326a34fa5a40" - sha256 cellar: :any, ventura: "054aa62cbb45f561f88d200c95b308a45126320b361b5807dea5064ace6bf894" - end - - depends_on "cmake" => :build - depends_on MacfuseRequirement - depends_on :macos - depends_on "mbedtls" - - # Backport support for mbedtls 3.x - patch do - url "https://github.com/Aorimn/dislocker/commit/2cfbba2c8cc07e529622ba134d0a6982815d2b30.patch?full_index=1" - sha256 "07e0e3cac520a04a478f1f08d612340fc2743fd492b0835c7fb41cfdb5ef4244" - end - - # Fix OSXFUSE-isms - patch :DATA - - def install - setup_fuse - system "cmake", "-S", ".", "-B", "build", - "-DCMAKE_DISABLE_FIND_PACKAGE_Ruby=TRUE", - *fuse_cmake_args, *std_cmake_args - system "cmake", "--build", "build" - system "cmake", "--install", "build" - end - - test do - system "#{bin}/dislocker", "-h" - end -end -__END__ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index bd854d2..9ab137d 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -92,7 +92,7 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") - # Don't use `-read_only_relocs' here as it seems to only work for 32 bits - # binaries - set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-bind_at_load") -- set (FUSE_LIB osxfuse_i64) -+ set (FUSE_LIB fuse) - else() - # Useless warnings when used within Darwin - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wconversion") -diff --git a/src/dislocker-fuse.c b/src/dislocker-fuse.c -index f93523f..3dd106c 100644 ---- a/src/dislocker-fuse.c -+++ b/src/dislocker-fuse.c -@@ -33,11 +33,7 @@ - - - --#ifdef __DARWIN --# include --#else --# include --#endif /* __DARWIN */ -+#include - - - /** NTFS virtual partition's name */ diff --git a/Formula/dwarfs-fuse-mac.rb b/Formula/dwarfs-fuse-mac.rb deleted file mode 100644 index e6b35b4..0000000 --- a/Formula/dwarfs-fuse-mac.rb +++ /dev/null @@ -1,150 +0,0 @@ -require_relative "../require/macfuse" - -class DwarfsFuseMac < Formula - desc "Fast high compression read-only file system (macFUSE driver)" - homepage "https://github.com/mhx/dwarfs" - url "https://github.com/mhx/dwarfs/releases/download/v0.14.1/dwarfs-0.14.1.tar.xz" - sha256 "620cf27f2e142a5f8fc05552a70704c3bf4df23c3279c6026b3f37954d0529c5" - license "GPL-3.0-or-later" - revision 2 - - livecheck do - url :stable - regex(/^(?:release[._-])?v?(\d+(?:\.\d+)+)$/i) - strategy :github_latest - end - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 arm64_tahoe: "c9f9e2ee142c6250c83e6fc37a885e2ba84dcb6146becc0dfe2cd1183deeda42" - sha256 arm64_sequoia: "b2f5010b2c6adde00ea38254045aa61671ad40e08e27cd86617dc291d9664112" - sha256 arm64_sonoma: "33574825dad792929955c4356d6ff1e30f75172b0c4e48849c42c360fe530f7e" - end - - depends_on "cmake" => :build - depends_on "googletest" => :build - depends_on "pkgconf" => :build - depends_on "boost" - depends_on "brotli" - depends_on "double-conversion" - depends_on "flac" - depends_on "fmt" - depends_on "gflags" - depends_on "glog" - depends_on "howard-hinnant-date" - depends_on "libarchive" - depends_on "libevent" - depends_on "libsodium" - depends_on "llvm" if DevelopmentTools.clang_build_version <= 1500 - depends_on "lz4" - depends_on MacfuseRequirement - depends_on :macos - depends_on "nlohmann-json" - depends_on "openssl@3" - depends_on "parallel-hashmap" - depends_on "range-v3" - depends_on "utf8cpp" - depends_on "xxhash" - depends_on "xz" - depends_on "zstd" - - conflicts_with "dwarfs", because: "both install the same binaries" - - fails_with :clang do - build 1500 - cause "Not all required C++20 features are supported" - end - - # Workaround for Boost 1.89.0 until upstream Folly fix. - # Issue ref: https://github.com/facebook/folly/issues/2489 - # Fix to Undefined symbols for architecture x86_64: "_XXH3_64bits" - patch :DATA - - def install - args = %W[ - -DBUILD_SHARED_LIBS=ON - -DCMAKE_INSTALL_RPATH=#{rpath} - -DWITH_LIBDWARFS=ON - -DWITH_TOOLS=ON - -DWITH_FUSE_DRIVER=ON - -DWITH_TESTS=ON - -DWITH_MAN_PAGES=ON - -DENABLE_PERFMON=ON - -DTRY_ENABLE_FLAC=ON - -DENABLE_RICEPP=ON - -DENABLE_STACKTRACE=OFF - -DDISABLE_CCACHE=ON - -DDISABLE_MOLD=ON - -DPREFER_SYSTEM_GTEST=ON - ] - - if DevelopmentTools.clang_build_version <= 1500 - # No ASAN for folly - ENV.append "CXXFLAGS", "-D_LIBCPP_HAS_NO_ASAN" - - ENV.llvm_clang - - # Needed in order to find the C++ standard library - # See: https://github.com/Homebrew/homebrew-core/issues/178435 - ENV.prepend "LDFLAGS", "-L#{Formula["llvm"].opt_lib}/unwind -lunwind" - ENV.prepend_path "HOMEBREW_LIBRARY_PATHS", Formula["llvm"].opt_lib/"c++" - end - - setup_fuse - system "cmake", "-S", ".", "-B", "build", *args, *std_cmake_args - system "cmake", "--build", "build", "--parallel" - system "cmake", "--install", "build" - end - - test do - # produce a dwarfs image - system bin/"mkdwarfs", "-i", prefix, "-o", "test.dwarfs", "-l4" - - # check the image - system bin/"dwarfsck", "test.dwarfs" - - # get JSON info about the image - info = JSON.parse(shell_output("#{bin}/dwarfsck test.dwarfs -j")) - assert_equal info["created_by"], "libdwarfs v#{version}" - assert info["inode_count"] >= 10 - - # extract the image - system bin/"dwarfsextract", "-i", "test.dwarfs" - assert_path_exists "bin/mkdwarfs" - assert_path_exists "share/man/man1/mkdwarfs.1" - assert compare_file bin/"mkdwarfs", "bin/mkdwarfs" - - (testpath/"test.cpp").write <<~CPP - #include - #include - - int main(int argc, char **argv) { - int v = dwarfs::get_dwarfs_library_version(); - int major = v / 10000; - int minor = (v % 10000) / 100; - int patch = v % 100; - std::cout << major << "." << minor << "." << patch << std::endl; - return 0; - } - CPP - - # ENV.llvm_clang doesn't work in the test block - ENV["CXX"] = Formula["llvm"].opt_bin/"clang++" if OS.mac? && DevelopmentTools.clang_build_version <= 1500 - - system ENV.cxx, "-std=c++20", "test.cpp", "-I#{include}", "-L#{lib}", "-o", "test", "-ldwarfs_common" - - assert_equal version.to_s, shell_output("./test").chomp - end -end - -__END__ ---- a/folly/CMake/folly-config.cmake.in -+++ b/folly/CMake/folly-config.cmake.in -@@ -38,7 +38,6 @@ find_dependency(Boost 1.51.0 MODULE - filesystem - program_options - regex -- system - thread - REQUIRED - ) diff --git a/Formula/encfs-mac.rb b/Formula/encfs-mac.rb deleted file mode 100644 index d8b31cc..0000000 --- a/Formula/encfs-mac.rb +++ /dev/null @@ -1,50 +0,0 @@ -require_relative "../require/macfuse" - -class EncfsMac < Formula - desc "Encrypted pass-through FUSE file system" - homepage "https://vgough.github.io/encfs/" - url "https://github.com/vgough/encfs/archive/refs/tags/v1.9.5.tar.gz" - sha256 "4709f05395ccbad6c0a5b40a4619d60aafe3473b1a79bafb3aa700b1f756fd63" - # The code comprising the EncFS library (libencfs) is licensed under the LGPL. - # The main programs (encfs, encfsctl, etc) are licensed under the GPL. - license "GPL-3.0-or-later" - revision 2 - head "https://github.com/vgough/encfs.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 arm64_sonoma: "04797584c9dde670d286a5369261def970ab4a5b84081999874fe84b9e24dee6" - sha256 ventura: "c1378c0f82327e7ad461b6215b7e88680d4326e94736955879313931ceacaf7a" - end - - depends_on "cmake" => :build - depends_on "pkgconf" => :build - depends_on "gettext" - depends_on MacfuseRequirement - depends_on :macos - depends_on "openssl@3" - depends_on "tinyxml2" - - patch do - url "https://github.com/vgough/encfs/commit/75080681626062e5832aec0b1bb3aa37d8364822.patch?full_index=1" - sha256 "0222bc4a4f03541b1523b03471f6af5925d4ed2a4c0d36a9a6fe39a18c036770" - end - - def install - setup_fuse - ENV.cxx11 - system "cmake", "-S", ".", "-B", "build", - "-DBUILD_UNIT_TESTS=OFF", - "-DUSE_INTERNAL_TINYXML=OFF", - "-DCMAKE_POLICY_VERSION_MINIMUM=3.5", - *std_cmake_args - system "cmake", "--build", "build" - system "cmake", "--install", "build" - end - - test do - # Functional test violates sandboxing, so punt. - # Issue #50602; upstream issue vgough/encfs#151 - assert_match version.to_s, shell_output("#{bin}/encfs 2>&1", 1) - end -end diff --git a/Formula/encfs.rb b/Formula/encfs.rb new file mode 100644 index 0000000..77f4aa7 --- /dev/null +++ b/Formula/encfs.rb @@ -0,0 +1,48 @@ +require_relative "../require/macfuse" if OS.mac? + +class Encfs < Formula + desc "Encrypted pass-through FUSE file system" + homepage "https://vgough.github.io/encfs/" + url "https://github.com/vgough/encfs/archive/v1.9.5.tar.gz" + sha256 "4709f05395ccbad6c0a5b40a4619d60aafe3473b1a79bafb3aa700b1f756fd63" + # The code comprising the EncFS library (libencfs) is licensed under the LGPL. + # The main programs (encfs, encfsctl, etc) are licensed under the GPL. + license "GPL-3.0" + head "https://github.com/vgough/encfs.git" + + bottle do + root_url "https://github.com/gromgit/homebrew-fuse/releases/download/encfs-1.9.5" + sha256 big_sur: "a3ad5e221f05f624c74ff3015164ae6e2bac3a99537b3b0a9d8f0b546130abe7" + sha256 catalina: "41efd14389d04bf5d2a0bc957972b15b6e1ff511452c89749ddc68b6bca6e3e7" + sha256 mojave: "aaf2aa568786ed055114cf54ee4b46acd66f74a7bc10715b446198164afa1871" + sha256 x86_64_linux: "8f4401c6165c596ce0e9f4e526c355cd573581c64da5661e754afde9300e71b5" + end + + depends_on "cmake" => :build + depends_on "pkg-config" => :build + depends_on "gettext" + depends_on "openssl@1.1" + + on_macos do + depends_on MacfuseRequirement + end + + on_linux do + depends_on "libfuse" + end + + def install + ENV.cxx11 + + mkdir "build" do + system "cmake", "..", *std_cmake_args + system "make", "install" + end + end + + test do + # Functional test violates sandboxing, so punt. + # Issue #50602; upstream issue vgough/encfs#151 + assert_match version.to_s, shell_output("#{bin}/encfs 2>&1", 1) + end +end diff --git a/Formula/ext2fuse-mac.rb b/Formula/ext2fuse-mac.rb deleted file mode 100644 index ee6ad53..0000000 --- a/Formula/ext2fuse-mac.rb +++ /dev/null @@ -1,36 +0,0 @@ -require_relative "../require/macfuse" - -class Ext2fuseMac < Formula - desc "Compact implementation of ext2 file system using FUSE" - homepage "https://sourceforge.net/projects/ext2fuse" - url "https://downloads.sourceforge.net/project/ext2fuse/ext2fuse/0.8.1/ext2fuse-src-0.8.1.tar.gz" - sha256 "431035797b2783216ec74b6aad5c721b4bffb75d2174967266ee49f0a3466cd9" - license "GPL-2.0-or-later" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_sonoma: "1fea57a1f597f489ac0a58e6c75b4a7ea970b07f33d7c31dfe1a812a8029bf02" - sha256 cellar: :any, ventura: "8935e712ae67cb680c77a88dbf6aa6c66f4b294c67aefc557dce55c5c8bd5f41" - end - - depends_on "gcc" => :build - depends_on "e2fsprogs" - depends_on MacfuseRequirement - depends_on :macos - - def install - setup_fuse - ENV.append "LIBS", "-lfuse" - ENV.append "CFLAGS", - "-D__FreeBSD__=10 -DENABLE_SWAPFS -I/usr/local/include/fuse " - ENV.append "CFLAGS", "--std=gnu89" if ENV.compiler == :clang - - system "./configure", *std_configure_args - system "make", "install" - end - - test do - assert_match version.to_s, shell_output("#{bin}/ext2fuse --version 2>&1", 9) - end -end diff --git a/Formula/ext4fuse-mac.rb b/Formula/ext4fuse-mac.rb deleted file mode 100644 index 40a4de1..0000000 --- a/Formula/ext4fuse-mac.rb +++ /dev/null @@ -1,31 +0,0 @@ -require_relative "../require/macfuse" - -class Ext4fuseMac < Formula - desc "Read-only implementation of ext4 for FUSE" - homepage "https://github.com/gerard/ext4fuse" - url "https://github.com/gerard/ext4fuse/archive/refs/tags/v0.1.3.tar.gz" - sha256 "550f1e152c4de7d4ea517ee1c708f57bfebb0856281c508511419db45aa3ca9f" - license "GPL-2.0-only" - head "https://github.com/gerard/ext4fuse.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_sonoma: "293d9d09f9a4d2cfb51beb789c8b2581b4419b00daa68507f3bf6c97f258aff5" - sha256 cellar: :any, ventura: "4c4f3b18a0cd8b290e52d1290ea63a87c04597f43d9c1cde6e71c487bd4a4505" - end - - depends_on "pkgconf" => :build - depends_on MacfuseRequirement - depends_on :macos - - def install - setup_fuse - system "make" - bin.install "ext4fuse" - end - - test do - assert_match version.to_s, shell_output("#{bin}/ext4fuse --version 2>&1", 1) - end -end diff --git a/Formula/fuse-zip-mac.rb b/Formula/fuse-zip-mac.rb deleted file mode 100644 index 1f2e670..0000000 --- a/Formula/fuse-zip-mac.rb +++ /dev/null @@ -1,31 +0,0 @@ -require_relative "../require/macfuse" - -class FuseZipMac < Formula - desc "FUSE file system to create & manipulate ZIP archives" - homepage "https://bitbucket.org/agalanin/fuse-zip" - url "https://bitbucket.org/agalanin/fuse-zip/downloads/fuse-zip-0.7.2.tar.gz" - sha256 "3dd0be005677442f1fd9769a02dfc0b4fcdd39eb167e5697db2f14f4fee58915" - license "GPL-3.0-or-later" - head "https://bitbucket.org/agalanin/fuse-zip", using: :hg, branch: "master" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - rebuild 1 - sha256 cellar: :any, arm64_sonoma: "07d4a035c41b76adc6fa4e320ba0e002bc6ff6e8ca52e0e47d0ad42b267762f0" - sha256 cellar: :any, ventura: "185b074a45baad043449b409896b0425ffcdc83eeac02d903f6b5a84867cb7e2" - end - - depends_on "pkgconf" => :build - depends_on "libzip" - depends_on MacfuseRequirement - depends_on :macos - - def install - setup_fuse - system "make", "prefix=#{prefix}", "install" - end - - test do - system bin/"fuse-zip", "--help" - end -end diff --git a/Formula/fusehfs-mac.rb b/Formula/fusehfs-mac.rb deleted file mode 100644 index 6aa1143..0000000 --- a/Formula/fusehfs-mac.rb +++ /dev/null @@ -1,47 +0,0 @@ -require_relative "../require/macfuse" - -class FusehfsMac < Formula - desc "FUSE driver for HFS filesystems" - homepage "https://thejoelpatrol.github.io/fusehfs/" - url "https://github.com/thejoelpatrol/fusehfs/archive/refs/tags/v0.1.5.tar.gz" - sha256 "0f37b0cf31d38665af279b7b5bde0a185da55d7e8e6ccdb0de9133c3740143e8" - license "GPL-2.0-or-later" - head "https://github.com/thejoelpatrol/fusehfs.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "937bc2d207749a4a9008abc5961f683c6b6753703ef8e78704746bec751e6dd3" - sha256 cellar: :any, ventura: "1c82b43b527c4ebb8e7979172a093856d8b7ca1be38d668888799db82239ed2a" - end - - depends_on xcode: :build - depends_on MacfuseRequirement - depends_on :macos - - def install - setup_fuse - xcodebuild "-arch", Hardware::CPU.arch, - "-target", "FS Bundle", - "-configuration", "Release", - "CODE_SIGN_IDENTITY=-", - "SYMROOT=build", - "MACOSX_DEPLOYMENT_TARGET=#{MacOS.version}" - bin.install "build/Release/hfsck" - bin.install "build/Release/mount_fusefs_hfs" - pkgshare.install "build/Release/fusefs_hfs.fs" - end - - def caveats - <<~EOS - To add support for mounting HFS-formatted disk images via double-click, - install and re-sign the filesystem bundle with: - - codesign -f -s - $(brew --prefix)/share/fusehfs-mac/fusefs_hfs.fs - sudo ln -s $(brew --prefix)/share/fusehfs-mac/fusefs_hfs.fs /Library/Filesystems - EOS - end - - test do - assert_match version.to_s, shell_output("#{bin}/mount_fusefs_hfs --version 2>&1", 1) - end -end diff --git a/Formula/gcsfuse-mac.rb b/Formula/gcsfuse-mac.rb deleted file mode 100644 index efb6ca1..0000000 --- a/Formula/gcsfuse-mac.rb +++ /dev/null @@ -1,72 +0,0 @@ -require_relative "../require/macfuse" - -class GcsfuseMac < Formula - desc "User-space file system for interacting with Google Cloud" - homepage "https://github.com/googlecloudplatform/gcsfuse" - url "https://github.com/GoogleCloudPlatform/gcsfuse/archive/refs/tags/v3.5.5.tar.gz" - sha256 "ae5f26ee6969081ecd71bdc581871ebb88cb7b03a00d3bab6f9939b80bcfa39a" - license "Apache-2.0" - head "https://github.com/GoogleCloudPlatform/gcsfuse.git", branch: "master" - - livecheck do - url :stable - strategy :github_latest - end - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "7f39bb946f29f15b669b159d3ea2b784e3836e34ee1a58406502607ba5a08dfe" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "11c070d74913efa55f634e8c9a6e1cff408dcca490908b161a7863e65ba3f1f4" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "3498f4c6657e881e8b21850d1c9793997535a24aeddf0d46f0e226f89097d8fe" - end - - depends_on "go" => :build - depends_on MacfuseRequirement - depends_on :macos - - patch do - url "https://raw.githubusercontent.com/gromgit/formula-patches/f69773ce21e06e4c6407da25af33486f5ec6185d/gcsfuse-mac/macos.patch?full_index=1" - sha256 "ab3e204bf099cbabefee825f634cfb9c33349002059b1522488c12bf5790ef11" - end - - patch :DATA - - def install - setup_fuse - # Build the build_gcsfuse tool. Ensure that it doesn't pick up any - # libraries from the user's GOPATH; it should have no dependencies. - ENV.delete("GOPATH") - system "go", "build", "./tools/build_gcsfuse" - - # Use that tool to build gcsfuse itself. - gcsfuse_version = build.head? ? Utils.git_short_head : version.to_s - system "./build_gcsfuse", buildpath, prefix, gcsfuse_version - end - - def caveats - <<~EOS - Upstream doesn't actively support macOS (https://github.com/GoogleCloudPlatform/gcsfuse/issues/1299). - EOS - end - - test do - system bin/"gcsfuse", "--help" - system "#{sbin}/mount_gcsfuse", "--help" - end -end - -__END__ -diff --git a/tools/build_gcsfuse/main.go b/tools/build_gcsfuse/main.go -index b1a4022..678f747 100644 ---- a/tools/build_gcsfuse/main.go -+++ b/tools/build_gcsfuse/main.go -@@ -134,8 +134,6 @@ func buildBinaries(dstDir, srcDir, version string, buildArgs []string) (err erro - cmd := exec.Command( - "go", - "build", -- "-C", -- srcDir, - "-o", - path.Join(dstDir, bin.outputPath)) - - diff --git a/Formula/gitfs-mac.rb b/Formula/gitfs-mac.rb deleted file mode 100644 index ae2a884..0000000 --- a/Formula/gitfs-mac.rb +++ /dev/null @@ -1,95 +0,0 @@ -require_relative "../require/macfuse" - -class GitfsMac < Formula - include Language::Python::Virtualenv - - desc "Version controlled file system" - homepage "https://www.presslabs.com/gitfs" - url "https://github.com/vtemian/gitfs/archive/refs/tags/v1.0.0.tar.gz" - sha256 "75835c6e4cad400c06e86ecb2efedfa7a8ffe5c5939c4e70040f6e861b4e85d3" - license "Apache-2.0" - head "https://github.com/vtemian/gitfs.git", branch: "main" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any, arm64_sequoia: "e48dd7b94f4ff6bbec3b51fa4c607a04bdb2338267315d3da988c1d9f6254bd5" - sha256 cellar: :any, arm64_sonoma: "903d6859b1d8cb7d0fa54ee4294e6bd3c57d796495b4850ba4cb50b6c5bf7d63" - end - - depends_on "libgit2" - depends_on MacfuseRequirement - depends_on :macos - depends_on "python@3.13" - - uses_from_macos "libffi" - - resource "atomiclong" do - url "https://files.pythonhosted.org/packages/86/8c/70aea8215c6ab990f2d91e7ec171787a41b7fbc83df32a067ba5d7f3324f/atomiclong-0.1.1.tar.gz" - sha256 "cb1378c4cd676d6f243641c50e277504abf45f70f1ea76e446efcdbb69624bbe" - end - - resource "certifi" do - url "https://files.pythonhosted.org/packages/73/f7/f14b46d4bcd21092d7d3ccef689615220d8a08fb25e564b65d20738e672e/certifi-2025.6.15.tar.gz" - sha256 "d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b" - end - - resource "cffi" do - url "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz" - sha256 "1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824" - end - - resource "mfusepy" do - url "https://files.pythonhosted.org/packages/1c/94/c9d5dcba4a6a2b32ba23e22fd13ca08e6f5408420b2dfe42984af22277b6/mfusepy-3.0.0.tar.gz" - sha256 "eddade33e427bac9c455464cd0a7d12d63c033255ec6b1e0d6ada143a945c6f2" - end - - resource "pycparser" do - url "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz" - sha256 "491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6" - end - - resource "pygit2" do - url "https://files.pythonhosted.org/packages/c1/4a/72a5f3572912d93d8096f8447a20fe3aff5b5dc65aca08a2083eae54d148/pygit2-1.18.0.tar.gz" - sha256 "fbd01d04a4d2ce289aaa02cf858043679bf0dd1f9855c6b88ed95382c1f5011a" - end - - resource "sentry-sdk" do - url "https://files.pythonhosted.org/packages/04/4c/af31e0201b48469786ddeb1bf6fd3dfa3a291cc613a0fe6a60163a7535f9/sentry_sdk-2.30.0.tar.gz" - sha256 "436369b02afef7430efb10300a344fb61a11fe6db41c2b11f41ee037d2dd7f45" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" - sha256 "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" - end - - def install - virtualenv_install_with_resources - end - - def caveats - <<~EOS - gitfs clones repos in /var/lib/gitfs. You can either create it with - sudo mkdir -m 1777 /var/lib/gitfs or use another folder with the - repo_path argument. - EOS - end - - test do - xy = Language::Python.major_minor_version Formula["python@3.13"].opt_bin/"python3" - ENV.prepend_create_path "PYTHONPATH", libexec/"lib/python#{xy}/site-packages" - - (testpath/"test.py").write <<~EOS - import gitfs - import pygit2 - pygit2.init_repository('testing/.git', True) - EOS - - system Formula["python@3.13"].opt_bin/"python3", "test.py" - assert_path_exists testpath/"testing/.git/config" - cd "testing" do - system "git", "remote", "add", "homebrew", "https://github.com/Homebrew/homebrew-core.git" - assert_match "homebrew", shell_output("git remote") - end - end -end diff --git a/Formula/gocryptfs-mac.rb b/Formula/gocryptfs-mac.rb deleted file mode 100644 index 5ddfeb7..0000000 --- a/Formula/gocryptfs-mac.rb +++ /dev/null @@ -1,35 +0,0 @@ -require_relative "../require/macfuse" - -class GocryptfsMac < Formula - desc "Encrypted overlay filesystem written in Go" - homepage "https://nuetzlich.net/gocryptfs/" - url "https://github.com/rfjakob/gocryptfs/releases/download/v2.6.1/gocryptfs_v2.6.1_src-deps.tar.gz" - sha256 "9a966c1340a1a1d92073091643687b1205c46b57017c5da2bf7e97e3f5729a5a" - license "MIT" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any, arm64_sequoia: "56a4955f379ccb148f2e269679c91af0202bb67725dc6f1ed661bb5f8c9f0b68" - sha256 cellar: :any, arm64_sonoma: "8c4634a99acb568f25b96fc752b3bdb7a16d830e96126b93ee5a354a4dc67b2d" - sha256 cellar: :any, ventura: "40cda455675c2f6a0970c1c5388797da874758bf8f50d57fa4bf6ff448ab1edd" - end - - depends_on "go" => :build - depends_on "pkg-config" => :build - depends_on MacfuseRequirement - depends_on :macos - depends_on "openssl@3" - - def install - setup_fuse - system "./build.bash" - bin.install "gocryptfs", "gocryptfs-xray/gocryptfs-xray" - man1.install "Documentation/gocryptfs.1", "Documentation/gocryptfs-xray.1" - end - - test do - (testpath/"encdir").mkpath - pipe_output("#{bin}/gocryptfs -init #{testpath}/encdir", "password", 0) - assert_path_exists testpath/"encdir/gocryptfs.conf" - end -end diff --git a/Formula/goofys-mac.rb b/Formula/goofys-mac.rb deleted file mode 100644 index 11e4242..0000000 --- a/Formula/goofys-mac.rb +++ /dev/null @@ -1,47 +0,0 @@ -require_relative "../require/macfuse" - -class GoofysMac < Formula - desc "Filey-System interface to Amazon S3" - homepage "https://github.com/kahing/goofys" - url "https://github.com/kahing/goofys.git", - tag: "v0.24.0", - revision: "45b8d78375af1b24604439d2e60c567654bcdf88" - license "Apache-2.0" - head "https://github.com/kahing/goofys.git" - - bottle do - root_url "https://github.com/gromgit/homebrew-fuse/releases/download/goofys-mac-0.24.0" - sha256 cellar: :any_skip_relocation, monterey: "0edf3be0d9fb22e7637e981539a5e93158d4543050a61afb5d11ce0ec80f0e17" - sha256 cellar: :any_skip_relocation, big_sur: "f3f73dc39927ee0a94a26a3bc8ae4b097e083d48e311b79274a85ac7f547e85a" - sha256 cellar: :any_skip_relocation, catalina: "b61cf142b7a484520ad554d17947d7022ed0c3fdab04d6cf89da93b986d6de15" - sha256 cellar: :any_skip_relocation, mojave: "648d204e47b710662db2b778164346ef2b9fd77a4ec02af210fc8116eee7bb7f" - end - - # Discussion ref: https://github.com/Homebrew/homebrew-core/pull/122082#issuecomment-1436535501 - disable! date: "2024-02-12", because: :does_not_build - - depends_on "go" => :build - depends_on MacfuseRequirement - depends_on :macos - - def install - setup_fuse - contents = Dir["*"] - gopath = buildpath/"gopath" - (gopath/"src/github.com/kahing/goofys").install contents - - ENV["GOPATH"] = gopath - - goofys_version = build.head? ? Utils.git_head : version - cd gopath/"src/github.com/kahing/goofys" do - system "go", "build", *std_go_args, - "-ldflags", "-X main.Version=#{goofys_version}", - "-o", "#{bin}/goofys" - prefix.install_metafiles - end - end - - test do - system "#{bin}/goofys", "--version" - end -end diff --git a/Formula/hfsfuse-mac.rb b/Formula/hfsfuse-mac.rb deleted file mode 100644 index e4f680e..0000000 --- a/Formula/hfsfuse-mac.rb +++ /dev/null @@ -1,32 +0,0 @@ -require_relative "../require/macfuse" - -class HfsfuseMac < Formula - desc "FUSE driver for HFS+ filesystems (read-only)" - homepage "https://github.com/0x09/hfsfuse" - url "https://github.com/0x09/hfsfuse/releases/download/0.310/hfsfuse-0.310.tar.gz" - sha256 "49ad0ea6b7cbef4d55b1b436e0e772a639162fb35cc80586ba9ae49f05ad3e65" - license all_of: ["BSD-2-Clause", "MIT"] - head "https://github.com/0x09/hfsfuse.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any, arm64_tahoe: "f3f8f016549b023c31c1fbca1998d31d5d1452319a3152b0d21a8107c0c81cf8" - sha256 cellar: :any, arm64_sequoia: "f3843985cb817343609f990fa7bd1c346453017814defbf4311c5f031c6ba8cd" - sha256 cellar: :any, arm64_sonoma: "33a1216d966ed9426cbf2be528b17556e07ce0757161d62d774a69b2b72dfd3f" - end - - depends_on "libarchive" - depends_on "lzfse" - depends_on MacfuseRequirement - depends_on :macos - - def install - setup_fuse - system "make", "install", "prefix=#{prefix}" - end - - test do - assert_match version.to_s, shell_output("#{bin}/hfsfuse --version 2>&1") - system bin/"hfsdump" - end -end diff --git a/Formula/ifuse-mac.rb b/Formula/ifuse-mac.rb deleted file mode 100644 index 0e1f563..0000000 --- a/Formula/ifuse-mac.rb +++ /dev/null @@ -1,40 +0,0 @@ -require_relative "../require/macfuse" - -class IfuseMac < Formula - desc "FUSE module for iOS devices" - homepage "https://libimobiledevice.org/" - url "https://github.com/libimobiledevice/ifuse/archive/refs/tags/1.2.0.tar.gz" - sha256 "29ab853037d781ef19f734936454c7f7806d1c46fbcca6e15ac179685ab37c9c" - license "LGPL-2.1-or-later" - head "https://github.com/libimobiledevice/ifuse.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any, arm64_sequoia: "7b2a54ceeca52d5ada2e625f7e3edbcdd7f6eedfc8b8f6286137fb38fcff50e6" - end - - depends_on "autoconf" => :build - depends_on "automake" => :build - depends_on "libtool" => :build - depends_on "pkgconf" => :build - depends_on "glib" - depends_on "libimobiledevice" - depends_on "libplist" - depends_on MacfuseRequirement - depends_on :macos - - def install - # This file can be generated only if `.git` directory is present - # Create it manually - (buildpath/".tarball-version").write version.to_s - - setup_fuse3 - system "./autogen.sh", *std_configure_args - system "make", "install" - end - - test do - # Actual test of functionality requires osxfuse, so test for expected failure instead - assert_match "ERROR: No device found!", shell_output("#{bin}/ifuse --list-apps", 1) - end -end diff --git a/Formula/mp3fs-mac.rb b/Formula/mp3fs-mac.rb deleted file mode 100644 index 598e404..0000000 --- a/Formula/mp3fs-mac.rb +++ /dev/null @@ -1,61 +0,0 @@ -require_relative "../require/macfuse" - -class Mp3fsMac < Formula - desc "Read-only FUSE file system: transcodes audio formats to MP3" - homepage "https://khenriks.github.io/mp3fs/" - url "https://github.com/khenriks/mp3fs/releases/download/v1.1.1/mp3fs-1.1.1.tar.gz" - sha256 "942b588fb623ea58ce8cac8844e6ff2829ad4bc9b4c163bba58e3fa9ebc15608" - license "GPL-3.0-or-later" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - rebuild 1 - sha256 cellar: :any, arm64_sonoma: "4171a0e1383f1c17150ed12ecb88fb766df4a105ce789e79e3d67130208c4b60" - sha256 cellar: :any, ventura: "6d3d1bd7f5db566dbe51bf16dfd5c63ed79cc1ea98904d48921953ccc9b77c01" - end - - depends_on "pkgconf" => :build - depends_on "flac" - depends_on "lame" - depends_on "libid3tag" - depends_on "libvorbis" - depends_on MacfuseRequirement - depends_on :macos - - patch :DATA - - def install - setup_fuse - system "./configure", *std_configure_args - system "make", "install" - end - - test do - assert_match "mp3fs version: #{version}", shell_output("#{bin}/mp3fs -V") - end -end -__END__ -diff --git a/src/mp3fs.cc b/src/mp3fs.cc -index f846da9..f215f10 100644 ---- a/src/mp3fs.cc -+++ b/src/mp3fs.cc -@@ -28,9 +28,6 @@ - #include - #include - #include --#ifdef __APPLE__ --#include --#endif - - #include - #include -@@ -166,9 +163,6 @@ void print_versions(std::ostream&& out) { - print_codec_versions(out); - out << "FUSE library version: " << FUSE_MAJOR_VERSION << "." - << FUSE_MINOR_VERSION << std::endl; --#ifdef __APPLE__ -- out << "OS X FUSE version: " << osxfuse_version() << std::endl; --#endif - } - - int mp3fs_opt_proc(void* /*unused*/, const char* arg, int key, diff --git a/Formula/ntfs-3g-mac.rb b/Formula/ntfs-3g-mac.rb deleted file mode 100644 index aed09dc..0000000 --- a/Formula/ntfs-3g-mac.rb +++ /dev/null @@ -1,101 +0,0 @@ -require_relative "../require/macfuse" - -class Ntfs3gMac < Formula - desc "Read-write NTFS driver for FUSE" - homepage "https://www.tuxera.com/community/open-source-ntfs-3g/" - url "https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2022.10.3.tgz" - sha256 "f20e36ee68074b845e3629e6bced4706ad053804cbaf062fbae60738f854170c" - license all_of: ["GPL-2.0-or-later", "LGPL-2.0-or-later"] - - livecheck do - url :head - strategy :github_latest - end - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - rebuild 1 - sha256 cellar: :any, arm64_sonoma: "a00edf9e9abde1b447829c0e49267189a90713b66f651e498723915f2415284d" - sha256 cellar: :any, ventura: "6e5875dd0059b8a387cc0eba1d9e3f866758c0e711ab5db62ed91da2dd989faf" - end - - head do - url "https://github.com/tuxera/ntfs-3g.git", branch: "edge" - - depends_on "autoconf" => :build - depends_on "automake" => :build - depends_on "libgcrypt" => :build - depends_on "libtool" => :build - end - - depends_on "pkgconf" => :build - depends_on "coreutils" => :test - depends_on "gettext" - depends_on MacfuseRequirement - depends_on :macos - - def install - setup_fuse - ENV.append "LDFLAGS", "-lintl" - - args = %W[ - --exec-prefix=#{prefix} - --mandir=#{man} - --with-fuse=external - --enable-extras - ] - - system "./autogen.sh" if build.head? - # Workaround for hardcoded /sbin in ntfsprogs - inreplace Dir["{ntfsprogs,src}/Makefile.in"], "$(DESTDIR)/sbin/", "$(DESTDIR)#{sbin}/" - system "./configure", *args, *std_configure_args - system "make" - system "make", "install" - - # Install a script that can be used to enable automount - File.open("#{sbin}/mount_ntfs", File::CREAT|File::TRUNC|File::RDWR, 0755) do |f| - f.puts <<~EOS - #!/bin/bash - - VOLUME_NAME="${@:$#}" - VOLUME_NAME=${VOLUME_NAME#/Volumes/} - USER_ID=#{Process.uid} - GROUP_ID=#{Process.gid} - - if [ "$(/usr/bin/stat -f %u /dev/console)" -ne 0 ]; then - USER_ID=$(/usr/bin/stat -f %u /dev/console) - GROUP_ID=$(/usr/bin/stat -f %g /dev/console) - fi - - #{opt_bin}/ntfs-3g \\ - -o volname="${VOLUME_NAME}" \\ - -o local \\ - -o negative_vncache \\ - -o auto_xattr \\ - -o auto_cache \\ - -o noatime \\ - -o windows_names \\ - -o streams_interface=openxattr \\ - -o inherit \\ - -o uid="$USER_ID" \\ - -o gid="$GROUP_ID" \\ - -o allow_other \\ - -o big_writes \\ - "$@" >> /var/log/mount-ntfs-3g.log 2>&1 - - exit $?; - EOS - end - end - - test do - # create a small raw image, format and check it - ntfs_raw = testpath/"ntfs.raw" - system Formula["coreutils"].libexec/"gnubin/truncate", "--size=10M", ntfs_raw - ntfs_label_input = "Homebrew" - system sbin/"mkntfs", "--force", "--fast", "--label", ntfs_label_input, ntfs_raw - system bin/"ntfsfix", "--no-action", ntfs_raw - ntfs_label_output = shell_output("#{sbin}/ntfslabel #{ntfs_raw}") - assert_match ntfs_label_input, ntfs_label_output - end -end diff --git a/Formula/ratarmount-mac.rb b/Formula/ratarmount-mac.rb deleted file mode 100644 index d3b0788..0000000 --- a/Formula/ratarmount-mac.rb +++ /dev/null @@ -1,131 +0,0 @@ -require_relative "../require/macfuse" - -class RatarmountMac < Formula - include Language::Python::Virtualenv - - desc "Mount and efficiently access archives as filesystems" - homepage "https://github.com/mxmlnkn/ratarmount" - url "https://files.pythonhosted.org/packages/f6/2f/ce04f40f3cc82bb3ffbc97bffe3b7a2abe83a382c81fe2452ad54792acdf/ratarmount-1.2.1.tar.gz" - sha256 "28be2f1b9477ba4d0d8d75ddbc2468fc906970d36f4940bd932d1a51818e06a0" - license "MIT" - head "https://github.com/mxmlnkn/ratarmount.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any, arm64_tahoe: "f89ceae4c6bb313cf569f7727033c07390db1382965a22e1197d0f1ee9c0a5bc" - sha256 cellar: :any, arm64_sequoia: "c0beb8c22c87eac4c3ba674f1c7245d0094f3bfebf64f9fce2fea1bfa0c2d674" - sha256 cellar: :any, arm64_sonoma: "588e3d984a585d5c2770882e3afc3872524a979738809eee8a5d5dff5bbc15b8" - end - - depends_on "libgit2" - depends_on MacfuseRequirement - depends_on :macos - depends_on "python@3.13" - depends_on "zstd" - - resource "brotli" do - url "https://files.pythonhosted.org/packages/f7/16/c92ca344d646e71a43b8bb353f0a6490d7f6e06210f8554c8f874e454285/brotli-1.2.0.tar.gz" - sha256 "e310f77e41941c13340a95976fe66a8a95b01e783d430eeaf7a2f87e0a57dd0a" - end - - resource "fast-zip-decryption" do - url "https://files.pythonhosted.org/packages/47/c8/0fbde8b9c8314e4fde35f4841015a6143967d5fd4d141e84a6cf14e62178/fast_zip_decryption-3.0.0.tar.gz" - sha256 "5267e45aab72161b035ddc4dda4ffa2490b6da1ca752e4ff7eaedd4dd18aa85d" - end - - resource "indexed-gzip" do - url "https://files.pythonhosted.org/packages/d4/22/e9e94407bae83444adf598535b684d28cfbbcbe19f58eeba46f4db7bc0f3/indexed_gzip-1.10.1.tar.gz" - sha256 "3993fd72570b254045d2361d937a984350719f2205066f4e4c16435a1df361e3" - end - - resource "indexed-zstd" do - url "https://files.pythonhosted.org/packages/52/22/5b908d5e987043ce8390b0d9101c93fae0c0de0c9c8417c562976eeb8be6/indexed_zstd-1.6.1.tar.gz" - sha256 "8b74378f9461fceab175215b65e1c489864ddb34bd816058936a627f0cca3a8b" - end - - resource "inflate64" do - url "https://files.pythonhosted.org/packages/e3/a7/974e6daa6c353cf080b540c18f11840e81b36d18106963a0a857b1fc2adf/inflate64-1.0.3.tar.gz" - sha256 "a89edd416c36eda0c3a5d32f31ff1555db2c5a3884aa8df95e8679f8203e12ee" - end - - resource "libarchive-c" do - url "https://files.pythonhosted.org/packages/26/23/e72434d5457c24113e0c22605cbf7dd806a2561294a335047f5aa8ddc1ca/libarchive_c-5.3.tar.gz" - sha256 "5ddb42f1a245c927e7686545da77159859d5d4c6d00163c59daff4df314dae82" - end - - resource "mfusepy" do - url "https://files.pythonhosted.org/packages/1c/94/c9d5dcba4a6a2b32ba23e22fd13ca08e6f5408420b2dfe42984af22277b6/mfusepy-3.0.0.tar.gz" - sha256 "eddade33e427bac9c455464cd0a7d12d63c033255ec6b1e0d6ada143a945c6f2" - end - - resource "multivolumefile" do - url "https://files.pythonhosted.org/packages/50/f0/a7786212b5a4cb9ba05ae84a2bbd11d1d0279523aea0424b6d981d652a14/multivolumefile-0.2.3.tar.gz" - sha256 "a0648d0aafbc96e59198d5c17e9acad7eb531abea51035d08ce8060dcad709d6" - end - - resource "psutil" do - url "https://files.pythonhosted.org/packages/e1/88/bdd0a41e5857d5d703287598cbf08dad90aed56774ea52ae071bae9071b6/psutil-7.1.3.tar.gz" - sha256 "6c86281738d77335af7aec228328e944b30930899ea760ecf33a4dba66be5e74" - end - - resource "py7zr" do - url "https://files.pythonhosted.org/packages/97/62/d6f18967875aa60182198a0dd287d3a50d8aea1d844239ea00c016f7be88/py7zr-1.0.0.tar.gz" - sha256 "f6bfee81637c9032f6a9f0eb045a4bfc7a7ff4138becfc42d7cb89b54ffbfef1" - end - - resource "pybcj" do - url "https://files.pythonhosted.org/packages/ce/75/bbcf098abf68081fa27c09d642790daa99d9156132c8b0893e3fecd946ab/pybcj-1.0.6.tar.gz" - sha256 "70bbe2dc185993351955bfe8f61395038f96f5de92bb3a436acb01505781f8f2" - end - - resource "pycryptodomex" do - url "https://files.pythonhosted.org/packages/c9/85/e24bf90972a30b0fcd16c73009add1d7d7cd9140c2498a68252028899e41/pycryptodomex-3.23.0.tar.gz" - sha256 "71909758f010c82bc99b0abf4ea12012c98962fbf0583c2164f8b84533c2e4da" - end - - resource "pyppmd" do - url "https://files.pythonhosted.org/packages/f6/d7/b3084ff1ac6451ef7dd93d4f7627eeb121a3bed4f8a573a81978a43ddb06/pyppmd-1.2.0.tar.gz" - sha256 "cc04af92f1d26831ec96963439dfb27c96467b5452b94436a6af696649a121fd" - end - - resource "python-xz" do - url "https://files.pythonhosted.org/packages/fe/2f/7ed0c25005eba0efb1cea3cdf4a325852d63167cc77f96b0a0534d19e712/python-xz-0.4.0.tar.gz" - sha256 "398746593b706fa9fac59b8c988eab8603e1fe2ba9195111c0b45227a3a77db3" - end - - resource "pyzstd" do - url "https://files.pythonhosted.org/packages/47/82/7bcafbf06ee83a66990ce5badbb8f4dc32184346bab20de7e468b1a2f6ec/pyzstd-0.18.0.tar.gz" - sha256 "81b6851ab1ca2e5f2c709e896a1362e3065a64f271f43db77fb7d5e4a78e9861" - end - - resource "rapidgzip" do - url "https://files.pythonhosted.org/packages/d6/50/b9bb77eaf841f2fbd8123d9677815d4ef53b53c4c189c5f789c78ef2d05e/rapidgzip-0.15.2.tar.gz" - sha256 "fa3f90f17ce185a99514df54b5316bdfa593e98f3eebbb12da301eb25d6dedcd" - end - - resource "rarfile" do - url "https://files.pythonhosted.org/packages/26/3f/3118a797444e7e30e784921c4bfafb6500fb288a0c84cb8c32ed15853c16/rarfile-4.2.tar.gz" - sha256 "8e1c8e72d0845ad2b32a47ab11a719bc2e41165ec101fd4d3fe9e92aa3f469ef" - end - - resource "ratarmountcore" do - url "https://files.pythonhosted.org/packages/f8/15/b9c2a47a4adba9b7bef8a057896a8e96db1d286ae538bd1d9d2fd147febd/ratarmountcore-0.10.2.tar.gz" - sha256 "35e2935e1e135140d1bb8d82061c1527fb168ba5653d0218c06f3ec106711e6c" - end - - resource "texttable" do - url "https://files.pythonhosted.org/packages/1c/dc/0aff23d6036a4d3bf4f1d8c8204c5c79c4437e25e0ae94ffe4bbb55ee3c2/texttable-1.7.0.tar.gz" - sha256 "2d2068fb55115807d3ac77a4ca68fa48803e84ebb0ee2340f858107a36522638" - end - - def install - setup_fuse - virtualenv_install_with_resources - end - - test do - assert_match "ratarmount #{version}", shell_output("#{bin}/ratarmount --version 2>&1") - tarball = test_fixtures("tarballs/testball2-0.1.tbz") - assert_match "Operation not permitted", shell_output("#{bin}/ratarmount #{tarball} 2>&1", 1) - end -end diff --git a/Formula/rclone-mac.rb b/Formula/rclone-mac.rb deleted file mode 100644 index 05f6755..0000000 --- a/Formula/rclone-mac.rb +++ /dev/null @@ -1,60 +0,0 @@ -require_relative "../require/macfuse" - -class RcloneMac < Formula - desc "Rsync for cloud storage (with macOS FUSE mount support)" - homepage "https://rclone.org/" - url "https://github.com/rclone/rclone/archive/refs/tags/v1.72.1.tar.gz" - sha256 "322c73932b533571880832c0e07abdf9492c7f329b7d1dcdbd2a195fa2635a77" - license "MIT" - head "https://github.com/rclone/rclone.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any_skip_relocation, arm64_tahoe: "4fbfed6cbd727a74761f9e5918aa4d2cc576fe5aefe76fa7a8a2f2e491693f07" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "c3217d9951aa76172bba74eddd191554eecc85e67bfb0926e4abc0ee79a7d400" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "93cd3973b52d0d34b0b3301e0876cfe601574523b321c5021c658f2ab362b644" - end - - depends_on "go" => :build - depends_on MacfuseRequirement - depends_on :macos - - def install - setup_fuse - system "go", "build", - "-ldflags", "-s -X github.com/rclone/rclone/fs.Version=v#{version}", - "-tags", "cmount", *std_go_args - (libexec/"rclone").install_symlink bin/name.to_s => "rclone" - man1.install "rclone.1" => "#{name}.1" - system bin/name.to_s, "genautocomplete", "bash", "rclone.bash" - system bin/name.to_s, "genautocomplete", "bash", "#{name}.bash" - system bin/name.to_s, "genautocomplete", "zsh", "_rclone" - system bin/name.to_s, "genautocomplete", "zsh", "_#{name}" - bash_completion.install "rclone.bash" => "rclone" - bash_completion.install "#{name}.bash" => name.to_s - zsh_completion.install "_rclone" - zsh_completion.install "_#{name}" - end - - def caveats - <<~EOS - The rclone binary has been installed as `#{name}`, - to avoid conflict with the core `rclone` formula. - If you need to use it as `rclone`, add the "rclone" directory - to your PATH like: - PATH="#{opt_libexec}/rclone:$PATH" - - `#{name}` supports the `mount` command on macOS, unlike the - Homebrew core `rclone`. If you don't need `mount`, please - `brew install rclone` instead. - EOS - end - - test do - (testpath/"file1.txt").write "Test!" - system bin/name.to_s, "copy", testpath/"file1.txt", testpath/"dist" - assert_match File.read(testpath/"file1.txt"), File.read(testpath/"dist/file1.txt") - system opt_libexec/"rclone/rclone", "copy", testpath/"file1.txt", testpath/"dast" - assert_match File.read(testpath/"file1.txt"), File.read(testpath/"dast/file1.txt") - end -end diff --git a/Formula/rofs-filtered-mac.rb b/Formula/rofs-filtered-mac.rb deleted file mode 100644 index 615aa85..0000000 --- a/Formula/rofs-filtered-mac.rb +++ /dev/null @@ -1,64 +0,0 @@ -require_relative "../require/macfuse" - -class RofsFilteredMac < Formula - desc "Filtered read-only filesystem for FUSE" - homepage "https://github.com/gburca/rofs-filtered/" - url "https://github.com/gburca/rofs-filtered/archive/refs/tags/rel-1.7.tar.gz" - sha256 "d66066dfd0274a2fb7b71dd929445377dd23100b9fa43e3888dbe3fc7e8228e8" - license "GPL-2.0-or-later" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - rebuild 1 - sha256 cellar: :any_skip_relocation, arm64_sonoma: "666320aa517fcda5fea5a9189caf62889ea80efc97991325934610f526565742" - sha256 cellar: :any, ventura: "0340ec5bd37f169ca31e5240a26766abef47040363f13f1fc0f7de2cd58a3e59" - end - - depends_on "cmake" => :build - depends_on "pkgconf" => :build - depends_on MacfuseRequirement - depends_on :macos - - # Use pkgconfig to find FUSE - patch :DATA - - def install - setup_fuse - system "cmake", "-S", ".", "-B", "build", - "-DCMAKE_INSTALL_SYSCONFDIR=#{etc}", - *fuse_cmake_args, *std_cmake_args - system "cmake", "--build", "build" - system "cmake", "--install", "build" - end - - test do - system "#{bin}/rofs-filtered", "--version" - end -end -__END__ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 53a6687..cb4f121 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -12,8 +12,8 @@ add_definitions(-D_GNU_SOURCE) - set(CMAKE_C_FLAGS "-Wall -std=c99") - - # find fuse library --find_package (FUSE REQUIRED) --include_directories (${FUSE_INCLUDE_DIR}) -+find_package(PkgConfig REQUIRED) -+pkg_check_modules(FUSE fuse REQUIRED) - add_definitions(-D_FILE_OFFSET_BITS=64) - - # generate config file -@@ -24,7 +24,9 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR}) - - # create and configure targets - add_executable(rofs-filtered rofs-filtered.c) --target_link_libraries(rofs-filtered ${FUSE_LIBRARIES}) -+target_include_directories(rofs-filtered PUBLIC ${FUSE_INCLUDE_DIRS}) -+target_link_libraries(rofs-filtered PUBLIC ${LIBS} ${FUSE_LDFLAGS}) -+target_compile_options(rofs-filtered PUBLIC ${FUSE_CFLAGS}) - - # configure installation - install(TARGETS rofs-filtered DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/Formula/s3-backer-mac.rb b/Formula/s3-backer-mac.rb deleted file mode 100644 index 0b78ae7..0000000 --- a/Formula/s3-backer-mac.rb +++ /dev/null @@ -1,32 +0,0 @@ -require_relative "../require/macfuse" - -class S3BackerMac < Formula - desc "FUSE-based single file backing store via Amazon S3" - homepage "https://github.com/archiecobbs/s3backer" - url "https://archie-public.s3.amazonaws.com/s3backer/s3backer-2.1.4.tar.gz" - sha256 "0451471209cc872708e91b2784a4a1b9f3ca44c89a7bffb8f6145aed28c941e7" - license "GPL-2.0-or-later" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any, arm64_sonoma: "7f67d78e85e19ec2447968526fddc16c9285c32f2d81eb5cdbaa2771fb2e7153" - sha256 cellar: :any, ventura: "51f68b3c5cba34ac4e669b9cc8b2b1f37a940fc01e3d356decb4aaf750f1e96d" - end - - depends_on "pkgconf" => :build - depends_on "curl" - depends_on "expat" - depends_on MacfuseRequirement - depends_on :macos - depends_on "openssl@3" - - def install - setup_fuse - system "./configure", "--disable-silent-rules", *std_configure_args - system "make", "install" - end - - test do - system bin/"s3backer", "--version" - end -end diff --git a/Formula/s3fs-mac.rb b/Formula/s3fs-mac.rb deleted file mode 100644 index 4d7502d..0000000 --- a/Formula/s3fs-mac.rb +++ /dev/null @@ -1,53 +0,0 @@ -require_relative "../require/macfuse" - -class S3fsMac < Formula - desc "FUSE-based file system backed by Amazon S3" - homepage "https://github.com/s3fs-fuse/s3fs-fuse/wiki" - url "https://github.com/s3fs-fuse/s3fs-fuse/archive/refs/tags/v1.95.tar.gz" - sha256 "0c97b8922f005500d36f72aee29a1345c94191f61d795e2a7b79fb7e3e6f5517" - license "GPL-2.0-or-later" - head "https://github.com/s3fs-fuse/s3fs-fuse.git", branch: "master" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any, arm64_sonoma: "ecbfca73778ed850eeef256fcba17bb229036f9fbce767fd54abc2335236efee" - sha256 cellar: :any, ventura: "0fb739e8007836e833c79d45159c78fbd05291b19afc9439683d2712d1b1dd68" - end - - depends_on "autoconf" => :build - depends_on "automake" => :build - depends_on "pkgconf" => :build - depends_on "curl" - depends_on "gcc" - depends_on "gnutls" - depends_on "libgcrypt" - depends_on "libxml2" - depends_on MacfuseRequirement - depends_on :macos - depends_on "nettle" - - fails_with :clang do - cause <<~EOS - libc++abi: terminating due to uncaught exception of type std::__1::system_error: - mutex lock failed: Invalid argument - EOS - end - - def install - setup_fuse - system "./autogen.sh" - system "./configure", "--with-gnutls", *std_configure_args - system "make", "install" - end - - def caveats - <<~EOS - This is the final version that supports FUSE 2. - Further updates require a macOS FUSE 3 implementation. - EOS - end - - test do - system "#{bin}/s3fs", "--version" - end -end diff --git a/Formula/s3ql-mac.rb b/Formula/s3ql-mac.rb deleted file mode 100644 index 8e58c40..0000000 --- a/Formula/s3ql-mac.rb +++ /dev/null @@ -1,172 +0,0 @@ -require_relative "../require/macfuse" - -class S3qlMac < Formula - include Language::Python::Virtualenv - - desc "POSIX-compliant FUSE filesystem using object store as block storage" - homepage "https://github.com/s3ql/s3ql" - url "https://github.com/s3ql/s3ql/releases/download/release-3.3.2/s3ql-3.3.2.tar.bz2" - sha256 "72b310052752e281a17468a8bbe9006db7fa1f0184b83b38c5667239dfd59e73" - license "GPL-3.0-only" - revision 1 - - bottle do - root_url "https://github.com/gromgit/homebrew-fuse/releases/download/s3ql-mac-3.3.2" - sha256 cellar: :any, arm64_monterey: "28591bf8f937e22571aebb9ea52b5a41a6674bca0e285d49009d3b6f3daff494" - sha256 cellar: :any, monterey: "f2b0297df187d806be556ec6ed6c6ad5f9d3866d505387a5aee0e0ec558f0afe" - sha256 cellar: :any, big_sur: "d25584692de92f2e9982ac22a60371844032fdd4461507eff126ff2ea5077414" - sha256 cellar: :any, catalina: "5263041b72989e71d60fd9dacf95fb3138d488fc04f25ff7438fd2f73e20e8a5" - sha256 cellar: :any, mojave: "c8438bb43cc23a6addf967de989d564af559793f639553834232319913915b67" - end - - deprecate! date: "2025-02-11", because: "requires FUSE 3 for v3.4.0 onwards, and doesn't build on modern macOS" - - depends_on "pkg-config" => :build - depends_on "libffi" - depends_on MacfuseRequirement - depends_on :macos - depends_on "openssl@3" - depends_on "python@3.13" - - resource "apsw-3-9-2" do - url "https://files.pythonhosted.org/packages/b5/a1/3de5a2d35fc34939672f4e1bd7d68cca359a31b76926f00d95f434c63aaa/apsw-3.9.2-r1.tar.gz" - sha256 "dab96fd164dde9e59f7f27228291498217fa0e74048e2c08c7059d7e39589270" - end - - resource "cachetools" do - url "https://files.pythonhosted.org/packages/30/62/88fda08df9053141647b6941141b71b4c2a23d0fabab485feb917428ab46/cachetools-4.1.0.tar.gz" - sha256 "1d057645db16ca7fe1f3bd953558897603d6f0b9c51ed9d11eb4d071ec4e2aab" - end - - resource "certifi" do - url "https://files.pythonhosted.org/packages/b8/e2/a3a86a67c3fc8249ed305fc7b7d290ebe5e4d46ad45573884761ef4dea7b/certifi-2020.4.5.1.tar.gz" - sha256 "51fcb31174be6e6664c5f69e3e1691a2d72a1a12e90f872cbdb1567eb47b6519" - end - - resource "cffi" do - url "https://files.pythonhosted.org/packages/05/54/3324b0c46340c31b909fcec598696aaec7ddc8c18a63f2db352562d3354c/cffi-1.14.0.tar.gz" - sha256 "2d384f4a127a15ba701207f7639d94106693b6cd64173d6c8988e2c25f3ac2b6" - end - - resource "chardet" do - url "https://files.pythonhosted.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d/chardet-3.0.4.tar.gz" - sha256 "84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae" - end - - resource "cryptography" do - url "https://files.pythonhosted.org/packages/56/3b/78c6816918fdf2405d62c98e48589112669f36711e50158a0c15d804c30d/cryptography-2.9.2.tar.gz" - sha256 "a0c30272fb4ddda5f5ffc1089d7405b7a71b0b0f51993cb4e5dbb4590b2fc229" - end - - resource "defusedxml" do - url "https://files.pythonhosted.org/packages/a4/5f/f8aa58ca0cf01cbcee728abc9d88bfeb74e95e6cb4334cfd5bed5673ea77/defusedxml-0.6.0.tar.gz" - sha256 "f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5" - end - - resource "dugong" do - url "https://files.pythonhosted.org/packages/db/68/74767cc13b9e7cfa9705fc9cf3b272e55350de8cd4a73c98508a95d9a52c/dugong-3.7.5.tar.bz2" - sha256 "d0d07606282230fd9832f2de647e4cb46882c227883e6a12a8ff811ac46d7283" - end - - resource "google-auth" do - url "https://files.pythonhosted.org/packages/d8/47/0b6f9d832fe0699c8daf8b645408752e995f5afbb466cfa76d9954fcf8e1/google-auth-1.14.1.tar.gz" - sha256 "e63b2210e03c4ed829063b72c4af0c4b867c2788efb3210b6b9439b488bd3afd" - end - - resource "google-auth-oauthlib" do - url "https://files.pythonhosted.org/packages/cd/5a/2b5a4c1294a4e8903bdba122083bd505dc51688a95d4670cde89dc45e6ed/google-auth-oauthlib-0.4.1.tar.gz" - sha256 "88d2cd115e3391eb85e1243ac6902e76e77c5fe438b7276b297fbe68015458dd" - end - - resource "idna" do - url "https://files.pythonhosted.org/packages/cb/19/57503b5de719ee45e83472f339f617b0c01ad75cba44aba1e4c97c2b0abd/idna-2.9.tar.gz" - sha256 "7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb" - end - - resource "llfuse" do - url "https://files.pythonhosted.org/packages/75/b4/5248459ec0e7e1608814915479cb13e5baf89034b572e3d74d5c9219dd31/llfuse-1.3.6.tar.bz2" - sha256 "31a267f7ec542b0cd62e0f1268e1880fdabf3f418ec9447def99acfa6eff2ec9" - end - - resource "oauthlib" do - url "https://files.pythonhosted.org/packages/fc/c7/829c73c64d3749da7811c06319458e47f3461944da9d98bb4df1cb1598c2/oauthlib-3.1.0.tar.gz" - sha256 "bee41cc35fcca6e988463cacc3bcb8a96224f470ca547e697b604cc697b2f889" - end - - resource "pyasn1" do - url "https://files.pythonhosted.org/packages/a4/db/fffec68299e6d7bad3d504147f9094830b704527a7fc098b721d38cc7fa7/pyasn1-0.4.8.tar.gz" - sha256 "aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba" - end - - resource "pyasn1-modules" do - url "https://files.pythonhosted.org/packages/88/87/72eb9ccf8a58021c542de2588a867dbefc7556e14b2866d1e40e9e2b587e/pyasn1-modules-0.2.8.tar.gz" - sha256 "905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e" - end - - resource "pycparser" do - url "https://files.pythonhosted.org/packages/0f/86/e19659527668d70be91d0369aeaa055b4eb396b0f387a4f92293a20035bd/pycparser-2.20.tar.gz" - sha256 "2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0" - end - - resource "requests" do - url "https://files.pythonhosted.org/packages/f5/4f/280162d4bd4d8aad241a21aecff7a6e46891b905a4341e7ab549ebaf7915/requests-2.23.0.tar.gz" - sha256 "b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6" - end - - resource "requests-oauthlib" do - url "https://files.pythonhosted.org/packages/23/eb/68fc8fa86e0f5789832f275c8289257d8dc44dbe93fce7ff819112b9df8f/requests-oauthlib-1.3.0.tar.gz" - sha256 "b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a" - end - - resource "rsa" do - url "https://files.pythonhosted.org/packages/cb/d0/8f99b91432a60ca4b1cd478fd0bdf28c1901c58e3a9f14f4ba3dba86b57f/rsa-4.0.tar.gz" - sha256 "1a836406405730121ae9823e19c6e806c62bbad73f890574fff50efa4122c487" - end - - resource "six" do - url "https://files.pythonhosted.org/packages/21/9f/b251f7f8a76dec1d6651be194dfba8fb8d7781d10ab3987190de8391d08e/six-1.14.0.tar.gz" - sha256 "236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a" - end - - resource "urllib3" do - url "https://files.pythonhosted.org/packages/05/8c/40cd6949373e23081b3ea20d5594ae523e681b6f472e600fbc95ed046a36/urllib3-1.25.9.tar.gz" - sha256 "3018294ebefce6572a474f0604c2021e33b3fd8006ecd11d62107a5d2a963527" - end - - def install - setup_fuse - venv = virtualenv_create(libexec, "python3") - resources.each do |r| - venv.pip_install r - end - - # The inreplace changes the name of the (fsck|mkfs|mount|umount).s3ql - # utilities to use underscore (_) as a separator, which is consistent - # with other tools on macOS. - # Final names: fsck_s3ql, mkfs_s3ql, mount_s3ql, umount_s3ql - inreplace "setup.py", /'(?:(mkfs|fsck|mount|umount)\.)s3ql =/, "'\\1_s3ql =" - - system libexec/"bin/python3", "setup.py", "build_ext", "--inplace" - venv.pip_install_and_link buildpath - end - - def caveats - <<~EOS - This formula is outdated, and is provided only as a courtesy. - It cannot be updated until macFUSE supports FUSE API version 3. - - If security issues are discovered with this old software, - it may be removed without notice. - EOS - end - - test do - assert_match "S3QL ", shell_output(bin/"mount_s3ql --version") - - # create a local filesystem, and run an fsck on it - assert_equal "Library\n", shell_output("ls") - assert_match "Creating metadata", shell_output(bin/"mkfs_s3ql --plain local://#{testpath} 2>&1") - assert_match "s3ql_metadata", shell_output("ls s3ql_metadata") - system bin/"fsck_s3ql", "local://#{testpath}" - end -end diff --git a/Formula/securefs-mac.rb b/Formula/securefs-mac.rb deleted file mode 100644 index 838f7db..0000000 --- a/Formula/securefs-mac.rb +++ /dev/null @@ -1,52 +0,0 @@ -require_relative "../require/macfuse" - -class SecurefsMac < Formula - desc "Filesystem with transparent authenticated encryption" - homepage "https://github.com/netheril96/securefs" - url "https://github.com/netheril96/securefs/archive/refs/tags/v2.0.0.tar.gz" - sha256 "d7fac7adc70c09473173aeadee5b7041d7e63fbf392ef40bdd77888590bb12a2" - license "MIT" - head "https://github.com/netheril96/securefs.git", branch: "master" - - livecheck do - url :stable - strategy :github_latest - end - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any, arm64_sequoia: "78b2a05c1291ba2828512745ac2b959786288389e44fe44dc0d4cda2a6bd68cc" - sha256 cellar: :any, arm64_sonoma: "54efe58e868a530d252e05beb72537171bd1f4559c16f876d92c31394a89ffb4" - end - - depends_on "cmake" => :build - depends_on "pkgconf" => :build - depends_on "tclap" => :build - depends_on "abseil" - depends_on "argon2" - depends_on "cryptopp" - depends_on "fruit" - depends_on "jsoncpp" - depends_on MacfuseRequirement - depends_on :macos - depends_on "protobuf" - depends_on "sqlite" - depends_on "uni-algo" - depends_on "utf8proc" - - def install - setup_fuse - args = %w[ - -DSECUREFS_ENABLE_INTEGRATION_TEST=OFF - -DSECUREFS_ENABLE_UNIT_TEST=OFF - -DSECUREFS_USE_VCPKG=OFF - ] - system "cmake", "-S", ".", "-B", "build", *std_cmake_args, *args - system "cmake", "--build", "build" - system "cmake", "--install", "build" - end - - test do - system bin/"securefs", "version" # The sandbox prevents a more thorough test - end -end diff --git a/Formula/simple-mtpfs-mac.rb b/Formula/simple-mtpfs-mac.rb deleted file mode 100644 index 02a4bf4..0000000 --- a/Formula/simple-mtpfs-mac.rb +++ /dev/null @@ -1,55 +0,0 @@ -require_relative "../require/macfuse" - -class SimpleMtpfsMac < Formula - desc "Simple MTP fuse filesystem driver" - homepage "https://github.com/phatina/simple-mtpfs" - url "https://github.com/phatina/simple-mtpfs/archive/refs/tags/v0.4.0.tar.gz" - sha256 "1d011df3fa09ad0a5c09d48d84c03e6cddf86390af9eb4e0c178193f32f0e2fc" - license "GPL-2.0-or-later" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - rebuild 1 - sha256 cellar: :any, arm64_sonoma: "cf831fa0da5d53fbef60c754223bb2ed7601c80e89d7bb11be4bd349001b2f1e" - sha256 cellar: :any, ventura: "01adbaed0737e09f73ec91d8e248a1a9c138e06f8476cd6da23e6b511f3c68d9" - end - - depends_on "autoconf" => :build - depends_on "autoconf-archive" => :build # required for AX_CXX_COMPILE_STDCXX_17 - depends_on "automake" => :build - depends_on "pkgconf" => :build - depends_on "libmtp" - depends_on "libusb" - depends_on MacfuseRequirement - depends_on :macos - - patch :DATA - - def install - setup_fuse - system "./autogen.sh" - system "./configure", "--disable-silent-rules", *std_configure_args - system "make" - system "make", "install" - end - - test do - system bin/"simple-mtpfs", "-h" - end -end -__END__ -diff --git a/configure.ac b/configure.ac -index 321cfec..a5e9294 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -25,8 +25,8 @@ test "x$os_name" == "xDarwin" || AC_CHECK_FUNCS([fdatasync]) - - PKG_CHECK_MODULES([FUSE], [fuse >= 2.7.3]) - if test "x$os_name" == "xDarwin"; then -- AC_SUBST([FUSE_CFLAGS],["-D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/include/osxfuse"]) -- AC_SUBST([FUSE_LIBS],["-L/usr/local/lib -losxfuse -pthread -liconv"]) -+ AC_SUBST([FUSE_CFLAGS],["-D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/include/fuse"]) -+ AC_SUBST([FUSE_LIBS],["-L/usr/local/lib -lfuse -pthread -liconv"]) - fi - - PKG_CHECK_MODULES( diff --git a/Formula/squashfuse-mac.rb b/Formula/squashfuse-mac.rb deleted file mode 100644 index 9a4a989..0000000 --- a/Formula/squashfuse-mac.rb +++ /dev/null @@ -1,41 +0,0 @@ -require_relative "../require/macfuse" - -class SquashfuseMac < Formula - desc "FUSE filesystem to mount squashfs archives" - homepage "https://github.com/vasi/squashfuse" - url "https://github.com/vasi/squashfuse/releases/download/0.6.1/squashfuse-0.6.1.tar.gz" - sha256 "7b18a58c40a3161b5c329ae925b72336b5316941f906b446b8ed6c5a90989f8c" - license "BSD-2-Clause" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any, arm64_sonoma: "9618c3556506fecc5234a9f2f238fe7e6f51cd3782fdc0d6580d222bbaff3485" - sha256 cellar: :any, ventura: "03092b26301eb86ed81db27cf2a7558d55f9ed3099ee09262065edcacb9ea8b1" - end - - depends_on "autoconf" => :build - depends_on "automake" => :build - depends_on "libtool" => :build - depends_on "pkgconf" => :build - depends_on "lz4" - depends_on "lzo" - depends_on MacfuseRequirement - depends_on :macos - depends_on "squashfs" - depends_on "xz" - depends_on "zlib" - depends_on "zstd" - - def install - setup_fuse - system "./configure", *std_configure_args - system "make", "install" - end - - # Unfortunately, making/testing a squash mount requires sudo privileges, so - # just test that squashfuse execs for now. - test do - output = shell_output("#{bin}/squashfuse --version 2>&1", 254) - assert_match version.to_s, output - end -end diff --git a/Formula/sshfs-mac.rb b/Formula/sshfs-mac.rb deleted file mode 100644 index d77274d..0000000 --- a/Formula/sshfs-mac.rb +++ /dev/null @@ -1,84 +0,0 @@ -require_relative "../require/macfuse" - -class SshfsMac < Formula - desc "File system client based on SSH File Transfer Protocol" - homepage "https://github.com/libfuse/sshfs" - url "https://github.com/libfuse/sshfs/archive/refs/tags/sshfs-2.10.tar.gz" - sha256 "6af13acda03a4632e3deb559ecc3f35881cb92e16098049a7ba4cc502650ab18" - license any_of: ["LGPL-2.1-only", "GPL-2.0-only"] - revision 1 - - bottle do - root_url "https://github.com/gromgit/homebrew-fuse/releases/download/sshfs-mac-2.10" - sha256 cellar: :any, arm64_monterey: "422abbbbd1804e67c27a21b976e4e82cfdffd977b5aa2cf7ee4e21fc2b548167" - sha256 cellar: :any, monterey: "ffbc11b371d196dd6a32c13b21dfc28af7f7577145a62a165062228c2c661263" - sha256 cellar: :any, big_sur: "9e021d24580ec55f4ab034dba0e264906d9db5c57036fe83710bc601bc6885c6" - sha256 cellar: :any, catalina: "09f254420411218a784c783df760d2c652acd280eecc875d60e41014f80011cc" - sha256 cellar: :any, mojave: "6389b69b921295f5be6eb35336649f558375eb24da60573b376a313331a4d18c" - end - - deprecate! date: "2025-02-11", because: :unmaintained - - depends_on "autoconf" => :build - depends_on "automake" => :build - depends_on "libtool" => :build - depends_on "pkg-config" => :build - depends_on "glib" - depends_on MacfuseRequirement - depends_on :macos - - patch do - url "https://github.com/libfuse/sshfs/commit/667cf34622e2e873db776791df275c7a582d6295.patch?full_index=1" - sha256 "ab2aa697d66457bf8a3f469e89572165b58edb0771aa1e9c2070f54071fad5f6" - end - - patch :DATA - - def install - setup_fuse - system "autoreconf", "-fiv" - system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}" - system "make", "install" - end - - def caveats - <<~EOS - This formula is outdated, and is provided only as a courtesy. - It cannot be updated until macFUSE supports FUSE API version 3. - - If security issues are discovered with this old software, - it may be removed without notice. - EOS - end - - test do - system "#{bin}/sshfs", "--version" - end -end -__END__ -diff --git a/configure.ac b/configure.ac -index 76026ad..671810b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -16,7 +16,6 @@ case "$target_os" in - *) osname=unknown;; - esac - --export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH - PKG_CHECK_MODULES([SSHFS], [fuse >= 2.3 glib-2.0 gthread-2.0]) - have_fuse_opt_parse=no - oldlibs="$LIBS" -diff --git a/sshfs.c b/sshfs.c -index 97eaf06..d442577 100644 ---- a/sshfs.c -+++ b/sshfs.c -@@ -14,9 +14,6 @@ - #if !defined(__CYGWIN__) - #include - #endif --#ifdef __APPLE__ --# include --#endif - #include - #include - #include diff --git a/Formula/sshfs@2.rb b/Formula/sshfs@2.rb new file mode 100644 index 0000000..2ea29de --- /dev/null +++ b/Formula/sshfs@2.rb @@ -0,0 +1,49 @@ +require_relative "../require/macfuse" + +class SshfsAT2 < Formula + desc "File system client based on SSH File Transfer Protocol" + homepage "https://github.com/libfuse/sshfs" + url "https://github.com/libfuse/sshfs/archive/refs/tags/sshfs-2.10.tar.gz" + sha256 "6af13acda03a4632e3deb559ecc3f35881cb92e16098049a7ba4cc502650ab18" + license any_of: ["LGPL-2.1-only", "GPL-2.0-only"] + + depends_on "autoconf" => :build + depends_on "automake" => :build + depends_on "libtool" => :build + depends_on "pkg-config" => :build + depends_on "glib" + depends_on MacfuseRequirement + depends_on :macos + + patch do + url "https://github.com/libfuse/sshfs/commit/667cf34622e2e873db776791df275c7a582d6295.patch?full_index=1" + sha256 "ab2aa697d66457bf8a3f469e89572165b58edb0771aa1e9c2070f54071fad5f6" + end + + patch :DATA + + def install + system "autoreconf", "-fiv" + system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}" + system "make", "install" + end + + test do + system "#{bin}/sshfs", "--version" + end +end +__END__ +diff --git a/sshfs.c b/sshfs.c +index 97eaf06..d442577 100644 +--- a/sshfs.c ++++ b/sshfs.c +@@ -14,9 +14,6 @@ + #if !defined(__CYGWIN__) + #include + #endif +-#ifdef __APPLE__ +-# include +-#endif + #include + #include + #include diff --git a/Formula/tup-mac.rb b/Formula/tup-mac.rb deleted file mode 100644 index bb5ca0b..0000000 --- a/Formula/tup-mac.rb +++ /dev/null @@ -1,34 +0,0 @@ -require_relative "../require/macfuse" - -class TupMac < Formula - desc "File-based build system" - homepage "http://gittup.org/tup/" - url "https://github.com/gittup/tup/archive/refs/tags/v0.8.tar.gz" - sha256 "45ca35c4c1d140f3faaab7fabf9d68fd9c21074af2af9a720cff4b27cab47d07" - license "GPL-2.0-only" - head "https://github.com/gittup/tup.git" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "c560a370134cbe065d983bc0f40a3fb7481524eeae8463c891b91853ff2813a8" - sha256 cellar: :any, ventura: "1553e833231b266f2c270dfe8e7e21933af45ffe8c37aba141cd3ce2706f6f46" - end - - depends_on "pkg-config" => :build - depends_on MacfuseRequirement - depends_on :macos - - def install - setup_fuse - ENV["TUP_LABEL"] = version - system "./build.sh" - bin.install "build/tup" - man1.install "tup.1" - doc.install (buildpath/"docs").children - pkgshare.install "contrib/syntax" - end - - test do - system "#{bin}/tup", "-v" - end -end diff --git a/Formula/unionfs-fuse.rb b/Formula/unionfs-fuse.rb deleted file mode 100644 index 89854cf..0000000 --- a/Formula/unionfs-fuse.rb +++ /dev/null @@ -1,53 +0,0 @@ -require_relative "../require/macfuse" - -class UnionfsFuse < Formula - desc "Union filesystem using FUSE" - homepage "https://github.com/rpodgorny/unionfs-fuse" - url "https://github.com/rpodgorny/unionfs-fuse/archive/refs/tags/v3.7.tar.gz" - sha256 "026f5302279110ceb7465e5c9e863cd0319ea0dc32ad253d162cf9db0f5e9a81" - license "BSD-3-Clause" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 cellar: :any_skip_relocation, arm64_sequoia: "bd96797c922e35716d4bf81b585eccff801f33d416177b3c1f64408cf9049095" - sha256 cellar: :any_skip_relocation, arm64_sonoma: "66afec09b9d1ec0d1549a8afe97a0fa6f1f65374c9e42898655f6ad9d718c02c" - sha256 cellar: :any_skip_relocation, ventura: "c10761c0cb52fbaa60425a8e5c3a58cc0ae7868c33943a02c9006bdcb60f8f78" - end - - depends_on "cmake" => :build - depends_on "pkg-config" => :build - depends_on MacfuseRequirement - - def install - setup_fuse - inreplace "CMakeLists.txt", "/usr/local", alt_fuse_root.to_s - mkdir "build" do - system "cmake", "..", - "-DCMAKE_C_COMPILER=clang", - "-DCMAKE_C_FLAGS=-std=gnu99", - *std_cmake_args - system "make", "install" - end - end - - test do - assert_match version.to_s, shell_output("#{bin}/unionfs --version 2>&1") - # TODO: fix test - # (testpath/"t1").mkdir - # (testpath/"t1/test1.txt").write <<~EOS - # This is test 1. - # EOS - # (testpath/"t2").mkdir - # (testpath/"t2/test2.txt").write <<~EOS - # This is test 2. - # EOS - # (testpath/"t3").mkdir - # begin - # system "#{bin}/unionfs", "-o", "cow,max_files=32768,allow_other,use_ino,nonempty", - # "#{testpath}/t1=RW:#{testpath}/t2=RO", testpath/"t3" - # assert_match "test 2", pipe_output("cat #{testpath}/t3/test2.txt") - # ensure - # system "umount", "#{testpath}/t3" - # end - end -end diff --git a/Formula/wdfs-mac.rb b/Formula/wdfs-mac.rb deleted file mode 100644 index 723734e..0000000 --- a/Formula/wdfs-mac.rb +++ /dev/null @@ -1,32 +0,0 @@ -require_relative "../require/macfuse" - -class WdfsMac < Formula - desc "Webdav file system" - homepage "http://noedler.de/projekte/wdfs/" - url "http://noedler.de/projekte/wdfs/wdfs-1.4.2.tar.gz" - sha256 "fcf2e1584568b07c7f3683a983a9be26fae6534b8109e09167e5dff9114ba2e5" - license "GPL-2.0-or-later" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - rebuild 1 - sha256 cellar: :any, arm64_sonoma: "470836a78df1eefa59cf45a46d2592313bdb32a51d0797266fe2c6ee1c588867" - sha256 cellar: :any, ventura: "d4350a182eeecb7003c5ff582c5a1329e156f894d9ac0a0aa64485f607fdc55d" - end - - depends_on "pkgconf" => :build - depends_on "glib" - depends_on MacfuseRequirement - depends_on :macos - depends_on "neon" - - def install - setup_fuse - system "./configure", *std_configure_args - system "make", "install" - end - - test do - system bin/"wdfs", "-v" - end -end diff --git a/Formula/xmount-mac.rb b/Formula/xmount-mac.rb deleted file mode 100644 index efdc74b..0000000 --- a/Formula/xmount-mac.rb +++ /dev/null @@ -1,79 +0,0 @@ -require_relative "../require/macfuse" - -class XmountMac < Formula - desc "Convert between multiple input & output disk image types" - homepage "https://www.sits.lu/xmount" - url "https://code.sits.lu/foss/xmount/-/archive/1.2.1/xmount-1.2.1.tar.gz" - sha256 "61b0b777ca0cd4eda30aeeeca7ec17a49d2657599a37745fb94f8dcc432b93c7" - - bottle do - root_url "https://ghcr.io/v2/gromgit/fuse" - sha256 arm64_sequoia: "cc8c7f233c8e40a6512736f137aff799dc3f986e6be60c3eea476a8d9b127383" - sha256 arm64_sonoma: "61f67c7481c3f76e4d9d8b11a7100bae495b5b655524739722d867593fc494a2" - end - - depends_on "cmake" => :build - depends_on "pkgconf" => :build - depends_on "afflib" - depends_on "libewf" - depends_on MacfuseRequirement - depends_on :macos - depends_on "openssl@3" - - patch :DATA - - def install - setup_fuse - ENV.prepend_path "PKG_CONFIG_PATH", Formula["openssl@3"].opt_lib/"pkgconfig" - - system "cmake", "-S", ".", "-B", "build", *fuse_cmake_args, *std_cmake_args - system "cmake", "--build", "build" - system "cmake", "--install", "build" - end - - test do - system bin/"xmount", "--version" - end -end -__END__ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7369014..0bea886 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -73,9 +73,6 @@ check_include_files(libkern/OSByteOrder.h HAVE_LIBKERN_OSBYTEORDER_H) - find_package(Threads REQUIRED) - if(NOT APPLE) - find_package(LibFUSE REQUIRED) --else(NOT APPLE) -- # On OSx, search for osxfuse -- find_package(LibOSXFUSE REQUIRED) - endif(NOT APPLE) - - # Generate config.h and add it's path to the include dirs -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 92d9b8f..623c3d1 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -2,9 +2,8 @@ if(NOT APPLE) - include_directories(${LIBFUSE_INCLUDE_DIRS}) - set(LIBS ${LIBS} ${LIBFUSE_LIBRARIES}) - else(NOT APPLE) -- include_directories(${LIBOSXFUSE_INCLUDE_DIRS}) -- set(LIBS ${LIBS} ${LIBOSXFUSE_LIBRARIES}) -- link_directories(${LIBOSXFUSE_LIBRARY_DIRS}) -+ find_package(PkgConfig REQUIRED) -+ pkg_check_modules(FUSE fuse REQUIRED) - endif(NOT APPLE) - - if(LIBFUSE_VERSION EQUAL 3) -@@ -25,7 +24,9 @@ if(THREADS_HAVE_PTHREAD_ARG) - target_compile_options(xmount PUBLIC "-pthread") - endif(THREADS_HAVE_PTHREAD_ARG) - --target_link_libraries(xmount ${LIBS}) -+target_include_directories(xmount PUBLIC ${FUSE_INCLUDE_DIRS}) -+target_link_libraries(xmount PUBLIC ${LIBS} ${FUSE_LDFLAGS}) -+target_compile_options(xmount PUBLIC ${FUSE_CFLAGS}) - - install(TARGETS xmount DESTINATION bin) - diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index 12500f7..0000000 --- a/LICENSE.txt +++ /dev/null @@ -1,25 +0,0 @@ -BSD 2-Clause License - -Copyright (c) 2009-present, Homebrew contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* 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. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/README.md b/README.md index b72677c..87136c0 100644 --- a/README.md +++ b/README.md @@ -1,67 +1,14 @@ # gromgit's macOS FUSE stuff -This tap exists to support macOS FUSE-related software that have been dropped from Homebrew core. - ---- - -# !!! WARNING: Reduced Build Coverage !!! - -All my old Intel Mac hardware is dead, and I'm not inclined to spend additional resources spinning up VMs or building Hackintoshes at this stage. As of 2025-Feb-10, the only bottles built will be for those macOS versions supported by GitHub runners (currently Ventura on Intel and Sonoma on ARM). Sorry. - ---- +This tap exists to support macOS FUSE-related software that will be dropped from Homebrew core at some point. ## How do I install these formulae? +`brew install gromgit/fuse/` -First, if you've already installed FUSE formulae from the core tap _before_ they were disabled, you might _not_ want to switch over to my formulae, because: -1. As far as I know, Homebrew will not remove them from your system, even after the formulae themselves are deleted. -1. Many of these formulae are rather old, so you're unlikely to find updates anyway. +Or `brew tap gromgit/fuse` and then `brew install `. -But if you _do_ want to install my formulae over the core ones, you should uninstall the core formulae first. +## Hey, why is XYZ not available? +Probably because I haven't gotten around to putting it in yet. If you need it, [file an issue](https://github.com/gromgit/homebrew-fuse/issues/new/choose) and I'll see what can be done. ## Documentation - `brew help`, `man brew` or check [Homebrew's documentation](https://docs.brew.sh). - -## FAQ - -### Why is XYZ not available? - -It's probably available, but with a `-mac` suffix to avoid name clashes with Homebrew core (e.g. `sshfs` becomes `sshfs-mac`). - -If you can't find it under its new name, possible reasons include: -1. All available versions of `XYZ` require version 3 of the libfuse API, but macFUSE only supports v2. -1. I might not have gotten around to getting it up. [File an issue](https://github.com/gromgit/homebrew-fuse/issues/new/choose) to get my attention. 😀 - -### Why is XYZ so old? - -Possible reasons: -1. Current `XYZ` requires FUSE 3, which is not supported by all known macOS FUSE drivers, so the version you see is the latest one that can be built on macOS. -1. `XYZ` was abandoned by its authors. If you know of a revived fork of such software, [file an issue](https://github.com/gromgit/homebrew-fuse/issues/new/choose) with the details and I'll see what can be done. -1. I might not have gotten around to updating it yet. [File an issue](https://github.com/gromgit/homebrew-fuse/issues/new/choose) to get my attention. 😀 - -### Why is the XYZ formula called `XYZ-mac`? - -To avoid a naming conflict with the formula called `XYZ` that still exists in Homebrew core. - -### Why is the XYZ _program_ installed as `XYZ-mac`? - -`brew info gromgit/fuse/XYZ-mac` and read the _Caveats_ section. - -### Why does Homebrew say I need to build `XYZ-mac` from source? - -All my old Intel Mac hardware is dead, so I'm relying now on the free GitHub runners to build bottles. - -### Why can't I build XYZ on an ARM Mac? - -Homebrew currently [filters out `/usr/local` entirely during ARM-based builds](https://github.com/Homebrew/brew/blob/04532cb6216b69a5b067aa7a4e22cff0944b257d/Library/Homebrew/shims/super/cc#L266-L270). I've devised a workaround for this, that seems to work well on both Intel and ARM GitHub runners. If you still can't build it, please [file an issue](https://github.com/gromgit/homebrew-fuse/issues/new/choose). - -## Why aren't you using fuse-t in place of MacFUSE? - -As of 2025-Feb-16, [fuse-t](https://github.com/macos-fuse-t/fuse-t) is certainly interesting, but not enough of an improvement to make me force everyone to move over. - -For this to happen, at least one of the following needs to happen: - -1. **open source**, so there's a hope of getting it into Homebrew core _a la_ `libfuse{,@2}`, and get rid of all the `require` hackery in these formulae -1. **FUSE 2 and 3 support**, so we're not stuck in the past with half these formulae, but are still able to build older FUSE 2 formulae - -If any macOS FUSE implementation achieves *all* the above, I'm prepared to move everything over. Heck, if point 1 is achieved, this repo may itself become defunct. diff --git a/cmd/brew-test-fuse b/cmd/brew-test-fuse deleted file mode 100755 index 5f702ad..0000000 --- a/cmd/brew-test-fuse +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env bash -#:`brew test-fuse` -#: Tests local FUSE installation - -. "$(dirname "$0")"/../lib/funcs.sh - -tmpdir=/tmp/fuse-test.$$ -mkdir -p "$tmpdir"/test_mount -trap 'rm -fr "$tmpdir"' EXIT - -[[ $(uname -s) == "Darwin" ]] || fatal "This script can only be run on macOS" - -cd "$tmpdir" -eval "$(brew shellenv)" - -info "Checking for FUSE installation" -cmd pkgutil --pkg-info io.macfuse.installer.components.core -cmd pkgutil --lsbom io.macfuse.installer.components.core - -info "Test FUSE build" -examples=( - https://raw.githubusercontent.com/libfuse/libfuse/46b9c3326d50aebe52c33d63885b83a47a2e74ea/example/hello.c - https://raw.githubusercontent.com/libfuse/libfuse/46b9c3326d50aebe52c33d63885b83a47a2e74ea/example/hello_ll.c - https://raw.githubusercontent.com/libfuse/libfuse/46b9c3326d50aebe52c33d63885b83a47a2e74ea/example/null.c -) -for u in "${examples[@]}"; do - # Get the last FUSE 2.x lowlevel example file - cmd curl -sOL "$u" - # Build it Homebrew-style - f=${u##*/}; p=${f%.c} - cmd clang -D_FILE_OFFSET_BITS=64 -I/usr/local/include/fuse -L/usr/local/lib -g -O2 -Wall -o "$p" "$f" -lfuse -lpthread -done diff --git a/formula_renames.json b/formula_renames.json deleted file mode 100644 index 6bd4616..0000000 --- a/formula_renames.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "afuse": "afuse-mac", - "archivemount": "archivemount-mac", - "avfs": "avfs-mac", - "bindfs": "bindfs-mac", - "curlftpfs": "curlftpfs-mac", - "dislocker": "dislocker-mac", - "encfs": "encfs-mac", - "ext4fuse": "ext4fuse-mac", - "fuse-zip": "fuse-zip-mac", - "gcsfuse": "gcsfuse-mac", - "ntfs-3g": "ntfs-3g-mac", - "sshfs": "sshfs-mac" -} diff --git a/lib/funcs.sh b/lib/funcs.sh deleted file mode 100644 index ddea59d..0000000 --- a/lib/funcs.sh +++ /dev/null @@ -1,79 +0,0 @@ -# shellcheck shell=bash -# shellcheck disable=SC2034 -# string formatters -if [[ -t 1 ]] -then - Tty_escape() { printf "\033[%sm" "$1"; } -else - Tty_escape() { :; } -fi -Tty_mkbold() { Tty_escape "1;${1:-39}"; } -Tty_red=$(Tty_mkbold 31) -Tty_green=$(Tty_mkbold 32) -Tty_brown=$(Tty_mkbold 33) -Tty_blue=$(Tty_mkbold 34) -Tty_magenta=$(Tty_mkbold 35) -Tty_cyan=$(Tty_mkbold 36) -Tty_white=$(Tty_mkbold 37) -Tty_underscore=$(Tty_escape 38) -Tty_bold=$(Tty_mkbold 39) -Tty_reset=$(Tty_escape 0) - -msg_prefix="" - -# fatal: Report fatal error -# USAGE: fatal ... -fatal() { - echo "${Tty_red}${msg_prefix}FATAL ERROR:${Tty_reset} $*" >&2 - exit 1 -} - -# error: Report error -# USAGE: error ... -error() { - echo "${Tty_red}${msg_prefix}ERROR:${Tty_reset} $*" >&2 -} - -# warn: Report warning -# USAGE: warn ... -warn() { - echo "${Tty_blue}${msg_prefix}Warning:${Tty_reset} $*" >&2 -} - -# info: Informational message -# USAGE: info ... -info() { - echo "${Tty_green}${msg_prefix}Info:${Tty_reset} $*" >&2 -} - -# need_progs: Checks for command dependencies -# USAGE: need_progs ... -need_progs() { - local missing=() - local i - for i in "$@" - do - type -P "${i}" &>/dev/null || missing+=("${i}") - done - if [[ ${#missing[@]} -gt 0 ]] - then - fatal "Commands missing: ${missing[*]}" - fi -} - -# cmd: Show command being run -# USAGE: cmd ... -cmd() { - echo "${Tty_cyan}>>> $*${Tty_reset}" >&2 - command "$@" -} - -# git_in: Run Git command in repo -# USAGE: git_in ... -git_in() { - local repo=$1 - shift - pushd "${repo}" >/dev/null || fatal "Can't cd to '${repo}'" - cmd git "$@" - popd >/dev/null || exit -} diff --git a/lib/fuse-pkg-config b/lib/fuse-pkg-config deleted file mode 100755 index 4f5bb66..0000000 --- a/lib/fuse-pkg-config +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash - -fuse_root=%FUSE_ROOT% - -# Collect args -pkgs=() -flags=() - -for a in "$@"; do - [[ $a == -* ]] && flags+=("$a") || pkgs+=("$a") -done - -if [[ ${#pkgs[@]} -eq 0 ]]; then - pkg-config "${flags[@]}" -else - for p in "${pkgs[@]}"; do - if [[ $p == fuse ]]; then - pkg-config "${flags[@]}" "$p" | sed "s@/usr/local@${fuse_root}@g" - else - pkg-config "${flags[@]}" "$p" - fi - done -fi diff --git a/require/macfuse.rb b/require/macfuse.rb index e6227e2..2ecf886 100644 --- a/require/macfuse.rb +++ b/require/macfuse.rb @@ -1,7 +1,5 @@ -# typed: false # frozen_string_literal: true -# USAGE: `depends_on MacfuseRequirement` class MacfuseRequirement < Requirement fatal true @@ -14,178 +12,14 @@ class MacfuseRequirement < Requirement env do ENV.append_path "PKG_CONFIG_PATH", HOMEBREW_LIBRARY/"Homebrew/os/mac/pkgconfig/fuse" + + unless HOMEBREW_PREFIX.to_s == "/usr/local" + ENV.append_path "HOMEBREW_LIBRARY_PATHS", "/usr/local/lib" + ENV.append_path "HOMEBREW_INCLUDE_PATHS", "/usr/local/include" + end end def message - "This formula requires macFUSE. Please run `brew install --cask macfuse` first." - end - - def display_s - "macFUSE" - end -end - -# Add `setup_fuse` to base Formula class, for use by FUSE formulae -class Formula - def need_alt_fuse? - HOMEBREW_PREFIX.to_s != "/usr/local" - end - - def alt_fuse_root - buildpath/"temp" - end - - def fuse_cmake_args - return unless need_alt_fuse? - - %W[ - -DCMAKE_INCLUDE_PATH=#{alt_fuse_root}/include/fuse;#{alt_fuse_root}/include - -DCMAKE_LIBRARY_PATH=#{alt_fuse_root}/lib - -DCMAKE_CXX_FLAGS=-I#{alt_fuse_root}/include/fuse\ -D_USE_FILE_OFFSET_BITS=64 - ] - # -DPKG_CONFIG=#{fuse_pkgconfig} - # -DPKG_CONFIG_EXECUTABLE=#{fuse_pkgconfig} - # -DFUSE_INCLUDE_DIR=#{alt_fuse_root}/include/fuse - # -DFUSE_LIBRARIES=#{alt_fuse_root}/lib/libfuse.dylib - end - - def setup_fuse_includes - mkdir "#{alt_fuse_root}/include" do - Dir["/usr/local/include/fuse", "/usr/local/include/fuse.h"].each { |f| cp_r f, "." } - end - end - - def setup_fuse3_includes - mkdir "#{alt_fuse_root}/include" do - Dir["/usr/local/include/fuse3"].each { |f| cp_r f, "." } - end - end - - def setup_fuse_libs - mkdir "#{alt_fuse_root}/lib" do - Dir["/usr/local/lib/libfuse.*"].each { |f| cp_r f, "." } - end - end - - def setup_fuse3_libs - mkdir "#{alt_fuse_root}/lib" do - Dir["/usr/local/lib/libfuse3.*"].each { |f| cp_r f, "." } - end - end - - def setup_fuse_pkgconfig - ### OLD METHOD: Fake pkg-config - # mkdir "#{alt_fuse_root}/bin" do - # cp path/"../../lib/fuse-pkg-config", "." - # inreplace "fuse-pkg-config", "%FUSE_ROOT%", "#{alt_fuse_root}" - # end - # ENV["PKG_CONFIG"] = "#{fuse_pkgconfig}" - - ### NEW METHOD: Fix fuse.pc in alt root - mkdir "#{alt_fuse_root}/lib/pkgconfig" do - cp "/usr/local/lib/pkgconfig/fuse.pc", "." - inreplace "fuse.pc", "/usr/local", alt_fuse_root.to_s - end - ENV.prepend_path "PKG_CONFIG_PATH", "#{alt_fuse_root}/lib/pkgconfig" - end - - def setup_fuse3_pkgconfig - mkdir "#{alt_fuse_root}/lib/pkgconfig" do - cp "/usr/local/lib/pkgconfig/fuse3.pc", "." - inreplace "fuse3.pc", "/usr/local", alt_fuse_root.to_s - end - ENV.prepend_path "PKG_CONFIG_PATH", "#{alt_fuse_root}/lib/pkgconfig" - end - - # def fuse_pkgconfig - # return "#{alt_fuse_root}/bin/fuse-pkg-config" if need_alt_fuse? - # "pkg-config" - # end - - def setup_fuse_env - odebug "Setting up FUSE temp environment under #{alt_fuse_root}" - setup_fuse_includes - setup_fuse_libs - setup_fuse_pkgconfig - Dir.glob("#{alt_fuse_root}/**/*").each { |f| odebug ">>> #{f}" } - end - - def setup_fuse3_env - odebug "Setting up FUSE3 temp environment under #{alt_fuse_root}" - setup_fuse3_includes - setup_fuse3_libs - setup_fuse3_pkgconfig - Dir.glob("#{alt_fuse_root}/**/*").each { |f| odebug ">>> #{f}" } - end - - def disable_macfuse_extensions - ENV.append "CFLAGS", "-DFUSE_DARWIN_ENABLE_EXTENSIONS=0" - ENV.append "CPPFLAGS", "-DFUSE_DARWIN_ENABLE_EXTENSIONS=0" - ENV.append "CXXFLAGS", "-DFUSE_DARWIN_ENABLE_EXTENSIONS=0" - ENV.append "CGO_CPPFLAGS", "-DFUSE_DARWIN_ENABLE_EXTENSIONS=0" - end - - def setup_fuse_flags - ENV.append "CFLAGS", "-I#{alt_fuse_root}/include/fuse" - ENV.append "CFLAGS", "-I#{alt_fuse_root}/include" - ENV.append "CFLAGS", "-D_FILE_OFFSET_BITS=64" - ENV.append "CFLAGS", "-D_USE_FILE_OFFSET_BITS=64" - ENV.append "CPPFLAGS", "-I#{alt_fuse_root}/include/fuse" - ENV.append "CPPFLAGS", "-I#{alt_fuse_root}/include" - ENV.append "CPPFLAGS", "-D_FILE_OFFSET_BITS=64" - ENV.append "CPPFLAGS", "-D_USE_FILE_OFFSET_BITS=64" - ENV.append "CXXFLAGS", "-I#{alt_fuse_root}/include/fuse" - ENV.append "CPPFLAGS", "-I#{alt_fuse_root}/include" - ENV.append "CXXFLAGS", "-D_FILE_OFFSET_BITS=64" - ENV.append "CXXFLAGS", "-D_USE_FILE_OFFSET_BITS=64" - ENV.append "LDFLAGS", "-L#{alt_fuse_root}/lib" - ENV.append "CGO_CPPFLAGS", "-I#{alt_fuse_root}/include/fuse" - ENV.append "CGO_CPPFLAGS", "-I#{alt_fuse_root}/include" - ENV.append "CGO_CPPFLAGS", "-D_FILE_OFFSET_BITS=64" - ENV.append "CGO_CPPFLAGS", "-D_USE_FILE_OFFSET_BITS=64" - ENV.append "CGO_LDFLAGS", "-L#{alt_fuse_root}/lib" - disable_macfuse_extensions - odebug "PKG_CONFIG = #{ENV.fetch("PKG_CONFIG", nil)}" - odebug "PKG_CONFIG_PATH = #{ENV.fetch("PKG_CONFIG_PATH", nil)}" - odebug "CFLAGS = #{ENV.fetch("CFLAGS", nil)}" - end - - def setup_fuse3_flags - ENV.append "CFLAGS", "-I#{alt_fuse_root}/include/fuse3" - ENV.append "CFLAGS", "-I#{alt_fuse_root}/include" - ENV.append "CFLAGS", "-D_FILE_OFFSET_BITS=64" - ENV.append "CFLAGS", "-D_USE_FILE_OFFSET_BITS=64" - ENV.append "CPPFLAGS", "-I#{alt_fuse_root}/include/fuse3" - ENV.append "CPPFLAGS", "-I#{alt_fuse_root}/include" - ENV.append "CPPFLAGS", "-D_FILE_OFFSET_BITS=64" - ENV.append "CPPFLAGS", "-D_USE_FILE_OFFSET_BITS=64" - ENV.append "CXXFLAGS", "-I#{alt_fuse_root}/include/fuse3" - ENV.append "CXXFLAGS", "-I#{alt_fuse_root}/include" - ENV.append "CXXFLAGS", "-D_FILE_OFFSET_BITS=64" - ENV.append "CXXFLAGS", "-D_USE_FILE_OFFSET_BITS=64" - ENV.append "LDFLAGS", "-L#{alt_fuse_root}/lib" - ENV.append "CGO_CPPFLAGS", "-I#{alt_fuse_root}/include/fuse3" - ENV.append "CGO_CPPFLAGS", "-I#{alt_fuse_root}/include" - ENV.append "CGO_CPPFLAGS", "-D_FILE_OFFSET_BITS=64" - ENV.append "CGO_CPPFLAGS", "-D_USE_FILE_OFFSET_BITS=64" - ENV.append "CGO_LDFLAGS", "-L#{alt_fuse_root}/lib" - disable_macfuse_extensions - odebug "PKG_CONFIG = #{ENV.fetch("PKG_CONFIG", nil)}" - odebug "PKG_CONFIG_PATH = #{ENV.fetch("PKG_CONFIG_PATH", nil)}" - odebug "CFLAGS = #{ENV.fetch("CFLAGS", nil)}" - end - - def setup_fuse - return unless need_alt_fuse? - - setup_fuse_env - setup_fuse_flags - end - - def setup_fuse3 - return unless need_alt_fuse? - - setup_fuse3_env - setup_fuse3_flags + "This formula requires MacFUSE. Please run `brew install --cask macfuse` first." end end diff --git a/tap_migrations.json b/tap_migrations.json deleted file mode 100644 index 4350e68..0000000 --- a/tap_migrations.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "mounty": "homebrew/cask" -}