- merged 4.8.26 from PLD, dropped python2
[packages/mc.git] / mc.spec
1 # Conditional build:
2 %bcond_with     ext2undel       # with ext2 undelete fs
3 %bcond_without  perl_vfs        # without perl depending vfs'es -- to avoid perl autoreq
4 %bcond_with     samba           # with SAMBA vfs support
5 %bcond_without  x               # without text edit in X support
6 #
7 Summary:        A user-friendly file manager and visual shell
8 Summary(de.UTF-8):      Visuelle Shell Midnight Commander
9 Summary(es.UTF-8):      Interpretador de comandos visual Midnight Commander
10 Summary(fr.UTF-8):      Un gestionnaire de fichiers puissant et agréable en mode console
11 Summary(hu.UTF-8):      Egy felhasználóbarát fájlkezelő és vizuális shell
12 Summary(ja.UTF-8):      使いやすいファイルマネージャとビジュアルシェル
13 Summary(pl.UTF-8):      Midnight Commander - powłoka wizualna
14 Summary(pt_BR.UTF-8):   Interpretador de comandos visual Midnight Commander
15 Summary(ru.UTF-8):      Диспетчер файлов Midnight Commander
16 Summary(tr.UTF-8):      Midnight Commander görsel kabuğu
17 Summary(uk.UTF-8):      Диспетчер файлів Midnight Commander
18 Summary(zh_CN.UTF-8):   一个方便实用的文件管理器和虚拟Shell
19 Name:           mc
20 Version:        4.8.26
21 Release:        1
22 Epoch:          1
23 License:        GPL v3+
24 Group:          Applications/Shells
25 Source0:        http://ftp.midnight-commander.org/%{name}-%{version}.tar.xz
26 # Source0-md5:  3c1f77b71dba1f4eeeedc4276627fed7
27 Source3:        %{name}-non-english-man-pages.tar.bz2
28 # Source3-md5:  17d7b574e1b85ad6f8ddceda9e841f19
29 Source7:        %{name}.desktop
30 Source8:        %{name}.png
31 Patch1:         %{name}-no-ws-visible.patch
32 Patch2:         %{name}-no-compute-totals.patch
33 Patch3:         %{name}-file-find-case-insensitive.patch
34 Patch4:         %{name}-confirm-exit.patch
35 Patch5:         %{name}-noperl-vfs.patch
36 # at now syntax highligthing for PLD-update-TODO and CVSROOT/users
37 Patch6:         %{name}-pld-developerfriendly.patch
38 Patch7:         ebook-ext.patch
39 Patch8:         zip.patch
40 URL:            http://www.midnight-commander.org/
41 BuildRequires:  autoconf >= 2.60
42 BuildRequires:  automake >= 1.5
43 %{?with_ext2undel:BuildRequires:        e2fsprogs-devel}
44 BuildRequires:  file
45 BuildRequires:  gettext-tools >= 0.18.1
46 BuildRequires:  glib2-devel >= 1:2.30.0
47 %ifnarch s390 s390x
48 BuildRequires:  gpm-devel
49 %endif
50 BuildRequires:  libssh2-devel >= 1.2.5
51 BuildRequires:  libtool >= 2:2
52 BuildRequires:  pam-devel
53 BuildRequires:  pcre-devel
54 BuildRequires:  pkgconfig
55 BuildRequires:  rpm-pythonprov
56 BuildRequires:  rpmbuild(macros) >= 1.268
57 BuildRequires:  sed >= 4.0
58 BuildRequires:  slang-devel >= 2.2.1
59 BuildRequires:  tar >= 1:1.22
60 %{?with_x:BuildRequires:        xorg-lib-libX11-devel}
61 BuildRequires:  xz
62 Requires:       file
63 Requires:       glib2 >= 1:2.30.0
64 Requires:       libssh2 >= 1.2.5
65 Requires:       pam >= 0.77.3
66 Requires:       sed
67 Requires:       setup >= 2.4.6-2
68 Suggests:       bzip2
69 Suggests:       cabextract
70 Suggests:       cdrtools-utils
71 Suggests:       cpio
72 Suggests:       dvi2tty
73 Suggests:       enca
74 Suggests:       file
75 Suggests:       ghostscript
76 Suggests:       groff
77 Suggests:       gzip
78 Suggests:       lha
79 Suggests:       links
80 Suggests:       lynx
81 Suggests:       lzma
82 Suggests:       odt2txt
83 Suggests:       p7zip-standalone
84 Suggests:       perl-tools-pod
85 Suggests:       rar
86 Suggests:       rpm-utils
87 Suggests:       tar
88 Suggests:       unarj
89 Suggests:       unzip
90 Suggests:       xdg-utils
91 Suggests:       xpdf-tools
92 Suggests:       xz
93 Suggests:       zoo
94 Obsoletes:      mc46
95 Obsoletes:      mc46serv
96 Obsoletes:      mcserv
97 Obsoletes:      tkmc
98 Conflicts:      bash < 2.05b
99 Conflicts:      rpm < 4.0
100 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
101
102 %define         specflags_ia32  -fomit-frame-pointer
103
104 %description
105 Midnight Commander is a visual shell much like a file manager, only
106 with way more features. It is text mode, but also includes mouse
107 support if you are running GPM. Its coolest feature is the ability to
108 FTP, view tar, zip files, and poke into RPMs for specific files. :-)
109
110 %description -l de.UTF-8
111 Midnight Commander ist ein Visual-Shell, ähnlich einem Dateimanager,
112 aber mit zusätzlichen Funktionen. Es läuft im Textmodus, kann jedoch
113 eine Maus unterstützen, wenn GPM betrieben wird. Seine coolsten
114 Fähigkeiten sind die FTP-Option, das Einsehen von tar- und zip-Dateien
115 und das Herausfischen von spezifischen Dateien aus RPMs.
116
117 %description -l es.UTF-8
118 Midnight Commander es un interpretador de comandos visual que más
119 parece un administrador de archivos, solamente con varias
120 características a más. Es un programa en modo texto, pero incluye
121 soporte para ratón, si estuviera ejecutando GPM o en una ventana
122 xterm. Su característica más genial es la habilidad de cotillear en
123 RPMs buscando archivos específicos. :-)
124
125 %description -l fr.UTF-8
126 Midnight Commander est une interface pour la ligne de commande qui
127 tient beaucoup du gestionnaire de fichiers, mais est bien plus
128 puissant. Il fonctionne en mode console (texte), mais peut être
129 contrôlé à la souris si GPM est présent. Ses caractéristiques les plus
130 remarquables sont la possibilité de se connecter à un serveur FTP, de
131 visualiser des archives tar, de compresser des fichiers avec zip, de
132 récupérer des fichiers dans les packages RPM, et tout ceci simplement.
133
134 %description -l hu.UTF-8
135 Midnight Commander egy vizuális shell, lényegében egy fájlkezelő
136 sok-sok lehetőséggel. Szöveges módú, de az egeret is támogatja, ha fut
137 a GPM. A legjobb lehetőség az FTP elérése, tar, zip és RPM fájlok
138 kezelése.
139
140 %description -l ja.UTF-8
141 Midnight Commander はいろいろな機能を持ったファイルマネージャ兼
142 ビジュアルシェルです。これはテキストモードのアプリケーションですが、
143 GPM を使っている場合、マウスが使えます。 Midnight Commander には、 FTP
144 に接続できたり、 tar や zip や RPM の中が見えるなど、クールな機能
145 があります。
146
147 %description -l pl.UTF-8
148 Midnight Commander jest wizualną powłoką podobną do Norton Commandera.
149 Pracuje w trybie tekstowym, ale ma także obsługę myszki. Jest super ;)
150 MC ma wbudowanego klienta FTP, może zaglądać do skompresowanych
151 archiwów tar i zip, a także oglądać pliki w pakietach RPM.
152
153 %description -l pt_BR.UTF-8
154 Midnight Commander é um interpretador de comandos visual que mais
155 parece um gerenciador de arquivos, somente com várias características
156 a mais. Ele é um programa de modo texto, mas inclui suporte para mouse
157 se você estiver rodando GPM ou em uma janela xterm. Sua característica
158 mais legal é a habilidade de bisbilhotar em RPMs procurando arquivos
159 específicos. :-)
160
161 %description -l tr.UTF-8
162 Midnight Commander bir dosya yöneticisine çok benzeyen ancak daha
163 yetenekli bir görsel kabuktur. Metin ekranda çalışır ve GPM
164 çalışıyorsa fare desteği vardır. En hoş özellikleri FTP yapabilmesi,
165 tar, zip ve RPM dosyalarının içeriklerini gösterebilmesidir.
166
167 %prep
168 %setup -q -a3
169 %patch1 -p1
170 %patch2 -p1
171 %patch3 -p1
172 %patch4 -p1
173 %{!?with_perl_vfs:%patch5 -p1}
174 %patch6 -p1
175 %patch7 -p1
176 %patch8 -p1
177
178 %{__rm} po/stamp-po
179
180 %{__sed} -i 's:|hxx|:|hxx|tcc|:' misc/syntax/Syntax.in
181
182 sed -E -i -e '1s,#!\s*/usr/bin/env\s+python2(\s|$),#!%{__python3}\1,' -e '1s,#!\s*/usr/bin/env\s+python(\s|$),#!%{__python3}\1,' -e '1s,#!\s*/usr/bin/python(\s|$),#!%{__python3}\1,' \
183         src/vfs/extfs/helpers/uc1541
184
185 %build
186 %{__gettextize}
187 %{__libtoolize}
188 %{__aclocal} -I m4
189 %{__autoconf}
190 %{__autoheader}
191 %{__automake}
192
193 export X11_WWW="xdg-open"
194 %configure \
195         PYTHON=%{_bindir}/python3 \
196         %{?with_ext2undel:--enable-vfs-undelfs} \
197         %{?with_samba:--enable-vfs-smb} \
198         --with-smb-configdir=/etc/samba \
199         --with-smb-codepagedir=/etc/samba/codepages \
200         --with%{!?with_x:out}-x \
201         --with-gpm-mouse \
202         --with-pcre \
203         --with-screen=slang \
204         --disable-silent-rules
205
206 %{__make}
207
208 %install
209 rm -rf $RPM_BUILD_ROOT
210 install -d $RPM_BUILD_ROOT{%{_sbindir},%{_pixmapsdir},%{_desktopdir}} \
211         $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,shrc.d,sysconfig} \
212         $RPM_BUILD_ROOT%{_mandir}/man8
213
214 %{__make} install \
215         DESTDIR=$RPM_BUILD_ROOT
216
217 install %{SOURCE7} $RPM_BUILD_ROOT%{_desktopdir}
218 install %{SOURCE8} $RPM_BUILD_ROOT%{_pixmapsdir}
219
220 for a in es pl ; do
221         for b in man1 man8 ; do
222                 install -d $RPM_BUILD_ROOT%{_mandir}/{$a,$a/$b}
223                 for c in man/$a/$b/* ; do
224                         install $c $RPM_BUILD_ROOT%{_mandir}/$a/$b
225                 done
226         done
227 done
228
229 install contrib/{mc.sh,mc.csh} $RPM_BUILD_ROOT/etc/shrc.d
230
231 %{__rm} $RPM_BUILD_ROOT%{_mandir}/*/man8/mcserv.8
232
233 # just a copy of sv
234 %{__rm} $RPM_BUILD_ROOT%{_datadir}/mc/hints/mc.hint.sv_SE
235 # another variant of it
236 %{__rm} $RPM_BUILD_ROOT%{_datadir}/mc/hints/mc.hint.it_IT
237 # enhanced version
238 %{__mv} $RPM_BUILD_ROOT%{_datadir}/mc/hints/mc.hint.{zh,zh_CN}
239
240 %find_lang %{name}
241
242 %clean
243 rm -rf $RPM_BUILD_ROOT
244
245 %files -f %{name}.lang
246 %defattr(644,root,root,755)
247 %doc NEWS README
248 %config /etc/shrc.d/mc.*
249 %attr(755,root,root) %{_bindir}/mc*
250 %dir %{_libexecdir}/mc
251 %attr(755,root,root) %{_libexecdir}/mc/cons.saver
252 %attr(755,root,root) %{_libexecdir}/mc/*.sh
253 %attr(755,root,root) %{_libexecdir}/mc/*.csh
254 %dir %{_datadir}/mc
255
256 %{_datadir}/mc/mc.*
257 %{_datadir}/mc/skins
258 %{_datadir}/mc/syntax
259
260 %dir %{_datadir}/mc/examples
261 %dir %{_datadir}/mc/examples/macros.d
262 %{_datadir}/mc/examples/macros.d/*
263
264 %dir %{_datadir}/mc/help
265 %{_datadir}/mc/help/mc.hlp
266 %lang(es) %{_datadir}/mc/help/mc.hlp.es
267 %lang(hu) %{_datadir}/mc/help/mc.hlp.hu
268 %lang(it) %{_datadir}/mc/help/mc.hlp.it
269 %lang(pl) %{_datadir}/mc/help/mc.hlp.pl
270 %lang(ru) %{_datadir}/mc/help/mc.hlp.ru
271 %lang(sr) %{_datadir}/mc/help/mc.hlp.sr
272 %dir %{_datadir}/mc/hints
273 %{_datadir}/mc/hints/mc.hint
274 # disabled hint files contain only English messages (as for 4.8.26)
275 %lang(be) %{_datadir}/mc/hints/mc.hint.be
276 %lang(bg) %{_datadir}/mc/hints/mc.hint.bg
277 %lang(ca) %{_datadir}/mc/hints/mc.hint.ca
278 %lang(cs) %{_datadir}/mc/hints/mc.hint.cs
279 %lang(da) %{_datadir}/mc/hints/mc.hint.da
280 %lang(de) %{_datadir}/mc/hints/mc.hint.de
281 #%lang(de_CH) %{_datadir}/mc/hints/mc.hint.de_CH
282 %lang(el) %{_datadir}/mc/hints/mc.hint.el
283 %lang(en_GB) %{_datadir}/mc/hints/mc.hint.en_GB
284 %lang(eo) %{_datadir}/mc/hints/mc.hint.eo
285 %lang(es) %{_datadir}/mc/hints/mc.hint.es
286 %lang(et) %{_datadir}/mc/hints/mc.hint.et
287 %lang(eu) %{_datadir}/mc/hints/mc.hint.eu
288 %lang(fa) %{_datadir}/mc/hints/mc.hint.fa
289 %lang(fr) %{_datadir}/mc/hints/mc.hint.fr
290 #%lang(fr_CA) %{_datadir}/mc/hints/mc.hint.fr_CA
291 %lang(ga) %{_datadir}/mc/hints/mc.hint.ga
292 %lang(gl) %{_datadir}/mc/hints/mc.hint.gl
293 %lang(hu) %{_datadir}/mc/hints/mc.hint.hu
294 %lang(id) %{_datadir}/mc/hints/mc.hint.id
295 %lang(it) %{_datadir}/mc/hints/mc.hint.it
296 %lang(ja) %{_datadir}/mc/hints/mc.hint.ja
297 %lang(ko) %{_datadir}/mc/hints/mc.hint.ko
298 %lang(lt) %{_datadir}/mc/hints/mc.hint.lt
299 %lang(nb) %{_datadir}/mc/hints/mc.hint.nb
300 %lang(nl) %{_datadir}/mc/hints/mc.hint.nl
301 %lang(pl) %{_datadir}/mc/hints/mc.hint.pl
302 %lang(pt) %{_datadir}/mc/hints/mc.hint.pt
303 %lang(pt_BR) %{_datadir}/mc/hints/mc.hint.pt_BR
304 %lang(ro) %{_datadir}/mc/hints/mc.hint.ro
305 %lang(ru) %{_datadir}/mc/hints/mc.hint.ru
306 %lang(sk) %{_datadir}/mc/hints/mc.hint.sk
307 %lang(sr) %{_datadir}/mc/hints/mc.hint.sr
308 %lang(sv) %{_datadir}/mc/hints/mc.hint.sv
309 %lang(tr) %{_datadir}/mc/hints/mc.hint.tr
310 %lang(uk) %{_datadir}/mc/hints/mc.hint.uk
311 %lang(zh_CN) %{_datadir}/mc/hints/mc.hint.zh_CN
312 %lang(zh_TW) %{_datadir}/mc/hints/mc.hint.zh_TW
313
314 %dir %{_libexecdir}/mc/ext.d
315 %attr(755,root,root) %{_libexecdir}/mc/ext.d/archive.sh
316 %attr(755,root,root) %{_libexecdir}/mc/ext.d/doc.sh
317 %attr(755,root,root) %{_libexecdir}/mc/ext.d/image.sh
318 %attr(755,root,root) %{_libexecdir}/mc/ext.d/misc.sh
319 %attr(755,root,root) %{_libexecdir}/mc/ext.d/package.sh
320 %attr(755,root,root) %{_libexecdir}/mc/ext.d/sound.sh
321 %attr(755,root,root) %{_libexecdir}/mc/ext.d/text.sh
322 %attr(755,root,root) %{_libexecdir}/mc/ext.d/video.sh
323 %attr(755,root,root) %{_libexecdir}/mc/ext.d/web.sh
324
325 %dir %{_libexecdir}/mc/extfs.d
326 %{_libexecdir}/mc/extfs.d/README*
327 %if %{with perl_vfs}
328 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/a+
329 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/apt+
330 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/deb*
331 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/dpkg+
332 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/mailfs
333 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/patchfs
334 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/rpms+
335 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/ulib
336 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/uzip
337 %endif
338 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/audio
339 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/bpp
340 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/changesetfs
341 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/gitfs+
342 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/hp48+
343 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/iso9660
344 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/lslR
345 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/patchsetfs
346 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/rpm
347 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/s3+
348 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/trpm
349 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/u7z
350 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/uace
351 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/ualz
352 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/uar*
353 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/uc1541
354 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/ucab
355 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/uha
356 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/ulha
357 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/unar
358 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/urar
359 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/uwim
360 %attr(755,root,root) %{_libexecdir}/mc/extfs.d/uzoo
361 %dir %{_libexecdir}/mc/fish
362 %{_libexecdir}/mc/fish/README.fish
363 %attr(755,root,root) %{_libexecdir}/mc/fish/[a-z]*
364 %{_desktopdir}/mc.desktop
365 %{_pixmapsdir}/mc.png
366
367 %{_mandir}/man1/mc.1*
368 %{_mandir}/man1/mcedit.1*
369 %{_mandir}/man1/mcview.1*
370 %lang(es) %{_mandir}/es/man1/*
371 %lang(hu) %{_mandir}/hu/man1/*
372 %lang(it) %{_mandir}/it/man1/*
373 %lang(pl) %{_mandir}/pl/man1/*
374 %lang(ru) %{_mandir}/ru/man1/*
375 %lang(sr) %{_mandir}/sr/man1/*
376
377 %dir %{_sysconfdir}/mc
378 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mc/*.*