File mc.spec of Package mc46

#
# spec file for package mc (Version 4.6.2)
#

# norootforbuild

%if %{defined _project}
%define is_suse 1
%else
%define is_suse %(test -e /etc/SuSE-release && echo 1 || echo 0)
%endif
%define with_scr_saver 0


Summary:        Midnight Commander
Name:		mc
Version:	4.6.2
Release:	27zh
License:	GPL
Group:		System Environment/Shells
# + for suse:
#Group:          Productivity/File utilities
# -
Source0:	http://ftp.midnight-commander.org/mc-4.6.2.tar.gz
URL:		http://www.midnight-commander.org/
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:	glib2-devel e2fsprogs-devel slang-devel
BuildRequires:	autoconf
BuildRequires:	automake
#Requires:	dev >= 0:3.3-3

Patch0:         mc-utf8.patch
Patch1:         00-70-utf8-common.patch
Patch2:         00-73-utf8-bottom-buttons-width.patch
Patch3:         00-75-utf8-cmdline-help.patch
Patch4:         00-76-utf8-hotlist-highlight.patch
Patch5:         00-77-utf8-filename-search-highlight.patch
Patch6:         mc-apps.patch
Patch7:         mc-palmsupport.patch
Patch8:         mc-word_docs.patch
Patch9:         mc-x11browser.diff
Patch10:        mc-no-nb.diff
Patch12:        mc-wrapper.patch
Patch14:        mc-syntax-hpp.patch
Patch15:        mc-utf8-nlink.patch
Patch16:        mc-esc-seq.patch
Patch17:        mc-rpm.patch
Patch18:        mc-cursor-appearance.patch
Patch20:        mc-f-keys.patch
#debian fixes for utf8
Patch22:        mc-utf8-look-and-feel.patch
#debian fixes for vfs
Patch23:        01_ftpfs_symlink.patch
Patch24:        02_ignore_ftp_chmod_error.patch
Patch28:        05_add_lzma_xz_support.patch
Patch30:        06_remove_obsolete_rpm_tags.patch
Patch32:        08_improved_u7z_support.patch
Patch33:        09_choose_correct_urar.patch
#other debian fixes
Patch38:        99b_fix-regex-pattern-lengths.patch
Patch40:        99_regexp-replace-fixed.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
# PATCH-FIX-OPENSUSE mc-utf8-slang-codeset.patch sbrabec@suse.cz - Guess UTF-8 locale from codeset, not from locale variables (not needed for openSUSE, valuable for upstream).
Patch42:        mc-utf8-slang-codeset.patch
# PATCH-FIX-OPENSUSE mc-crash-bnc500516.patch nadvornik@suse.cz - fixes a bug in utf-8 patch
Patch43:        mc-crash-bnc500516.patch
# PATCH-FIX-UPSTREAM mc-port-number-bnc483249.patch nadvornik@suse.cz - port number in shell link - midnight-commander.org/ticket/118
Patch44:        mc-port-number-bnc483249.patch
# PATCH-FIX-UPSTREAM mc-mkdir_mc_home.patch mseben@suse.cz - create .mc home dir at startup (bnc#533262)
Patch45:        mc-mkdir_mc_home.patch
# Prevent too much of crap before the prompt --zhubr
Patch61:        mc-nice-prompt.diff
# Trim long filenames reasonably  --zhubr
Patch62:        mc-nice-fnames.diff
# Extended xterm mouse support backported from 4.8.8
Patch63:	mc-xmouse-supp.diff
# Correct shift+Fx key bindings for modern linux console (tty)
Patch64:	mc-fix-linux-sfkeys.diff
# + from centos
#Patch70:		mc-utf8.patch
Patch72:		mc-uglydir.patch
Patch74:		mc-userhost.patch
Patch75:		mc-64bit.patch
#Patch6:		mc-utf8-look-and-feel.patch
Patch78:		mc-showfree.patch
Patch80:	mc-delcheck.patch
# -
# Better defaults  --zhubr
Patch91:        mc-nice-defaults.diff
Patch92:        mc-vfs-uncompress.diff

%if %is_suse
%debug_package
%else
%endif

%description
Midnight Commander is a visual shell much like a file manager, only
with many more features. It is a text mode application, but it also
includes mouse support. Midnight Commander's best features are its
ability to FTP, view tar and zip files, and to poke into RPMs for
specific files.

%prep
%setup -q

%patch0 -p 1
%patch1 -p 1
%patch2 -p 1
%patch3 -p 1
%patch4 -p 1
%patch5 -p 1
%patch6
%patch7 -p 1
%patch8
%patch9
%patch10
%patch12
%patch14
%patch15
%patch16
%patch17
%patch18
%patch20
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch28 -p1
%patch30 -p1
%patch32 -p1
%patch33 -p1
%patch38 -p1
%patch40 -p1
%patch41 -p1
%patch42 -p1
%patch43
%patch44 -p1
%patch45
%patch61
%patch62
%patch63
%patch64 -p1
# + from centos
#%patch0 -p1 -b .utf8
%patch72 -p1
%patch74 -p1
%patch75 -p1
#%patch86 -p1 -b .laf
%patch78 -p1
%patch80 -p1
##%patch81 -p1 -b .etcmc
# -
%patch91
%patch92


pushd po
rename no nb no.*
popd

# convert files in /lib to UTF-8
pushd lib
for i in mc.hint mc.hint.es mc.hint.it mc.hint.nl; do
  iconv -f iso-8859-1 -t utf-8 < ${i} > ${i}.tmp
  mv -f ${i}.tmp ${i}
done

for i in mc.hint.cs mc.hint.hu mc.hint.pl; do
  iconv -f iso-8859-2 -t utf-8 < ${i} > ${i}.tmp
  mv -f ${i}.tmp ${i}
done

for i in mc.hint.sr mc.menu.sr; do
  iconv -f iso-8859-5 -t utf-8 < ${i} > ${i}.tmp
  mv -f ${i}.tmp ${i}
done

iconv -f koi8-r -t utf8 < mc.hint.ru > mc.hint.ru.tmp
mv -f mc.hint.ru.tmp mc.hint.ru
iconv -f koi8-u -t utf8 < mc.hint.uk > mc.hint.uk.tmp
mv -f mc.hint.uk.tmp mc.hint.uk
iconv -f big5 -t utf8 < mc.hint.zh > mc.hint.zh.tmp
mv -f mc.hint.zh.tmp mc.hint.zh
popd


# convert man pages in /doc to UTF-8
pushd doc

pushd ru
for i in mc.1.in xnc.hlp; do
  iconv -f koi8-r -t utf-8 < ${i} > ${i}.tmp
  mv -f ${i}.tmp ${i}
done
popd

pushd sr
for i in mc.1.in mcserv.8.in xnc.hlp; do
  iconv -f iso-8859-5 -t utf-8 < ${i} > ${i}.tmp
  mv -f ${i}.tmp ${i}
done
popd

for d in es it; do
  for i in mc.1.in xnc.hlp; do
    iconv -f iso-8859-3 -t utf-8 < ${d}/${i} > ${d}/${i}.tmp
    mv -f ${d}/${i}.tmp ${d}/${i}
  done
done

for d in hu pl; do
  for i in mc.1.in xnc.hlp; do
    iconv -f iso-8859-2 -t utf-8 < ${d}/${i} > ${d}/${i}.tmp
    mv -f ${d}/${i}.tmp ${d}/${i}
  done
done

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}"
# # export CFLAGS="-DUTF8=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $RPM_OPT_FLAGS"
# # #./autogen.sh
%configure --with-screen=slang \
	     --host=%{_host} --build=%{_build} \
	     --target=%{_target_platform} \
	     --program-prefix=%{?_program_prefix} \
	     --prefix=%{_prefix} \
	     --exec-prefix=%{_exec_prefix} \
	     --bindir=%{_bindir} \
	     --sbindir=%{_sbindir} \
	     --sysconfdir=%{_sysconfdir} \
	     --datadir=%{_datadir} \
	     --includedir=%{_includedir} \
	     --libdir=%{_libdir} \
	     --libexecdir=%{_libexecdir} \
	     --localstatedir=%{_localstatedir} \
	     --sharedstatedir=%{_sharedstatedir} \
	     --mandir=%{_mandir} \
	     --infodir=%{_infodir} \
	     --enable-charset \
	     --with-samba \
	     --without-x \
	     --without-gpm-mouse

make %{?_smp_mflags}

%install 
rm -rf $RPM_BUILD_ROOT
install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/profile.d

%{makeinstall} sysconfdir=$RPM_BUILD_ROOT%{_sysconfdir}

install lib/{mc.sh,mc.csh} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d

# install man pages in various languages
for l in es hu it pl ru sr ; do
mkdir -p $RPM_BUILD_ROOT%{_mandir}/${l}
mkdir -p $RPM_BUILD_ROOT%{_mandir}/${l}/man1
gzip -nf9 doc/${l}/mc.1
install -m 644 doc/${l}/mc.1.gz $RPM_BUILD_ROOT%{_mandir}/${l}/man1
done

for I in /etc/pam.d/mcserv \
	/etc/rc.d/init.d/mcserv \
	/etc/mc.global; do
	rm -rf ${RPM_BUILD_ROOT}${I}
done

%if 0%{?with_scr_saver}
%else
rm -rf $RPM_BUILD_ROOT%{_libexecdir}/mc/cons.saver
%endif

%find_lang %{name}

%clean
rm -rf $RPM_BUILD_ROOT

%files -f %{name}.lang
%defattr(-, root, root)

%doc FAQ COPYING NEWS README
%{_bindir}/mc
%{_bindir}/mcedit
%{_bindir}/mcmfmt
%{_bindir}/mcview
%{_datadir}/mc/*
%if 0%{?with_scr_saver}
%dir %{_libexecdir}/mc
%attr(4711, vcsa, root) %{_libexecdir}/mc/cons.saver
%endif
%{_mandir}/man1/*
%dir %{_mandir}/sr
%dir %{_mandir}/ru
%dir %{_mandir}/pl
%dir %{_mandir}/it
%dir %{_mandir}/hu
%dir %{_mandir}/es
%dir %{_mandir}/sr/man1
%dir %{_mandir}/ru/man1
%dir %{_mandir}/pl/man1
%dir %{_mandir}/it/man1
%dir %{_mandir}/hu/man1
%dir %{_mandir}/es/man1
%lang(es) %{_mandir}/es/man1/mc.1.gz
%lang(hu) %{_mandir}/hu/man1/mc.1.gz
%lang(it) %{_mandir}/it/man1/mc.1.gz
%lang(pl) %{_mandir}/pl/man1/mc.1.gz
%lang(ru) %{_mandir}/ru/man1/mc.1.gz
%lang(sr) %{_mandir}/sr/man1/mc.1.gz
%config %{_sysconfdir}/profile.d/*
%dir %{_datadir}/mc

openSUSE Build Service is sponsored by