File kicad-doc.spec of Package kicad-doc

#
# spec file for package kicad
#
# Copyright (c) 2019 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 https://bugs.opensuse.org/
#


%global flavor @BUILD_FLAVOR@%{nil}
%define sname kicad-doc

%if "%flavor" == ""
ExclusiveArch:  do_not_build
%endif

%if "%flavor" == "pdf"
%define pkg_suffix -pdf
# Stock distribution package for xetex has a bug. As there is no way to just
# build languages which use pdftex, disable PDF documentation completely
%if 0%{?suse_version} > 1500
%bcond_without pdf
%else
ExclusiveArch:  do_not_build
%endif
%endif

%if "%flavor" == "html"
%bcond_with pdf
%endif

Name:           kicad-doc%{?pkg_suffix}
Version:        5.1.4
Release:        0
Summary:        Documentation and tutorials for KiCad
License:        GPL-3.0-or-later AND CC-BY-SA-3.0
Group:          Documentation/HTML
%if "%flavor" == "pdf"
%else
%endif
Url:            http://kicad-pcb.org
Source:         https://github.com/KiCad/%{sname}/archive/%{version}.tar.gz#/%{sname}-%{version}.tar.gz
# PATCH-FIX-OPENSUSE kicad-doc-notimestamp.patch davejplater@gmail.com -- Remove time stamped footer from html pages.
Patch0:         kicad-doc-notimestamp.patch
BuildRequires:  asciidoc >= 8.6.9
BuildRequires:  cmake
BuildRequires:  fdupes
BuildRequires:  gettext >= 0.18
BuildRequires:  libxslt-tools
BuildRequires:  po4a >= 0.45
BuildRequires:  source-highlight
BuildRequires:  perl(Unicode::LineBreak)
%if %{with pdf}
BuildRequires:  dblatex >= 0.3.4
BuildRequires:  texlive-babel-catalan
BuildRequires:  texlive-babel-dutch
BuildRequires:  texlive-babel-french
BuildRequires:  texlive-babel-german
BuildRequires:  texlive-babel-italian
BuildRequires:  texlive-babel-polish
BuildRequires:  texlive-babel-russian
BuildRequires:  texlive-babel-spanish
BuildRequires:  texlive-fandol
BuildRequires:  texlive-gnu-freefont
BuildRequires:  texlive-xetex
BuildRequires:  vlgothic-fonts
BuildRequires:  tex(8r.enc)
BuildRequires:  tex(bahasa.ldf)
BuildRequires:  tex(cmap.sty)
BuildRequires:  tex(eu1enc.def)
BuildRequires:  tex(fancybox.sty)
BuildRequires:  tex(japanese.ldf)
BuildRequires:  tex(mathptmx.sty)
BuildRequires:  tex(mathrsfs.sty)
BuildRequires:  tex(pcrr8t.tfm)
BuildRequires:  tex(phvb8t.tfm)
BuildRequires:  tex(psyr.tfm)
BuildRequires:  tex(ptmr8t.tfm)
BuildRequires:  tex(pzdr.tfm)
BuildRequires:  tex(xeCJK.sty)
BuildRequires:  tex(xltxtra.sty)
# kicad-doc owns the directories
BuildRequires:  kicad-doc
%endif
BuildArch:      noarch
Recommends:     kicad = %{version}

%description
Kicad is an open source software for the creation of electronic
schematic diagrams and printed circuit board artwork.
This is the documentation package for KiCad. It contains documentation
and tutorials.


%package        ca
Summary:        Catalan documentation and tutorials for KiCad
Group:          Documentation/Other
Provides:       locale(kicad-doc:ca)
Requires:       %{name}-en = %{version}
Requires:       kicad-doc = %{version}

%description    ca
This package contains Catalan documentation and tutorials for KiCad

%package        de
Summary:        German documentation and tutorials for KiCad
Group:          Documentation/Other
Provides:       locale(kicad-doc:de)
Requires:       %{name}-en = %{version}
Requires:       kicad-doc = %{version}

%description    de
This package contains German documentation and tutorials for KiCad

%package        en
Summary:        English documentation and tutorials for KiCad
Group:          Documentation/Other
Provides:       locale(kicad-doc:en)
Requires:       kicad = %{version}
Requires:       kicad-doc = %{version}

%description    en
This package contains English documentation and tutorials for KiCad

%package        es
Summary:        Spanish documentation and tutorials for KiCad
Group:          Documentation/Other
Provides:       locale(kicad-doc:es)
Requires:       %{name}-en = %{version}
Requires:       kicad-doc = %{version}

%description    es
This package contains Spanish documentation and tutorials for KiCad

%package        fr
Summary:        French documentation and tutorials for KiCad
Group:          Documentation/Other
Provides:       locale(kicad-doc:fr)
Requires:       %{name}-en = %{version}
Requires:       kicad-doc = %{version}

%description    fr
This package contains French documentation and tutorials for KiCad

%package        id
Summary:        Indonesian documentation and tutorials for KiCad
Group:          Documentation/Other
Provides:       locale(kicad-doc:id)
Requires:       %{name}-en = %{version}
Requires:       kicad-doc = %{version}

%description    id
This package contains Indonesian documentation and tutorials for KiCad

%package        it
Summary:        Italian documentation and tutorials for KiCad
Group:          Documentation/Other
Provides:       locale(kicad-doc:it)
Requires:       %{name}-en = %{version}
Requires:       kicad-doc = %{version}

%description    it
This package contains Italian documentation and tutorials for KiCad

%package        ja
Summary:        Japanese documentation and tutorials for KiCad
Group:          Documentation/Other
Provides:       locale(kicad-doc:ja)
Requires:       %{name}-en = %{version}
Requires:       kicad-doc = %{version}

%description    ja
This package contains Japanese documentation and tutorials for KiCad

%package        pl
Summary:        Polish documentation and tutorials for KiCad
Group:          Documentation/Other
Provides:       locale(kicad-doc:pl)
Requires:       %{name}-en = %{version}
Requires:       kicad-doc = %{version}

%description    pl
This package contains Polish documentation and tutorials for KiCad

%package        ru
Summary:        Russian documentation and tutorials for KiCad
Group:          Documentation/Other
Provides:       locale(kicad-doc:ru)
Requires:       %{name}-en = %{version}
Requires:       kicad-doc = %{version}

%description    ru
This package contains Russian documentation and tutorials for KiCad

%package        zh
Summary:        Chinese documentation and tutorials for KiCad
Group:          Documentation/Other
Provides:       locale(kicad-doc:zh)
Requires:       %{name}-en = %{version}
Requires:       kicad-doc = %{version}

%description    zh
This package contains Chinese documentation and tutorials for KiCad

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

%patch0

%if %{with pdf}
# Workaround for dblatex bug #117 - randomly selected warning symbol
cp /usr/share/dblatex/latex/graphics/warning.pdf CMakeSupport/
%endif

%build
# Supported output formats: html;pdf;epub;
%if %{with pdf}
# SOURCE_DATE_EPOCH affirmation variable used by TeX, current
export FORCE_SOURCE_DATE=1
# Deprecated variant used by TeX in Leap 42.x
export SOURCE_DATE_EPOCH_TEX_PRIMITIVES=1
# Do not build PL translations, bad interaction of po4a, asciidoc and xetex (gh#KiCad/kicad-doc#697)
%cmake -DKICAD_DOC_PATH=%{_docdir}/kicad/help -DBUILD_FORMATS='pdf;' -DLANGUAGES='ca;de;en;es;fr;id;it;ja;ru;zh'
%else
%cmake -DKICAD_DOC_PATH=%{_docdir}/kicad/help -DBUILD_FORMATS='html;'
%endif
%{make_jobs}

%install
%cmake_install

for lang in ca de en es fr id it ja pl ru zh ; do
    %fdupes %{buildroot}%{_docdir}/kicad/help/$lang
done

%if %{without pdf}
%files
%dir %{_docdir}/kicad/
%dir %{_docdir}/kicad/help/
%doc AUTHORS_README.adoc CHEATSHEET.adoc README.adoc
%license LICENSE.adoc
%endif

%files ca
%{_docdir}/kicad/help/ca/

%files de
%{_docdir}/kicad/help/de/

%files en
%{_docdir}/kicad/help/en/

%files es
%{_docdir}/kicad/help/es/

%files fr
%{_docdir}/kicad/help/fr/

%files id
%{_docdir}/kicad/help/id/

%files it
%{_docdir}/kicad/help/it/

%files ja
%{_docdir}/kicad/help/ja/

%if %{without pdf}
%files pl
%{_docdir}/kicad/help/pl/
%endif

%files ru
%{_docdir}/kicad/help/ru/

%files zh
%{_docdir}/kicad/help/zh/

%changelog