]> git.pld-linux.org Git - packages/fzf.git/blame - fzf.spec
up to 0.50.0
[packages/fzf.git] / fzf.spec
CommitLineData
855f089b
JP
1# TODO:
2# - package vendored modules
80124c64 3
5e6b1d9c
JP
4%define fzfrev f97d275
5%define fzfvimrev 45d96c9
6%define fzfgitrev 0f1e520
7%define vendor_version 0.50.0
80124c64 8
855f089b 9Summary: A command-line fuzzy finder written in Go
3373611b 10Name: fzf
5e6b1d9c 11Version: 0.50.0
64afb3e3 12Release: 1
855f089b
JP
13License: MIT
14Group: Applications/Shells
15#Source0Download: https://github.com/junegunn/fzf/releases
f5228bc4 16Source0: https://github.com/junegunn/fzf/archive/%{version}/%{name}-%{version}.tar.gz
5e6b1d9c 17# Source0-md5: f28cc1f1c2efc11e7bdd04f35f5de140
855f089b
JP
18# cd fzf-%{version}
19# go mod vendor
20# cd ..
21# tar cJf fzf-vendor-%{version}.tar.xz fzf-%{version}/vendor
6659bc3c 22Source1: %{name}-vendor-%{vendor_version}.tar.xz
5e6b1d9c 23# Source1-md5: 0c83c8f39c87d59b2cfa51d04d4652e0
468eb168 24Source2: https://github.com/junegunn/fzf.vim/archive/%{fzfvimrev}/fzf.vim-%{fzfvimrev}.tar.gz
5e6b1d9c 25# Source2-md5: 38bb6348e6e458ab774c4801906f2fcf
6d69ec0f 26Source3: https://github.com/junegunn/fzf-git.sh/archive/%{fzfgitrev}/fzf-git.sh-%{fzfgitrev}.tar.gz
5e6b1d9c 27# Source3-md5: d9017fad9fe2b5adeffed27860456c58
45c96c4f 28Patch0: install.patch
855f089b 29URL: https://github.com/junegunn/fzf
5e6b1d9c 30BuildRequires: golang >= 1.20
697411e2 31BuildRequires: rpm-build >= 4.6
7c22ad0b 32BuildRequires: rpmbuild(macros) >= 2.009
468eb168 33BuildRequires: sed >= 4.0
6659bc3c
JP
34BuildRequires: tar >= 1:1.22
35BuildRequires: xz
7c22ad0b 36ExclusiveArch: %go_arches
855f089b
JP
37BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
38
94f0d803
JP
39%define _debugsource_packages 0
40
855f089b
JP
41%description
42fzf is a general-purpose command-line fuzzy finder.
43
44It's an interactive Unix filter for command-line that can be used with
45any list; files, command history, processes, hostnames, bookmarks, git
46commits, etc.
47
18596e3a
JP
48%package tmux
49Summary: Script for starting fzf in tmux pane
50Requires: %{name} = %{version}-%{release}
51Requires: coreutils
52Requires: tmux
53BuildArch: noarch
54
55%description tmux
56Script for starting fzf in tmux pane.
57
855f089b
JP
58%package -n bash-completion-fzf
59Summary: bash-completion for fzf
60Group: Applications/Shells
61Requires: %{name} = %{version}-%{release}
c67783b0 62Requires: bash-completion >= 1:2.0
855f089b 63BuildArch: noarch
855f089b
JP
64
65%description -n bash-completion-fzf
66bash-completion for fzf.
67
68%package -n zsh-completion-fzf
69Summary: zsh-completion for fzf
70Group: Applications/Shells
71Requires: %{name} = %{version}-%{release}
72Requires: zsh
855f089b 73BuildArch: noarch
855f089b
JP
74
75%description -n zsh-completion-fzf
76zsh-completion for fzf.
77
6d69ec0f
JP
78%package git-sh
79Summary: bash and zsh key bindings for Git objects, powered by fzf
80Group: Applications/Shells
81Requires: %{name}-tmux
82Requires: awk
83Requires: coreutils
84Requires: git-core
85Requires: grep
86Requires: sed
87Suggests: xdg-utils
88BuildArch: noarch
89
90%description git-sh
91bash and zsh key bindings for Git objects, powered by fzf.
92
855f089b
JP
93%package -n vim-plugin-fzf
94Summary: fzf integration for Vim
95Group: Applications/Editors/Vim
468eb168
JP
96Requires: %{name} >= 0.23.0
97Requires: file
855f089b 98Requires: vim-rt
468eb168 99Suggests: highlight
bab453cc 100Suggests: ripgrep
468eb168 101Suggests: the_silver_searcher
855f089b 102BuildArch: noarch
855f089b
JP
103
104%description -n vim-plugin-fzf
105fzf integration for Vim.
106
107%package -n vim-plugin-fzf-doc
108Summary: Documentation for fzf Vim plugin
109Group: Applications/Editors/Vim
110Requires: vim-plugin-fzf = %{version}-%{release}
111Requires: vim-rt
855f089b 112BuildArch: noarch
855f089b
JP
113
114%description -n vim-plugin-fzf-doc
115Documentation for fzf Vim plugin.
116
117%prep
6d69ec0f 118%setup -q -a1 -a2 -a3
6659bc3c 119%{__mv} fzf-%{vendor_version}/vendor .
468eb168 120%{__mv} fzf.vim-%{fzfvimrev}* fzf.vim
6d69ec0f 121%{__mv} fzf-git.sh-%{fzfgitrev}* fzf-git
45c96c4f 122%patch0 -p1
468eb168 123%{__sed} -i -e "s@let s:bin_dir = .*@let s:bin_dir = '%{_datadir}/fzf/vim/bin/'@" fzf.vim/autoload/fzf/vim.vim
f3dfd4e0 124%{__sed} -i -e '1s,.*env bash,#!/bin/bash,' fzf.vim/bin/preview.sh bin/fzf-tmux install
468eb168 125%{__sed} -i -e '1s,.*env perl,#!%{__perl},' fzf.vim/bin/tags.pl
855f089b 126
555ee184
JP
127%{__mkdir_p} .go-cache
128
855f089b 129%build
7c22ad0b 130%__go build -v -mod=vendor -ldflags='-X main.version=%{version} -X main.revision=%{fzfrev}' -o target/fzf
855f089b
JP
131
132%install
133rm -rf $RPM_BUILD_ROOT
134
468eb168
JP
135install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}/fzf/vim/bin,%{_mandir}/man1,%{bash_compdir},%{zsh_compdir}}
136install -d $RPM_BUILD_ROOT%{_datadir}/vim/{doc,autoload,plugin/fzf}
855f089b 137
a6efc4bc 138install -p target/fzf $RPM_BUILD_ROOT%{_bindir}/fzf
f3dfd4e0 139install -p install $RPM_BUILD_ROOT%{_bindir}/fzf-install
a6efc4bc 140install -p bin/fzf-tmux $RPM_BUILD_ROOT%{_bindir}/fzf-tmux
855f089b 141cp -p man/man1/fzf.1 $RPM_BUILD_ROOT%{_mandir}/man1
27c72a25 142cp -p shell/completion.bash $RPM_BUILD_ROOT%{_datadir}/fzf
855f089b 143cp -p shell/key-bindings.bash $RPM_BUILD_ROOT%{_datadir}/fzf
27c72a25 144cp -p shell/completion.zsh $RPM_BUILD_ROOT%{_datadir}/fzf
855f089b 145cp -p shell/key-bindings.zsh $RPM_BUILD_ROOT%{_datadir}/fzf
6d69ec0f 146cp -p fzf-git/fzf-git.sh $RPM_BUILD_ROOT%{_datadir}/fzf
468eb168
JP
147cp -rp fzf.vim/autoload/fzf $RPM_BUILD_ROOT%{_datadir}/vim/autoload
148cp -p plugin/fzf.vim $RPM_BUILD_ROOT%{_datadir}/vim/plugin/fzf.vim
149cp -p fzf.vim/plugin/fzf.vim $RPM_BUILD_ROOT%{_datadir}/vim/plugin/fzf/fzf.vim
150cp -p fzf.vim/doc/fzf-vim.txt $RPM_BUILD_ROOT%{_datadir}/vim/doc/fzf.txt
151cp -p fzf.vim/bin/{preview.sh,tags.pl} $RPM_BUILD_ROOT%{_datadir}/fzf/vim/bin
855f089b
JP
152
153%clean
154rm -rf $RPM_BUILD_ROOT
155
60c4a75f
ER
156%post
157%banner -o -e %{name} <<EOF
158==> Caveats
159To install useful keybindings and fuzzy completion:
160 fzf-install
161EOF
162
855f089b
JP
163%post -n vim-plugin-fzf-doc
164%vim_doc_helptags
165
166%postun -n vim-plugin-fzf-doc
167%vim_doc_helptags
168
169%files
170%defattr(644,root,root,755)
171%doc BUILD.md CHANGELOG.md README.md
172%attr(755,root,root) %{_bindir}/fzf
f3dfd4e0 173%attr(755,root,root) %{_bindir}/fzf-install
855f089b
JP
174%dir %{_datadir}/fzf
175%{_mandir}/man1/fzf.1*
176
18596e3a
JP
177%files tmux
178%defattr(644,root,root,755)
179%attr(755,root,root) %{_bindir}/fzf-tmux
180
855f089b
JP
181%files -n bash-completion-fzf
182%defattr(644,root,root,755)
27c72a25 183%{_datadir}/fzf/completion.bash
855f089b
JP
184%{_datadir}/fzf/key-bindings.bash
185
186%files -n zsh-completion-fzf
187%defattr(644,root,root,755)
27c72a25 188%{_datadir}/fzf/completion.zsh
855f089b
JP
189%{_datadir}/fzf/key-bindings.zsh
190
6d69ec0f
JP
191%files git-sh
192%defattr(644,root,root,755)
193%doc fzf-git/README.md
194%{_datadir}/fzf/fzf-git.sh
195
855f089b
JP
196%files -n vim-plugin-fzf
197%defattr(644,root,root,755)
468eb168
JP
198%doc README-VIM.md fzf.vim/README.md
199%dir %{_datadir}/fzf/vim
200%dir %{_datadir}/fzf/vim/bin
201%attr(755,root,root) %{_datadir}/fzf/vim/bin/preview.sh
202%attr(755,root,root) %{_datadir}/fzf/vim/bin/tags.pl
203%{_datadir}/vim/autoload/fzf
204%{_datadir}/vim/plugin/fzf.vim
205%{_datadir}/vim/plugin/fzf
855f089b
JP
206
207%files -n vim-plugin-fzf-doc
208%defattr(644,root,root,755)
209%{_datadir}/vim/doc/fzf.txt
This page took 0.659768 seconds and 5 git commands to generate.