File lyx.spec of Package lyx

#
# spec file for package lyx
#
# Copyright (c) 2013 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/
#


Name:           lyx
#!BuildIgnore: lyx
BuildRequires:  boost-devel
BuildRequires:  enchant-devel
BuildRequires:  fdupes
BuildRequires:  hunspell-devel
BuildRequires:  libqt4-devel
BuildRequires:  python
BuildRequires:  update-desktop-files
BuildRequires:  xz
Version:        2.0.6
Release:        0
Summary:        WYSIWYM (What You See Is What You Mean) document processor
License:        GPL-2.0+
Group:          Productivity/Publishing/TeX/Frontends
Url:            http://www.lyx.org/
Source:         ftp://ftp.lyx.org/pub/lyx/stable/2.0.x/lyx-%{version}.tar.xz
Source1:        lyx.desktop
Source2:        lyx.png
Source3:        lyxrc.dist
# xdg patch
# This was rejected by upstream (http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg133878.html)
Patch0:         lyx-2.0.6-xdg_open.patch
# PATCH-FIX-UPSTREAM fix for http://www.lyx.org/trac/ticket/8774 (fixed in 2.1)
Patch1:         lyx-2.0.6-fix_zombies.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} < 1230
Requires:       ImageMagick
Requires:       texlive-latex
Recommends:     texlive-xetex
Recommends:     xindy
%else
# Goal is to require (roughly) everything that is supported in the GUI of LyX
# LyX can supoort everything of LaTeX in the preamble, but not everything is supported in the GUI
# I have ingored extra fonts and document classes
Requires:       texlive-algorithms
Requires:       texlive-arabi
Requires:       texlive-bezos
Requires:       texlive-bibtopic
Requires:       texlive-braille
Requires:       texlive-collection-fontsrecommended
Requires:       texlive-collection-htmlxml
Requires:       texlive-collection-latexrecommended
Requires:       texlive-collection-luatex
Requires:       texlive-collection-xetex
Requires:       texlive-covington
Requires:       texlive-endnotes
Requires:       texlive-esint
Requires:       texlive-fragments
Requires:       texlive-ifsym
Requires:       texlive-mathdots
Requires:       texlive-mhchem
Requires:       texlive-multirow
Requires:       texlive-nomencl
Requires:       texlive-pdfsync
Requires:       texlive-prettyref
Requires:       texlive-refstyle
Requires:       texlive-rotfloat
Requires:       texlive-splitindex
Requires:       texlive-textgreek
Requires:       texlive-units
Requires:       texlive-wrapfig
Requires:       texlive-zhmetrics
Requires:       xindy
# Some stuff needed for LyX's documentation:
Requires:       texlive-braket
Requires:       texlive-diagbox
Requires:       texlive-picinpar
Requires:       texlive-sidecap
# Only suggest biblatex/biber, because only the engine (biber) is supported in the GUI,
# not biblatex itself (the only one that can use biber)
Suggests:       texlive-biber
Suggests:       texlive-bibtex8
%endif

%description
LyX is a document processor that encourages an approach to writing
based on the structure of your documents, not their appearance. The
author can concentrate on the content (What You See Is What You Mean).
The formatting is done by the backends (like LaTeX) and the output can
have different formats, such as DVI, postscript, PDF, html.

LyX can check the LaTeX installation by opening the LaTeX Configuration
document under "Help" on the menubar.


%prep
%setup -q
%patch0
%patch1 -p1
# Remove build time references so build-compare can do its work
FAKE_BUILDTIME=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%H:%%M') 
FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y')  
sed -i "s/__TIME__/\"$FAKE_BUILDTIME\"/" src/LyX.cpp
sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/" src/LyX.cpp
sed -i "s/__TIME__/\"$FAKE_BUILDTIME\"/" src/tex2lyx/tex2lyx.cpp
sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/" src/tex2lyx/tex2lyx.cpp

%build
#./autogen.sh
TEXMF=%{_datadir}/texmf
%configure \
    --without-included-boost \
    --without-aspell \
    --with-hunspell \
    --with-enchant \
    --with-frontend=qt4 
make %{?_smp_mflags}

%install
TEXMF=%{_datadir}/texmf
make install DESTDIR=$RPM_BUILD_ROOT TEXMF=$TEXMF

# some defaults
install -p -m644 -D %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/lyx/lyxrc.dist

# Add executable to files with shebang as advised by rpmlint
chmod +x $RPM_BUILD_ROOT%{_datadir}/lyx/scripts/*.py
chmod +x $RPM_BUILD_ROOT%{_datadir}/lyx/scripts/listerrors
chmod +x $RPM_BUILD_ROOT%{_datadir}/lyx/lyx2lyx/profiling.py

mkdir -p $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}
pushd $RPM_BUILD_ROOT%{_datadir}/lyx/doc/
    for i in *
    do
        ln -s %{_datadir}/lyx/doc/$i \
	      $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/
    done
popd
cp ABOUT-NLS ANNOUNCE COPYING NEWS \
   README README.localization RELEASE-NOTES UPGRADING \
   $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/
mkdir -p $RPM_BUILD_ROOT$TEXMF/tex/latex
ln -s %{_datadir}/lyx/tex $RPM_BUILD_ROOT$TEXMF/tex/latex/lyx
%suse_update_desktop_file -i lyx Office WordProcessor
%fdupes -s $RPM_BUILD_ROOT
%find_lang %name

%files -f %name.lang
%defattr(-,root,root)
%docdir %{_datadir}/lyx/doc
%doc %{_defaultdocdir}/lyx
/usr/bin/lyx
/usr/bin/lyxclient
/usr/bin/tex2lyx
%{_datadir}/applications/lyx.desktop
%{_datadir}/pixmaps/lyx.png
%dir %{_datadir}/texmf
%dir %{_datadir}/texmf/tex
%dir %{_datadir}/texmf/tex/latex
%{_datadir}/texmf/tex/latex/lyx
%{_datadir}/lyx
%doc %{_mandir}/man1/lyx.1.gz
%doc %{_mandir}/man1/lyxclient.1.gz
%doc %{_mandir}/man1/tex2lyx.1.gz

%changelog
openSUSE Build Service is sponsored by