File translate-toolkit.spec of Package translate-toolkit

#
# spec file for package translate-toolkit
#
# Copyright (c) 2017 SUSE LINUX 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/
#


Name:           translate-toolkit
Version:        2.3.0
Release:        0
Summary:        Tools and API to assist with translation and software localization
License:        GPL-2.0+
Group:          Development/Tools/Other
Url:            http://toolkit.translatehouse.org/
Source:         https://github.com/translate/translate/releases/download/%{version}/%{name}-%{version}.tar.gz
BuildRequires:  fdupes
BuildRequires:  gettext-runtime
BuildRequires:  iso-codes
# The following are needed for man page and docs generation
BuildRequires:  python3-Babel
BuildRequires:  python3-Levenshtein
BuildRequires:  python3-Sphinx
BuildRequires:  python3-beautifulsoup4
BuildRequires:  python3-devel >= 2.7
BuildRequires:  python3-iniparse
BuildRequires:  python3-lxml >= 3.5.0
BuildRequires:  python3-lxml-doc
BuildRequires:  python3-pyenchant
BuildRequires:  python3-pytest
BuildRequires:  python3-six
BuildRequires:  python3-xml
Requires:       gettext-runtime
Requires:       python3-lxml
Requires:       python3-pycountry
Requires:       python3-pyenchant
Requires:       python3-setuptools
Requires:       python3-six
# The following are for the full experience of translate-toolkit
Recommends:     gaupol
Recommends:     iso-codes
Recommends:     python3-chardet
Recommends:     python3-Levenshtein
Recommends:     python3-aeidon
Recommends:     python3-iniparse
Recommends:     python3-PyYAML
Recommends:     vobject
Provides:       python3-translate-toolkit = %{version}
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildArch:      noarch

%description
The Translate Toolkit is a set of software and documentation designed to help
make the lives of localizers both more productive and less frustrating.

The software includes programs to convert localization formats to the common
PO, and emerging XLIFF format.  There are also programs to check and manage PO
and XLIFF files.  Online documentation includes guides on using the tools,
running a localization project and how to localize various projects from
OpenOffice.org to Mozilla.

At its core the software contains a set of classes for handling various
localization storage formats: DTD, properties, OpenOffice.org GSI/SDF,
CSV, MO, Qt .ts, TMX, TBX, WordFast txt, Gettext .mo, Windows RC, and
of course PO and XLIFF.  It also provides scripts to convert between
these formats.

Also part of the Toolkit are Python programs to create word counts, merge
translations and perform various checks on translation files.

%package devel-doc
Summary:        Tools and API to assist with translation and software localization
Group:          Development/Libraries/Python
Requires:       %{name} = %{version}
Provides:       %{name}-devel = %{version}
Obsoletes:      %{name}-devel < %{version}
BuildArch:      noarch

%description devel-doc
The %{name}-devel-doc package contains Translate Toolkit API documentation for developers wishing to build new tools for the
toolkit or to use the libraries in other localization tools.

%prep
%setup -n %{name}-%{version} -q

sed -i 296"s|'share'|'translate/share'|" setup.py
# fix for bnc#750652 - remove Apache-2.0 file - difflib is the fallback solution
rm translate/misc/diff_match_patch.py*
# drop requirements for diff-match-patch
sed -i '/diff-match-patch/d' requirements/required.txt

# Remove build cache (causes problems with different Sphinx and/or architecture)
rm -rf docs/_build

#Fix for shebang errors:
for lib in translate/{*.py,*/*.py,*/*/*.py}; do
 sed -i '\|%{_bindir}/env |d' $lib
done

#fix wrong perms
chmod a-x docs/_themes/sphinx-bootstrap/static/font/*.*
#fix line terminators in jquery.js
sed -i 's/\r//' docs/_themes/sphinx-bootstrap/static/jquery.js

%build
python3 setup.py build
pushd docs
# Can't use parallel build here!
make html man
gzip -9 _build/man/*.1
#no hidden files
find _build -name '.?*' -exec rm '{}' \+
popd

%install
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}

# create manpages
mkdir -p %{buildroot}/%{_mandir}/man1
for program in %{buildroot}/%{_bindir}/*; do
    case $(basename $program) in
      pocompendium|poen|pomigrate2|popuretext|poreencode|posplit|pocount|poglossary|lookupclient.py|tmserver|build_tmdb)
        ;;
      *)
        LC_ALL=C PYTHONPATH=. $program --manpage \
          >  %{buildroot}/%{_mandir}/man1/$(basename $program).1 \
          || rm -f %{buildroot}/%{_mandir}/man1/$(basename $program).1
        ;;
    esac
done
install -m 644 docs/_build/man/*.gz %{buildroot}/%{_mandir}/man1/

# move documentation files to datadir
install -d -m 755 %{buildroot}%{_defaultdocdir}/%{name}
mv %{buildroot}%{python3_sitelib}/translate/docs/_build/html %{buildroot}%{_defaultdocdir}/%{name}
rm -rf %{buildroot}%{python3_sitelib}/translate/docs
rm -rf %{buildroot}/home/abuild/.local/lib/python%{python3_version}/site-packages/

# create symlinks for man pages
%fdupes -s %{buildroot}/%{_mandir}
# create hardlinks for the rest
%fdupes %{buildroot}

%files
%defattr(-,root,root)
%{_defaultdocdir}/%{name}/html/
%exclude %{_defaultdocdir}/%{name}/html/api
%exclude %{_defaultdocdir}/%{name}/html/_sources
%doc COPYING README.rst
%{_bindir}/*
%{_mandir}/man1/*
%{python3_sitelib}/translate
%{python3_sitelib}/translate_toolkit-%{version}-*.egg-info

%files devel-doc
%defattr(-,root,root)
%doc %{_defaultdocdir}/%{name}/html/api
%doc %{_defaultdocdir}/%{name}/html/_sources

%changelog
openSUSE Build Service is sponsored by