2021-05-02 22:09:42 +08:00
|
|
|
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/v1.55.1.tar.gz"
|
|
|
|
|
sha256 "b8cbf769c8ed41c6e1dd74de78bf14ee7935ee436ee5ba018f742a48ee326f62"
|
|
|
|
|
license "MIT"
|
|
|
|
|
head "https://github.com/rclone/rclone.git"
|
|
|
|
|
|
|
|
|
|
depends_on "go" => :build
|
|
|
|
|
depends_on MacfuseRequirement
|
|
|
|
|
depends_on :macos
|
|
|
|
|
|
|
|
|
|
def install
|
2021-07-04 00:27:00 +08:00
|
|
|
setup_fuse
|
2021-05-02 22:09:42 +08:00
|
|
|
system "go", "build",
|
|
|
|
|
"-ldflags", "-s -X github.com/rclone/rclone/fs.Version=v#{version}",
|
|
|
|
|
"-tags", "cmount", *std_go_args
|
2021-05-04 11:10:58 +08:00
|
|
|
(libexec/"rclone").install_symlink bin/name.to_s => "rclone"
|
2021-05-02 22:09:42 +08:00
|
|
|
man1.install "rclone.1" => "#{name}.1"
|
2021-05-04 11:10:58 +08:00
|
|
|
system bin/name.to_s, "genautocomplete", "bash", "rclone.bash"
|
2021-05-02 22:09:42 +08:00
|
|
|
system bin/name.to_s, "genautocomplete", "bash", "#{name}.bash"
|
2021-05-04 11:10:58 +08:00
|
|
|
system bin/name.to_s, "genautocomplete", "zsh", "_rclone"
|
2021-05-02 22:09:42 +08:00
|
|
|
system bin/name.to_s, "genautocomplete", "zsh", "_#{name}"
|
|
|
|
|
inreplace "#{name}.bash" do |s|
|
|
|
|
|
s.gsub! "commands=(\"rclone\")", "commands=(\"#{name}\")"
|
2021-05-03 15:08:39 +08:00
|
|
|
s.gsub!(/(-F __start_rclone) rclone$/, "\\1 #{name}")
|
2021-05-02 22:09:42 +08:00
|
|
|
end
|
|
|
|
|
inreplace "_#{name}", /(#compdef _rclone) rclone$/, "\\1 #{name}"
|
2021-05-04 11:10:58 +08:00
|
|
|
bash_completion.install "rclone.bash" => "rclone"
|
2021-05-02 22:09:42 +08:00
|
|
|
bash_completion.install "#{name}.bash" => name.to_s
|
2021-05-04 11:10:58 +08:00
|
|
|
zsh_completion.install "_rclone"
|
2021-05-02 22:09:42 +08:00
|
|
|
zsh_completion.install "_#{name}"
|
|
|
|
|
end
|
|
|
|
|
|
2021-05-04 11:10:58 +08:00
|
|
|
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"
|
|
|
|
|
EOS
|
|
|
|
|
end
|
|
|
|
|
|
2021-05-02 22:09:42 +08:00
|
|
|
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")
|
2021-05-04 11:10:58 +08:00
|
|
|
system opt_libexec/"rclone/rclone", "copy", testpath/"file1.txt", testpath/"dast"
|
|
|
|
|
assert_match File.read(testpath/"file1.txt"), File.read(testpath/"dast/file1.txt")
|
2021-05-02 22:09:42 +08:00
|
|
|
end
|
|
|
|
|
end
|