require 'package' class Fzf < Package description 'A command-line fuzzy finder' homepage 'https://github.com/junegunn/fzf' version '0.65.2' license 'MIT and BSD-with-disclosure' compatibility 'all' source_url 'https://github.com/junegunn/fzf.git' git_hashtag "v#{version}" binary_compression 'tar.zst' binary_sha256({ aarch64: '7c1302551850b79feab7468786c86d5635277c77de1d9cd6bacaa75b908d58df', armv7l: '7c1302551850b79feab7468786c86d5635277c77de1d9cd6bacaa75b908d58df', i686: '3068b03c1dd69895427a8f1488f5dd122e9f412658bcfcf3cc07658bcd2c8d6a', x86_64: '9d64ecaa28b54b344416129235e3ec96ed14e9211eeeee1d272a1f8bf0e0ce7f' }) depends_on 'glibc' # R depends_on 'go' => :build depends_on 'tmux' # R - Needed for tmux integration print_source_bashrc def self.build File.write '10-fzf', <<~EOF # Set up fzf key bindings and fuzzy completion eval "$(fzf --bash)" EOF system 'go build -o bin/fzf' end def self.install FileUtils.install 'bin/fzf', "#{CREW_DEST_PREFIX}/bin/fzf", mode: 0o755 FileUtils.install 'bin/fzf-tmux', "#{CREW_DEST_PREFIX}/bin/fzf-tmux", mode: 0o755 FileUtils.install 'man/man1/fzf.1', "#{CREW_DEST_MAN_PREFIX}/man1/fzf.1", mode: 0o644 FileUtils.install 'man/man1/fzf-tmux.1', "#{CREW_DEST_MAN_PREFIX}/man1/fzf-tmux.1", mode: 0o644 FileUtils.install '10-fzf', "#{CREW_DEST_PREFIX}/etc/bash.d/10-fzf", mode: 0o644 end end