mc/mc.spec

265 lines
8.5 KiB
RPMSpec

#
# spec file for package mc (Version 4.6.2)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: mc
Summary: Midnight Commander
Group: Productivity/File utilities
License: GPLv2+
Url: http://www.ibiblio.org/mc/
Version: 4.7.0.7
Release: 7
Source: mc-%{version}.tar.lzma
Source1: x11_browser
Source2: %{name}.desktop
Source3: %{name}.png
Patch0: mc-fix_lib_search_path.patch
Patch6: mc-apps.patch
Patch7: mc-palmsupport.patch
Patch8: mc-word_docs.patch
Patch9: mc-x11browser.diff
Patch12: mc-wrapper.patch
Patch14: mc-syntax-hpp.patch
Patch16: mc-esc-seq.patch
Patch17: mc-rpm.patch
Patch20: mc-f-keys.patch
#debian fixes for vfs
Patch24: 02_ignore_ftp_chmod_error.patch
#Debian fixes
Patch30: 04_add_gem_extension.patch
Patch31: 09_uzip_broken_528239.patch
Patch32: 20_wrong_path_to_wrappers.patch
# PATCH-FIX-UPSTREAM mc-multi-press-f-keys.patch mc287 sbrabec@suse.cz - Fixed Esc + Numeral F-key emulation.
Patch41: mc-multi-press-f-keys.patch
# Patches from Fedora
Patch50: mc-extensions.patch
Patch51: mc-mcviewsegfault.patch
Patch52: mc-int_ptr_casts.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: audiofile-devel
BuildRequires: docbook-toys
BuildRequires: e2fsprogs-devel
BuildRequires: fdupes
BuildRequires: glib2-devel
%if 0%{?suse_version} > 1130
BuildRequires: gpm-devel
%else
BuildRequires: gpm
%endif
BuildRequires: indent
BuildRequires: jpeg
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: readline-devel
BuildRequires: recode
BuildRequires: slang-devel
BuildRequires: update-desktop-files
BuildRequires: xorg-x11-devel
BuildRequires: xdg-utils
BuildRequires: xz
Requires(pre): permissions
Recommends: %{name}-lang = %{version}
%description
Midnight Commander is a Norton Commander clone, a program that
manipulates and manages files and directories. It is useful, fast, and
has color display on the Linux console. It also has mouse support if
you run the gpm mouse server. This program requires the terminal
description files in /usr/lib/terminfo, which are found in ncurses.rpm
(the essential ones) or terminfo.rpm (the rest).
You can also use Midnight Commander under the X Window System with your
mouse. If you enter 'mc -c', colors are used.
In Midnight Commander, the screen is divided into four sections: The
majority of the screen is covered by two directory panels. The second
to last line on the screen is the shell command line. The last line
displays the function key assignments. At the very top, the menu list
is shown. One of the directories displayed is the current working
directory. This is where most of the commands are found. For certain
commands, like copy and move, the second directory is used as the
target directory.
%lang_package
%prep
%setup -q
%patch0
%patch6
%patch7
%patch8
%patch9
%patch12
%patch14
%patch16
%patch17
%patch20
%patch24
%patch30
%patch31
%patch32
%patch41
%patch50
%patch51
%patch52
pushd doc/hints
iconv -f iso8859-1 -t utf-8 -o mc.hint.tmp mc.hint && mv mc.hint.tmp mc.hint
iconv -f iso8859-1 -t utf-8 -o mc.hint.es.tmp mc.hint.es && mv mc.hint.es.tmp mc.hint.es
iconv -f iso8859-1 -t utf-8 -o mc.hint.it.tmp mc.hint.it && mv mc.hint.it.tmp mc.hint.it
iconv -f iso8859-1 -t utf-8 -o mc.hint.nl.tmp mc.hint.nl && mv mc.hint.nl.tmp mc.hint.nl
iconv -f iso8859-2 -t utf-8 -o mc.hint.cs.tmp mc.hint.cs && mv mc.hint.cs.tmp mc.hint.cs
iconv -f iso8859-2 -t utf-8 -o mc.hint.hu.tmp mc.hint.hu && mv mc.hint.hu.tmp mc.hint.hu
iconv -f iso8859-2 -t utf-8 -o mc.hint.pl.tmp mc.hint.pl && mv mc.hint.pl.tmp mc.hint.pl
iconv -f iso8859-5 -t utf-8 -o mc.hint.sr.tmp mc.hint.sr && mv mc.hint.sr.tmp mc.hint.sr
iconv -f koi8-r -t utf8 -o mc.hint.ru.tmp mc.hint.ru && mv mc.hint.ru.tmp mc.hint.ru
iconv -f koi8-u -t utf8 -o mc.hint.uk.tmp mc.hint.uk && mv mc.hint.uk.tmp mc.hint.uk
iconv -f big5 -t utf8 -o mc.hint.zh.tmp mc.hint.zh && mv mc.hint.zh.tmp mc.hint.zh
popd
pushd misc
iconv -f iso8859-5 -t utf-8 -o mc.menu.sr.tmp mc.menu.sr && mv mc.menu.sr.tmp mc.menu.sr
popd
# convert docs to utf-8
pushd doc
pushd man
pushd es
iconv -f iso8859-1 -t utf-8 -o mc.1.in.tmp mc.1.in && mv mc.1.in.tmp mc.1.in
popd
pushd hu
iconv -f iso8859-2 -t utf-8 -o mc.1.in.tmp mc.1.in && mv mc.1.in.tmp mc.1.in
popd
pushd it
iconv -f iso8859-1 -t utf-8 -o mc.1.in.tmp mc.1.in && mv mc.1.in.tmp mc.1.in
popd
pushd pl
iconv -f iso8859-2 -t utf-8 -o mc.1.in.tmp mc.1.in && mv mc.1.in.tmp mc.1.in
popd
pushd ru
iconv -f koi8-r -t utf-8 -o mc.1.in.tmp mc.1.in && mv mc.1.in.tmp mc.1.in
popd
pushd sr
iconv -f iso8859-5 -t utf-8 -o mc.1.in.tmp mc.1.in && mv mc.1.in.tmp mc.1.in
iconv -f iso8859-5 -t utf-8 -o mcserv.8.in.tmp mcserv.8.in && mv mcserv.8.in.tmp mcserv.8.in
popd # doc/man
popd # doc/
pushd hlp
pushd es
iconv -f iso8859-1 -t utf-8 -o xnc.hlp.tmp xnc.hlp && mv xnc.hlp.tmp xnc.hlp
popd
pushd hu
iconv -f iso8859-2 -t utf-8 -o xnc.hlp.tmp xnc.hlp && mv xnc.hlp.tmp xnc.hlp
popd
pushd it
iconv -f iso8859-1 -t utf-8 -o xnc.hlp.tmp xnc.hlp && mv xnc.hlp.tmp xnc.hlp
popd
pushd pl
iconv -f iso8859-2 -t utf-8 -o xnc.hlp.tmp xnc.hlp && mv xnc.hlp.tmp xnc.hlp
popd
pushd ru
iconv -f koi8-r -t utf-8 -o xnc.hlp.tmp xnc.hlp && mv xnc.hlp.tmp xnc.hlp
popd
pushd sr
iconv -f iso8859-5 -t utf-8 -o xnc.hlp.tmp xnc.hlp && mv xnc.hlp.tmp xnc.hlp
popd # doc/hlp
popd # doc/
popd
%build
autoreconf --force --install
%define warn_flags -W -Wall -Wstrict-prototypes -Wpointer-arith -Wformat-security -Wno-unused-parameter
export CFLAGS="$RPM_OPT_FLAGS %{warn_flags}"
%configure \
--localstatedir=/var/lib \
--enable-charset \
--with-samba
make %{?jobs:-j%{jobs}}
%install
make DESTDIR=%{buildroot} install
# clean up this setuid problem for now
chmod 755 %{buildroot}/%{_libexecdir}/mc/cons.saver
# copy Korean mc hint message,
# install -m 0644 %{SOURCE3} %{datadir}/mc/
#install the shell functions for bourne shell and csh
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
ln -fs -t %{buildroot}%{_sysconfdir}/profile.d %{_datadir}/mc/mc.{,c}sh
#support script for calling available GUI webbrosers
install -m 755 %{SOURCE1} %{buildroot}%{_datadir}/mc/
install -D -m 644 %{S:3} %{buildroot}%{_datadir}/pixmaps/%{name}.png
%suse_update_desktop_file -i %name System FileManager
%{find_lang} %{name}
%fdupes -s %{buildroot}%{_prefix}
%clean
rm -rf %{buildroot}
%post
%run_permissions
%verifyscript
%verify_permissions -e %{_libexecdir}/mc/cons.saver
%files
%defattr(-, root, root)
%doc ABOUT-NLS COPYING NEWS README
%config %{_sysconfdir}/profile.d/*
%{_bindir}/mc*
%dir %{_sysconfdir}/mc
%config %{_sysconfdir}/mc/filehighlight.ini
%config %{_sysconfdir}/mc/sfs.ini
%config %{_sysconfdir}/mc/mc.menu
%config %{_sysconfdir}/mc/Syntax
%config %{_sysconfdir}/mc/mc.ext
%config %{_sysconfdir}/mc/mc.keymap.emacs
%config %{_sysconfdir}/mc/edit.spell.rc
%config %{_sysconfdir}/mc/mc.lib
%config %{_sysconfdir}/mc/cedit.menu
%config %{_sysconfdir}/mc/mc.keymap.default
%config %{_sysconfdir}/mc/mc.charsets
%config %{_sysconfdir}/mc/mc.keymap
%config %{_sysconfdir}/mc/edit.indent.rc
%dir %{_libexecdir}/mc
%verify(not mode) %{_libexecdir}/mc/cons.saver
%{_mandir}/man1/*
%{_datadir}/mc
%{_libexecdir}/mc
%exclude %{_datadir}/mc/mc.hint.*
%exclude %{_datadir}/mc/mc.hlp.*
%exclude %{_sysconfdir}/mc/mc.menu.*
%{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/%{name}.png
%lang(es) %doc %{_mandir}/es
%lang(hu) %doc %{_mandir}/hu
%lang(it) %doc %{_mandir}/it
%lang(pl) %doc %{_mandir}/pl
%lang(ru) %doc %{_mandir}/ru
%lang(sr) %doc %{_mandir}/sr
%lang(cs) %doc %{_datadir}/mc/mc.*.cs
%lang(es) %doc %{_datadir}/mc/mc.*.es
%lang(hu) %doc %{_datadir}/mc/mc.*.hu
%lang(it) %doc %{_datadir}/mc/mc.*.it
%lang(nl) %doc %{_datadir}/mc/mc.*.nl
%lang(pl) %doc %{_datadir}/mc/mc.*.pl
%lang(sr) %doc %{_datadir}/mc/mc.*.sr
%files lang -f %{name}.lang
%changelog