Files
chromebrew/packages/fzf.rb
2025-10-12 13:46:16 +00:00

42 lines
1.4 KiB
Ruby

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