File libreoffice-hyphen.spec of Package libreoffice-hyphen

#
# spec file for package libreoffice-hyphen
#
# Copyright (c) 2011 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:           libreoffice-hyphen
###################################################################
## DO NOT EDIT THIS SPEC FILE
## Generated by:
## perl libreoffice-hyphen-gen-spec libreoffice-hyphen.spec.in libreoffice-hyphen.data
###################################################################
BuildRequires:  dos2unix recode unzip
%if %suse_version > 1020
BuildRequires:  fdupes
%endif
License:        Freeware, GPLv2, GPLv2+, GPLv3, GPLv3+, LGPLv2.1, LGPLv2.1+, LGPLv3, LGPLv3+, LPPL
Group:          Productivity/Office/Dictionary
Version:        20110203.1
Release:        0.<RELEASE2>
AutoReqProv:    on
Summary:        Hyphen Dictionaries for LibreOffice
Provides:       locale(libreoffice:af) locale(OpenOffice_org:af)
Provides:       locale(libreoffice:be_UA) locale(OpenOffice_org:be_UA)
Provides:       locale(libreoffice:bg) locale(OpenOffice_org:bg)
Provides:       locale(libreoffice:bn_BD) locale(OpenOffice_org:bn_BD)
Provides:       locale(libreoffice:ca) locale(OpenOffice_org:ca)
Provides:       locale(libreoffice:cs) locale(OpenOffice_org:cs)
Provides:       locale(libreoffice:da) locale(OpenOffice_org:da)
Provides:       locale(libreoffice:de_AT) locale(OpenOffice_org:de_AT)
Provides:       locale(libreoffice:de_CH) locale(OpenOffice_org:de_CH)
Provides:       locale(libreoffice:de_DE) locale(OpenOffice_org:de_DE)
Provides:       locale(libreoffice:el) locale(OpenOffice_org:el)
Provides:       locale(libreoffice:en_US) locale(OpenOffice_org:en_US)
Provides:       locale(libreoffice:en_GB) locale(OpenOffice_org:en_GB)
Provides:       locale(libreoffice:en_CA) locale(OpenOffice_org:en_CA)
Provides:       locale(libreoffice:es) locale(OpenOffice_org:es)
Provides:       locale(libreoffice:es) locale(OpenOffice_org:es)
Provides:       locale(libreoffice:et) locale(OpenOffice_org:et)
Provides:       locale(libreoffice:fi) locale(OpenOffice_org:fi)
Provides:       locale(libreoffice:fr_BE) locale(OpenOffice_org:fr_BE)
Provides:       locale(libreoffice:fr_FR) locale(OpenOffice_org:fr_FR)
Provides:       locale(libreoffice:ga) locale(OpenOffice_org:ga)
Provides:       locale(libreoffice:gu) locale(OpenOffice_org:gu)
Provides:       locale(libreoffice:hi) locale(OpenOffice_org:hi)
Provides:       locale(libreoffice:hr) locale(OpenOffice_org:hr)
Provides:       locale(libreoffice:hu) locale(OpenOffice_org:hu)
Provides:       locale(libreoffice:id) locale(OpenOffice_org:id)
Provides:       locale(libreoffice:is) locale(OpenOffice_org:is)
Provides:       locale(libreoffice:it) locale(OpenOffice_org:it)
Provides:       locale(libreoffice:ku) locale(OpenOffice_org:ku)
Provides:       locale(libreoffice:lt) locale(OpenOffice_org:lt)
Provides:       locale(libreoffice:lv) locale(OpenOffice_org:lv)
Provides:       locale(libreoffice:ml_IN) locale(OpenOffice_org:ml_IN)
Provides:       locale(libreoffice:mr) locale(OpenOffice_org:mr)
Provides:       locale(libreoffice:nb) locale(OpenOffice_org:nb)
Provides:       locale(libreoffice:nl) locale(OpenOffice_org:nl)
Provides:       locale(libreoffice:nn) locale(OpenOffice_org:nn)
Provides:       locale(libreoffice:pl) locale(OpenOffice_org:pl)
Provides:       locale(libreoffice:pt_PT) locale(OpenOffice_org:pt_PT)
Provides:       locale(libreoffice:pt_BR) locale(OpenOffice_org:pt_BR)
Provides:       locale(libreoffice:ro) locale(OpenOffice_org:ro)
Provides:       locale(libreoffice:ru) locale(OpenOffice_org:ru)
Provides:       locale(libreoffice:sk) locale(OpenOffice_org:sk)
Provides:       locale(libreoffice:sl) locale(OpenOffice_org:sl)
Provides:       locale(libreoffice:sv) locale(OpenOffice_org:sv)
Provides:       locale(libreoffice:uk) locale(OpenOffice_org:uk)
#compat stuff
Provides:       OpenOffice_org:/usr/lib/ooo-2.0/share/dict/ooo/hyph_en_US.dic
Provides:       OpenOffice_org-hyphen = %version
Obsoletes:      OpenOffice_org-hyphen <= %version
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildArch:      noarch
Source0:        libreoffice-hyphen-gen-spec
Source1:        libreoffice-hyphen.spec.in
Source2:        libreoffice-hyphen.data
Source1000:     dict-af.oxt
Source1001:     dict-be-classic.oxt
Source1002:     dictionaries-bg.oxt
Source1003:     hyph_bn_1.2.oxt
Source1004:     hyph-ca.oxt
Source1005:     dict-cs-2.0.oxt
Source1006:     hyph_da_DK.tar.bz2
Source1007:     dict-de_AT-frami_2010-03-07.oxt
Source1008:     dict-de_CH-frami_2010-03-07.oxt
Source1009:     dict-de_DE-frami_2010-03-07.oxt
Source1010:     hyph_el_GR.tar.bz2
Source1011:     hyph_en_US.tar.bz2
Source1012:     hyph_en_GB.tar.bz2
Source1013:     hyph_en_CA.tar.bz2
Source1014:     dict-es_VE.oxt
Source1015:     hyph_es_ES.tar.bz2
Source1016:     dict-et.oxt
Source1017:     hyph_fi_FI.tar.bz2
Source1018:     hyph_fr_BE.tar.bz2
Source1019:     ooo-dictionnaire-fr-reforme1990-v3.5.oxt
Source1020:     focloiri-gaeilge-4.4.oxt
Source1021:     hyph_gu_1.1.oxt
Source1022:     hyph_hi_1.2.oxt
Source1023:     hyph_hr_HR.tar.bz2
Source1024:     hyph_hu_HU.tar.bz2
Source1025:     id.oxt
Source1026:     hyph_is-1.0.oxt
Source1027:     Dizionari.IT_20081129.oxt
Source1028:     kitandin.oxt
Source1029:     hyph_lt_LT.tar.bz2
Source1030:     dict_lv_LV-0.8.2.oxt
Source1031:     hyph_ml_1.3.oxt
Source1032:     hyph_mr_1.2.oxt
Source1033:     hyph_nb_NO.tar.bz2
Source1034:     hyph_nl_NL.tar.bz2
Source1035:     hyph_nn_NO.tar.bz2
Source1036:     pl-dict.oxt
Source1037:     oo3x-pt-PT.oxt
Source1038:     Vero_pt_BR_V207AOC.oxt
Source1039:     dict-ro.1.1.oxt
Source1040:     dict_ru_RU-0.3.4.oxt
Source1041:     dict-sk.oxt
Source1042:     pack-sl.oxt
Source1043:     hyph_sv_SE.tar.bz2
Source1044:     hyph_uk_UA.tar.bz2

%description
These dictionaries help you to hyphenate texts and words in the
LibreOffice office suite.



%prep
%setup -T -c
# unpack sources
for archive in \
    %{S:1000} \
    %{S:1001} \
    %{S:1002} \
    %{S:1003} \
    %{S:1004} \
    %{S:1005} \
    %{S:1006} \
    %{S:1007} \
    %{S:1008} \
    %{S:1009} \
    %{S:1010} \
    %{S:1011} \
    %{S:1012} \
    %{S:1013} \
    %{S:1014} \
    %{S:1015} \
    %{S:1016} \
    %{S:1017} \
    %{S:1018} \
    %{S:1019} \
    %{S:1020} \
    %{S:1021} \
    %{S:1022} \
    %{S:1023} \
    %{S:1024} \
    %{S:1025} \
    %{S:1026} \
    %{S:1027} \
    %{S:1028} \
    %{S:1029} \
    %{S:1030} \
    %{S:1031} \
    %{S:1032} \
    %{S:1033} \
    %{S:1034} \
    %{S:1035} \
    %{S:1036} \
    %{S:1037} \
    %{S:1038} \
    %{S:1039} \
    %{S:1040} \
    %{S:1041} \
    %{S:1042} \
    %{S:1043} \
    %{S:1044} \
    ; do
	archive_name=`basename $archive | sed -e "s|.zip$||" -e "s|.oxt$||" -e "s|.tar.gz$||" -e "s|.tar.bz2$||"`
	mkdir $archive_name || exit 1;
	case $archive in
	    *.zip|*.oxt)
		cd $archive_name; unzip $archive || exit 1; cd -
		;;
	    *.tar.gz)
		tar -xzf $archive -C $archive_name || exit 1;
		;;
	    *.tar.bz2)
		tar -xjf $archive -C $archive_name || exit 1;
		;;
	    *)
		echo "Error: Do not know how to uncompress $archive"
		exit 1;
		;;
	esac
done
#
# fix file names
cp hyph_bn_1.2/hyph_bn_IN.dic hyph_bn_1.2/hyph_bn_BD.dic
mv hyph-ca/hyph_ca_ANY.dic hyph-ca/hyph_ca_ES.dic
mv ooo-dictionnaire-fr-reforme1990-v3.5/dictionaries/hyph_fr.dic ooo-dictionnaire-fr-reforme1990-v3.5/dictionaries/hyph_fr_FR.dic
mv id/hyph_id.dic id/hyph_id_ID.dic
mv hyph_is-1.0/hyph_is.dic hyph_is-1.0/hyph_is_IS.dic
mv kitandin/hyph_ku.dic kitandin/hyph_ku_TR.dic
#
#
# fix permissions
find . -type f -exec chmod 644 {} \;

%build

%install
install -m 755 -d $RPM_BUILD_ROOT%{_datadir}/hyphen
install -m 755 -d $RPM_BUILD_ROOT%{_docdir}/%{name}
# compat stuff
install -m 755 -d $RPM_BUILD_ROOT%{_datadir}/ooo/hyphen
# init file list
filelist=files.list
echo "%%defattr(-,root,root)" >$filelist
echo "%%dir %{_docdir}/libreoffice-hyphen" >>$filelist
echo "%%dir %{_datadir}/hyphen" >>$filelist
# compat stuff
echo "%%dir %{_datadir}/ooo" >>$filelist
echo "%%dir %{_datadir}/ooo/hyphen" >>$filelist
# process all directories
for lang_dir in * ; do
    test -d $lang_dir || continue
    # install dictionaries
    dic=
    # support locales with 2 and 3 letters in the language code: hyph_ll_CC.dic and hyph_lll_CC.dic
    for dic in `find $lang_dir -regextype posix-extended -regex ".*/hyph_[[:lower:]][[:lower:]][[:lower:]]?_[[:upper:]][[:upper:]].dic" | sort` ; do
	fname=$(basename $dic)
	if test -f $RPM_BUILD_ROOT%{_datadir}/hyphen/$fname ; then
	    echo "Error: file already installed: $f"
	    echo "       Probably is provided by two source tarballs"
	    exit 1;
	fi
	install -m 644 $dic $RPM_BUILD_ROOT%{_datadir}/hyphen/
        echo %{_datadir}/hyphen/$fname >>$filelist
        # compat stuff
        ln -sf ../../hyphen/$fname $RPM_BUILD_ROOT%{_datadir}/ooo/hyphen/
        echo %{_datadir}/ooo/hyphen/$fname >>$filelist
    done

    # detect locale, lang and country
    if test -n "$dic" ; then
    # replace the underscore with a dot to be able to separate the language and the coutry code with the command "cut"
	dic_pname=`basename $dic | sed "s|_|.|g"`
	lang=`echo $dic_pname | cut -d "." -f2`
	country=`echo $dic_pname | cut -d "." -f3`
    else
	echo "Error: No dictionary found in $lang_dir"
	exit 1;
    fi
    locale="${lang}_${country}"

    # detect README encoding
    case "$locale" in 
	"ku_TR") coding="ISO-8859-9" ;;
	*) coding=`LC_CTYPE="$locale" locale -k LC_CTYPE | grep charmap | sed "s|charmap=\"\(.*\)\"\$|\1|"` ;;
    esac

    # install documentation
    docdir=%{_docdir}/libreoffice-hyphen/hyph_$locale
    mkdir -p $RPM_BUILD_ROOT$docdir
    echo "%%doc $docdir" >>$filelist
    for doc in `find $lang_dir -type f -printf "%%P\n" | \
                grep -v -e ".aff$" -e ".dic$" -e ".dat$" -e ".idx$" \
                        -e ".orig$" -e ".old$" -e "~$" \
                        -e ".sh$" -e "makefile" -e "META-INF"` ; do
	if ! test -f $lang_dir/$doc ; then
	    echo "Error: is not a file: $lang_dir/$doc"
	    exit 1;
	fi
	recode utf8..utf16 <$lang_dir/$doc >/dev/null 2>&1 || recode $coding..utf8 $lang_dir/$doc
	dos2unix $lang_dir/$doc
	dname=$(dirname $doc)
	install -m 755 -d $RPM_BUILD_ROOT$docdir/$dname
	install -m 644 $lang_dir/$doc $RPM_BUILD_ROOT$docdir/$dname
    done
done
# link duplicated files
%if %suse_version > 1020
%fdupes $RPM_BUILD_ROOT
%endif

%clean
rm -rf $RPM_BUILD_ROOT

%files -f files.list

%changelog
openSUSE Build Service is sponsored by