]> git.pld-linux.org Git - packages/fzf.git/blob - fzf.spec
do not rely on uname -m to determine target arch; add more arm variants
[packages/fzf.git] / fzf.spec
1 # TODO:
2 # - package vendored modules
3 # - package fzf-tmux
4
5 %define         fzfrev           e3e76fa
6 %define         fzfvimrev        8fa9cf0
7
8 Summary:        A command-line fuzzy finder written in Go
9 Name:           fzf
10 Version:        0.24.4
11 Release:        1
12 License:        MIT
13 Group:          Applications/Shells
14 #Source0Download: https://github.com/junegunn/fzf/releases
15 Source0:        https://github.com/junegunn/fzf/archive/%{version}/%{name}-%{version}.tar.gz
16 # Source0-md5:  e627828780d41ded82cb9209642ce985
17 # cd fzf-%{version}
18 # go mod vendor
19 # cd ..
20 # tar cJf fzf-vendor-%{version}.tar.xz fzf-%{version}/vendor
21 Source1:        %{name}-vendor-%{version}.tar.xz
22 # Source1-md5:  64f38dfc6f0cd4fc0008c45096223116
23 Source2:        https://github.com/junegunn/fzf.vim/archive/%{fzfvimrev}/fzf.vim-%{fzfvimrev}.tar.gz
24 # Source2-md5:  4d299b3212e34c57f966ec8f7562525d
25 URL:            https://github.com/junegunn/fzf
26 BuildRequires:  golang >= 1.13
27 BuildRequires:  sed >= 4.0
28 ExclusiveArch:  %{x8664} armv5l armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl armv8l armv8hll armv8hnl armv8hcnl aarch64 ppc64le
29 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
30
31 %description
32 fzf is a general-purpose command-line fuzzy finder.
33
34 It's an interactive Unix filter for command-line that can be used with
35 any list; files, command history, processes, hostnames, bookmarks, git
36 commits, etc.
37
38 %package -n bash-completion-fzf
39 Summary:        bash-completion for fzf
40 Group:          Applications/Shells
41 Requires:       %{name} = %{version}-%{release}
42 Requires:       bash-completion >= 2.0
43 %if "%{_rpmversion}" >= "4.6"
44 BuildArch:      noarch
45 %endif
46
47 %description -n bash-completion-fzf
48 bash-completion for fzf.
49
50 %package -n zsh-completion-fzf
51 Summary:        zsh-completion for fzf
52 Group:          Applications/Shells
53 Requires:       %{name} = %{version}-%{release}
54 Requires:       zsh
55 %if "%{_rpmversion}" >= "4.6"
56 BuildArch:      noarch
57 %endif
58
59 %description -n zsh-completion-fzf
60 zsh-completion for fzf.
61
62 %package -n vim-plugin-fzf
63 Summary:        fzf integration for Vim
64 Group:          Applications/Editors/Vim
65 Requires:       %{name} >= 0.23.0
66 Requires:       file
67 Requires:       vim-rt
68 Suggests:       highlight
69 Suggests:       the_silver_searcher
70 %if "%{_rpmversion}" >= "4.6"
71 BuildArch:      noarch
72 %endif
73
74 %description -n vim-plugin-fzf
75 fzf integration for Vim.
76
77 %package -n vim-plugin-fzf-doc
78 Summary:        Documentation for fzf Vim plugin
79 Group:          Applications/Editors/Vim
80 Requires:       vim-plugin-fzf = %{version}-%{release}
81 Requires:       vim-rt
82 %if "%{_rpmversion}" >= "4.6"
83 BuildArch:      noarch
84 %endif
85
86 %description -n vim-plugin-fzf-doc
87 Documentation for fzf Vim plugin.
88
89 %prep
90 %setup -q -b1 -a2
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
95
96 %build
97 %{__make} \
98 %ifarch armv5tl armv5tel arm5tejl
99         UNAME_M=armv5l \
100 %else
101 %ifarch armv6l armv6hl
102         UNAME_M=armv6l \
103 %else
104 %ifarch armv7l armv7hl armv7hnl
105         UNAME_M=armv6l \
106 %else
107 %ifarch armv8l armv8hl armv8hnl armv8hcnl
108         UNAME_M=armv8l \
109 %else
110         UNAME_M=%{_target_cpu} \
111 %endif
112 %endif
113 %endif
114 %endif
115         FZF_VERSION=%{version} FZF_REVISION=%{fzfrev} GOFLAGS=-mod=vendor
116
117 %install
118 rm -rf $RPM_BUILD_ROOT
119
120 install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}/fzf/vim/bin,%{_mandir}/man1,%{bash_compdir},%{zsh_compdir}}
121 install -d $RPM_BUILD_ROOT%{_datadir}/vim/{doc,autoload,plugin/fzf}
122
123 cp -p target/fzf-linux* $RPM_BUILD_ROOT%{_bindir}/fzf
124 cp -p man/man1/fzf.1 $RPM_BUILD_ROOT%{_mandir}/man1
125 cp -p shell/completion.bash $RPM_BUILD_ROOT%{_datadir}/fzf
126 cp -p shell/key-bindings.bash $RPM_BUILD_ROOT%{_datadir}/fzf
127 cp -p shell/completion.zsh $RPM_BUILD_ROOT%{_datadir}/fzf
128 cp -p shell/key-bindings.zsh $RPM_BUILD_ROOT%{_datadir}/fzf
129 cp -rp fzf.vim/autoload/fzf $RPM_BUILD_ROOT%{_datadir}/vim/autoload
130 cp -p plugin/fzf.vim $RPM_BUILD_ROOT%{_datadir}/vim/plugin/fzf.vim
131 cp -p fzf.vim/plugin/fzf.vim $RPM_BUILD_ROOT%{_datadir}/vim/plugin/fzf/fzf.vim
132 cp -p fzf.vim/doc/fzf-vim.txt $RPM_BUILD_ROOT%{_datadir}/vim/doc/fzf.txt
133 cp -p fzf.vim/bin/{preview.sh,tags.pl} $RPM_BUILD_ROOT%{_datadir}/fzf/vim/bin
134
135 %clean
136 rm -rf $RPM_BUILD_ROOT
137
138 %post -n vim-plugin-fzf-doc
139 %vim_doc_helptags
140
141 %postun -n vim-plugin-fzf-doc
142 %vim_doc_helptags
143
144 %files
145 %defattr(644,root,root,755)
146 %doc BUILD.md CHANGELOG.md README.md
147 %attr(755,root,root) %{_bindir}/fzf
148 %dir %{_datadir}/fzf
149 %{_mandir}/man1/fzf.1*
150
151 %files -n bash-completion-fzf
152 %defattr(644,root,root,755)
153 %{_datadir}/fzf/completion.bash
154 %{_datadir}/fzf/key-bindings.bash
155
156 %files -n zsh-completion-fzf
157 %defattr(644,root,root,755)
158 %{_datadir}/fzf/completion.zsh
159 %{_datadir}/fzf/key-bindings.zsh
160
161 %files -n vim-plugin-fzf
162 %defattr(644,root,root,755)
163 %doc README-VIM.md fzf.vim/README.md
164 %dir %{_datadir}/fzf/vim
165 %dir %{_datadir}/fzf/vim/bin
166 %attr(755,root,root) %{_datadir}/fzf/vim/bin/preview.sh
167 %attr(755,root,root) %{_datadir}/fzf/vim/bin/tags.pl
168 %{_datadir}/vim/autoload/fzf
169 %{_datadir}/vim/plugin/fzf.vim
170 %{_datadir}/vim/plugin/fzf
171
172 %files -n vim-plugin-fzf-doc
173 %defattr(644,root,root,755)
174 %{_datadir}/vim/doc/fzf.txt
This page took 0.15476 seconds and 3 git commands to generate.