]>
Commit | Line | Data |
---|---|---|
855f089b JP |
1 | # TODO: |
2 | # - package vendored modules | |
3 | # - package fzf-tmux | |
80124c64 | 4 | |
bffb72ad | 5 | %define fzfrev 19759ed |
95b195a9 | 6 | %define fzfvimrev a88311b |
bffb72ad | 7 | %define vendor_version 0.27.0 |
80124c64 | 8 | |
855f089b JP |
9 | Summary: A command-line fuzzy finder written in Go |
10 | Name: fzf | |
95b195a9 JP |
11 | Version: 0.27.1 |
12 | Release: 1 | |
855f089b JP |
13 | License: MIT |
14 | Group: Applications/Shells | |
15 | #Source0Download: https://github.com/junegunn/fzf/releases | |
f5228bc4 | 16 | Source0: https://github.com/junegunn/fzf/archive/%{version}/%{name}-%{version}.tar.gz |
95b195a9 | 17 | # Source0-md5: 31420cb678ce9f056d39d8bec46f690a |
855f089b JP |
18 | # cd fzf-%{version} |
19 | # go mod vendor | |
20 | # cd .. | |
21 | # tar cJf fzf-vendor-%{version}.tar.xz fzf-%{version}/vendor | |
6659bc3c | 22 | Source1: %{name}-vendor-%{vendor_version}.tar.xz |
bffb72ad | 23 | # Source1-md5: 8f6ede1f36704a492d45b534c18a0124 |
468eb168 | 24 | Source2: https://github.com/junegunn/fzf.vim/archive/%{fzfvimrev}/fzf.vim-%{fzfvimrev}.tar.gz |
95b195a9 | 25 | # Source2-md5: 6095e1cb0e42900e1acbbc0c91b65a70 |
855f089b JP |
26 | URL: https://github.com/junegunn/fzf |
27 | BuildRequires: golang >= 1.13 | |
94f0d803 | 28 | BuildRequires: rpmbuild(macros) >= 2.005 |
468eb168 | 29 | BuildRequires: sed >= 4.0 |
6659bc3c JP |
30 | BuildRequires: tar >= 1:1.22 |
31 | BuildRequires: xz | |
555ee184 | 32 | ExclusiveArch: %{ix86} %{x8664} %{arm} aarch64 mips64 mips64le ppc64 ppc64le s390x |
855f089b JP |
33 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
34 | ||
94f0d803 JP |
35 | %define _debugsource_packages 0 |
36 | ||
855f089b JP |
37 | %description |
38 | fzf is a general-purpose command-line fuzzy finder. | |
39 | ||
40 | It's an interactive Unix filter for command-line that can be used with | |
41 | any list; files, command history, processes, hostnames, bookmarks, git | |
42 | commits, etc. | |
43 | ||
44 | %package -n bash-completion-fzf | |
45 | Summary: bash-completion for fzf | |
46 | Group: Applications/Shells | |
47 | Requires: %{name} = %{version}-%{release} | |
48 | Requires: bash-completion >= 2.0 | |
855f089b | 49 | BuildArch: noarch |
855f089b JP |
50 | |
51 | %description -n bash-completion-fzf | |
52 | bash-completion for fzf. | |
53 | ||
54 | %package -n zsh-completion-fzf | |
55 | Summary: zsh-completion for fzf | |
56 | Group: Applications/Shells | |
57 | Requires: %{name} = %{version}-%{release} | |
58 | Requires: zsh | |
855f089b | 59 | BuildArch: noarch |
855f089b JP |
60 | |
61 | %description -n zsh-completion-fzf | |
62 | zsh-completion for fzf. | |
63 | ||
64 | %package -n vim-plugin-fzf | |
65 | Summary: fzf integration for Vim | |
66 | Group: Applications/Editors/Vim | |
468eb168 JP |
67 | Requires: %{name} >= 0.23.0 |
68 | Requires: file | |
855f089b | 69 | Requires: vim-rt |
468eb168 | 70 | Suggests: highlight |
bab453cc | 71 | Suggests: ripgrep |
468eb168 | 72 | Suggests: the_silver_searcher |
855f089b | 73 | BuildArch: noarch |
855f089b JP |
74 | |
75 | %description -n vim-plugin-fzf | |
76 | fzf integration for Vim. | |
77 | ||
78 | %package -n vim-plugin-fzf-doc | |
79 | Summary: Documentation for fzf Vim plugin | |
80 | Group: Applications/Editors/Vim | |
81 | Requires: vim-plugin-fzf = %{version}-%{release} | |
82 | Requires: vim-rt | |
855f089b | 83 | BuildArch: noarch |
855f089b JP |
84 | |
85 | %description -n vim-plugin-fzf-doc | |
86 | Documentation for fzf Vim plugin. | |
87 | ||
88 | %prep | |
6659bc3c JP |
89 | %setup -q -a1 -a2 |
90 | %{__mv} fzf-%{vendor_version}/vendor . | |
468eb168 JP |
91 | %{__mv} fzf.vim-%{fzfvimrev}* fzf.vim |
92 | %{__sed} -i -e "s@let s:bin_dir = .*@let s:bin_dir = '%{_datadir}/fzf/vim/bin/'@" fzf.vim/autoload/fzf/vim.vim | |
93 | %{__sed} -i -e '1s,.*env bash,#!/bin/bash,' fzf.vim/bin/preview.sh | |
94 | %{__sed} -i -e '1s,.*env perl,#!%{__perl},' fzf.vim/bin/tags.pl | |
855f089b | 95 | |
555ee184 JP |
96 | %{__mkdir_p} .go-cache |
97 | ||
855f089b | 98 | %build |
555ee184 | 99 | GOCACHE="$(pwd)/.go-cache" go build -v -mod=vendor -ldflags='-X main.version=%{version} -X main.revision=%{fzfrev}' -o target/fzf |
855f089b JP |
100 | |
101 | %install | |
102 | rm -rf $RPM_BUILD_ROOT | |
103 | ||
468eb168 JP |
104 | install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}/fzf/vim/bin,%{_mandir}/man1,%{bash_compdir},%{zsh_compdir}} |
105 | install -d $RPM_BUILD_ROOT%{_datadir}/vim/{doc,autoload,plugin/fzf} | |
855f089b | 106 | |
555ee184 | 107 | cp -p target/fzf $RPM_BUILD_ROOT%{_bindir}/fzf |
855f089b | 108 | cp -p man/man1/fzf.1 $RPM_BUILD_ROOT%{_mandir}/man1 |
27c72a25 | 109 | cp -p shell/completion.bash $RPM_BUILD_ROOT%{_datadir}/fzf |
855f089b | 110 | cp -p shell/key-bindings.bash $RPM_BUILD_ROOT%{_datadir}/fzf |
27c72a25 | 111 | cp -p shell/completion.zsh $RPM_BUILD_ROOT%{_datadir}/fzf |
855f089b | 112 | cp -p shell/key-bindings.zsh $RPM_BUILD_ROOT%{_datadir}/fzf |
468eb168 JP |
113 | cp -rp fzf.vim/autoload/fzf $RPM_BUILD_ROOT%{_datadir}/vim/autoload |
114 | cp -p plugin/fzf.vim $RPM_BUILD_ROOT%{_datadir}/vim/plugin/fzf.vim | |
115 | cp -p fzf.vim/plugin/fzf.vim $RPM_BUILD_ROOT%{_datadir}/vim/plugin/fzf/fzf.vim | |
116 | cp -p fzf.vim/doc/fzf-vim.txt $RPM_BUILD_ROOT%{_datadir}/vim/doc/fzf.txt | |
117 | cp -p fzf.vim/bin/{preview.sh,tags.pl} $RPM_BUILD_ROOT%{_datadir}/fzf/vim/bin | |
855f089b JP |
118 | |
119 | %clean | |
120 | rm -rf $RPM_BUILD_ROOT | |
121 | ||
122 | %post -n vim-plugin-fzf-doc | |
123 | %vim_doc_helptags | |
124 | ||
125 | %postun -n vim-plugin-fzf-doc | |
126 | %vim_doc_helptags | |
127 | ||
128 | %files | |
129 | %defattr(644,root,root,755) | |
130 | %doc BUILD.md CHANGELOG.md README.md | |
131 | %attr(755,root,root) %{_bindir}/fzf | |
132 | %dir %{_datadir}/fzf | |
133 | %{_mandir}/man1/fzf.1* | |
134 | ||
135 | %files -n bash-completion-fzf | |
136 | %defattr(644,root,root,755) | |
27c72a25 | 137 | %{_datadir}/fzf/completion.bash |
855f089b JP |
138 | %{_datadir}/fzf/key-bindings.bash |
139 | ||
140 | %files -n zsh-completion-fzf | |
141 | %defattr(644,root,root,755) | |
27c72a25 | 142 | %{_datadir}/fzf/completion.zsh |
855f089b JP |
143 | %{_datadir}/fzf/key-bindings.zsh |
144 | ||
145 | %files -n vim-plugin-fzf | |
146 | %defattr(644,root,root,755) | |
468eb168 JP |
147 | %doc README-VIM.md fzf.vim/README.md |
148 | %dir %{_datadir}/fzf/vim | |
149 | %dir %{_datadir}/fzf/vim/bin | |
150 | %attr(755,root,root) %{_datadir}/fzf/vim/bin/preview.sh | |
151 | %attr(755,root,root) %{_datadir}/fzf/vim/bin/tags.pl | |
152 | %{_datadir}/vim/autoload/fzf | |
153 | %{_datadir}/vim/plugin/fzf.vim | |
154 | %{_datadir}/vim/plugin/fzf | |
855f089b JP |
155 | |
156 | %files -n vim-plugin-fzf-doc | |
157 | %defattr(644,root,root,755) | |
158 | %{_datadir}/vim/doc/fzf.txt |