File libreoffice-libs-core.spec of Package libreoffice-libs-core

#
# spec file for package libreoffice-libs-core
#
# 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-libs-core
Version:        3.3.1.2
Release:        1.<RELEASE2>
%define         piece             libs-core
%define         ooo_build_version 3.3.1.2
%define         ooo_piece_version 3.3.1.2
%define         ooo_sourcedirname libreoffice-build-%ooo_piece_version
%define         ooo_prefix        %_libdir
%define         ooo_home          libreoffice
%define         ooo_basis_dir     basis3.3
# version of the postgresql driver
%define         postgresql_version 0.7.6b
%if 0%{?meego_version}
# the manifest file must be in the right place; registration does not work with some repacked jars
%define		__jar_repack	%{nil}
%endif
#!BuildIgnore:  libreoffice
BuildRequires:  libreoffice-testing = %version
BuildRequires:  libreoffice-artwork-devel = %version
BuildRequires:  libreoffice-libs-gui-devel = %version
BuildRequires:  ImageMagick ant ant-apache-regexp bison boost-devel ccache cups-devel curl-devel flac-devel flex gcc-c++ gnome-vfs2-devel gperf gtk2-devel icu java-devel libexif libxml2-devel mono-devel neon-devel pam-devel perl-Archive-Zip perl-Compress-Zlib python-devel recode unixODBC-devel unzip xml-commons-apis zip
############################
# basic stuff
%if 0%{?suse_version}
BuildRequires:  db-devel krb5 openldap2-devel xorg-x11
# LO-3.3 fixed all most annoying KDE4-related bugs => time to enable KDE4 support for SLED11
BuildRequires:  libkde4-devel
%endif
%if 0%{?meego_version}
BuildRequires:  db4-devel krb5-devel openldap-devel
BuildRequires:  xorg-x11-server-devel
BuildRequires:  xorg-x11-proto-xproto
BuildRequires:  xorg-x11-utils
BuildRequires:  ORBit2-devel libjpeg-devel libxslt-devel openssl-devel
BuildRequires:  libICE-devel libSM-devel
BuildRequires:  libXrandr-devel
BuildRequires:  libXrender-devel
BuildRequires:  libXcursor-devel
BuildRequires:  libXfixes-devel
BuildRequires:  libXinerama-devel
BuildRequires:  libXcomposite-devel
BuildRequires:  libXdamage-devel
%endif
############################
# KDE3 stuff
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
BuildRequires:  kdelibs3-devel
%endif
############################
# PostgreSQL stuff
BuildRequires:  postgresql-devel
############################
# cppunit stuff
%if 0%{?suse_version} >= 01100
BuildRequires:  libcppunit-devel
%endif
############################
# expat stuff
%if 0%{?suse_version} > 01100
# libexpat-devel is explicitely needed since openSUSE-11.1
BuildRequires:  libexpat-devel
%endif
%if 0%{?meego_version}
BuildRequires:  expat-devel
%endif
############################
# openSUSE 10.3 features
%if 0%{?suse_version} > 01020 || 0%{?meego_version}
BuildRequires:  libicu-devel
%endif
############################
# CODE10 features
%if 0%{?suse_version} > 01000
BuildRequires:  gstreamer010-plugins-base-devel sablot-devel xalan-j2 xerces-j2 xml-commons-apis
%endif
%if 0%{?meego_version}
BuildRequires:  gst-plugins-base-devel sablot-devel xalan-j2 xerces-j2 xml-commons-apis
%endif
License:        LGPLv3
Group:          Productivity/Office/Suite
AutoReqProv:    on
Requires:       libreoffice-libs-gui = %version
# compat stuff
Provides:       OpenOffice_org-libs-core = %version
Obsoletes:      OpenOffice_org-libs-core <= %version
%if 0%{?suse_version} > 1110
# removed kde3 package on openSUSE >= 11.2 (bnc#605472, bnc#621472)
Obsoletes:      libreoffice-kde <= %version
Obsoletes:      OpenOffice_org-kde <= %version
Obsoletes:      OpenOffice_org17-kde
Obsoletes:      OpenOffice_org2-kde
%endif
Summary:        LibreOffice Core Libraries
Url:            http://www.documentfoundation.org/
Source0:        libreoffice-%piece-%ooo_piece_version.tar.bz2
# default to MS Office 97/2000/XP file formats on MeeGo; asked by HP
Patch900:       officecfg-defaul-export-ms-file-formats.diff
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
ExclusiveArch:  %ix86 x86_64 ppc

%description
This package provides core libraries used by all LibreOffice
modules.



%package -n libreoffice-gnome
License:        LGPLv3
Summary:        GNOME Extensions for LibreOffice
Group:          Productivity/Office/Suite
Requires:       libreoffice = %version
# compat stuff
Provides:       OpenOffice_org-gnome = %version
Obsoletes:      OpenOffice_org-gnome <= %version
Provides:       ooo:/usr/lib/ooo-1.9/program/libevoab2.so
Provides:       OpenOffice_org17-gnome
Obsoletes:      OpenOffice_org17-gnome
Provides:       OpenOffice_org2-gnome
Obsoletes:      OpenOffice_org2-gnome

%description -n libreoffice-gnome
This package contains some GNOME extensions for LibreOffice.



%if 0%{?suse_version} && 0%{?suse_version} <= 1110

%package -n libreoffice-kde
License:        LGPLv3
Summary:        KDE Extensions for LibreOffice
Group:          Productivity/Office/Suite
Requires:       libreoffice = %version
# compat stuff
Provides:       OpenOffice_org-kde = %version
Obsoletes:      OpenOffice_org-kde <= %version
Provides:       OpenOffice_org17-kde
Obsoletes:      OpenOffice_org17-kde
Provides:       OpenOffice_org2-kde
Obsoletes:      OpenOffice_org2-kde

%description -n libreoffice-kde
This package contains some KDE extensions for LibreOffice.

%endif
%if 0%{?suse_version}

%package -n libreoffice-kde4
License:        LGPLv3
Summary:        KDE4 Extensions for LibreOffice
Group:          Productivity/Office/Suite
Requires:       libreoffice = %version
# compat stuff
Provides:       OpenOffice_org-kde4 = %version
Obsoletes:      OpenOffice_org-kde4 <= %version

%description -n libreoffice-kde4
This package contains some KDE4 extensions for LibreOffice.
%endif

%package -n libreoffice-mailmerge
License:        LGPLv3
Summary:        Mail Merge Functionality for LibreOffice
Group:          Productivity/Office/Suite
Requires:       libreoffice-pyuno = %version
%if 0%{?suse_version}
Supplements:    libreoffice
%endif
# compat stuff
Provides:       OpenOffice_org:%ooo_prefix/%ooo_home/program/mailmerge.py
Provides:       OpenOffice_org-mailmerge = %version
Obsoletes:      OpenOffice_org-mailmerge <= %version

%description -n libreoffice-mailmerge
This module allows you to create form letters or send E-mail messages
to many recipients using LibreOffice office suite.



%package -n libreoffice-base-drivers-postgresql
License:        LGPLv2.1+
Summary:        PostgreSQL Database Driver for LibreOffice
Group:          Productivity/Office/Suite
Requires:       libreoffice-base = %version
Requires:       postgresql
# compat stuff
Provides:       OpenOffice_org-base-drivers-postgresql = %version
Obsoletes:      OpenOffice_org-base-drivers-postgresql <= %version

%description -n libreoffice-base-drivers-postgresql
This package allows to access PostgreSQL databases from LibreOffice
Base.



%package devel
Requires:       %name = %version
Requires:       libreoffice-gnome = %version
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
Requires:       libreoffice-kde = %version
%endif
%if 0%{?suse_version}
Requires:       libreoffice-kde4 = %version
%endif
Requires:       libreoffice-mailmerge = %version
Requires:       libreoffice-ure-devel = %version
Requires:       libreoffice-libs-gui-devel = %version
# compat stuff
Provides:       OpenOffice_org-libs-core-devel = %version
Obsoletes:      OpenOffice_org-libs-core-devel <= %version
License:        Artistic ; BSD3c ; GPLv2+ ; LPPL .. ; LGPLv2.1+ ; LGPLv3 ; MPL .. ; MIT
Summary:        LibreOffice Core Libraries Development
Group:          Productivity/Office/Suite
AutoReqProv:    off

%description devel
This package allows developement based on the LibreOffice core
libraries API.



%package l10n-prebuilt
License:        LGPLv3
Summary:        Prebuilt LibreOffice Core Libraries Localizations
Group:          Productivity/Office/Suite
AutoReqProv:    off
Provides:       OpenOffice_org-libs-core-l10n-prebuilt = %version
Obsoletes:      OpenOffice_org-libs-core-l10n-prebuilt <= %version

%description l10n-prebuilt
This package includes the prebuilt localization of LibreOffice core
libraries. It is not intended for a real use. It needs to be repacked
to the real architecture independent package.

This is only a temporary solution until we have an easier way to build
the LibreOffice localizations separately.



%prep
%setup -q -n libreoffice-%piece-%ooo_piece_version
# default to OOXML 2007 export filters
%if 0%{?meego_version}
mkdir -p ooo-build/hotfixes
cp %{P:900} ooo-build/hotfixes
%endif

%build
# setup env.
export OO_INSTDIR=%{_libdir}/%ooo_home
export OO_TOOLSDIR=$OO_INSTDIR/build/bin
export VERBOSE=1
export PIECE_BUILD_NCPUS_AUTO=1
export PIECE_USE_JOBS="%{?jobs:%jobs}"
# FIXME: -Wl,--as-needed is enabled by default for openSUSE-11.2
# there are missing symbols when linking kde libraries now
# See http://fourier.suse.de/mlarch/SuSE/development-gcc/2009/development-gcc.2009.07/msg00024.html
%if 0%{?suse_version}
export SUSE_ASNEEDED=0
%endif
%if 0%{?meego_version}
unset LD_AS_NEEDED
%endif
# FIXME: start it several times to avoid strange paralel build problem in basic
#        missing org/openoffice/vba/XErrObject.hpp
#        same problem happens also in linguistic
$OO_TOOLSDIR/piece/build-generic %piece %ooo_sourcedirname || $OO_TOOLSDIR/piece/build-generic %piece %ooo_sourcedirname || $OO_TOOLSDIR/piece/build-generic %piece %ooo_sourcedirname

%install
# setup env.
export OO_INSTDIR=%{_libdir}/%ooo_home
export OO_TOOLSDIR=$OO_INSTDIR/build/bin
export DESTDIR=$RPM_BUILD_ROOT
$OO_TOOLSDIR/piece/install-generic %piece %ooo_sourcedirname
%if 0%{?suse_version}
%suse_update_desktop_file ooo-extension-manager
%endif
# prune redundant files the scp2 likes to make for us
rm -Rf \
    "$DESTDIR/$OO_INSTDIR/basis-link" \
    "$DESTDIR/$OO_INSTDIR/ure" \
    "$DESTDIR/$OO_INSTDIR/%ooo_basis_dir/program/services.rdb"
# FIXME: hack to install postgresql driver
mkdir -p $RPM_BUILD_ROOT%ooo_prefix/%ooo_home/share/extensions/postgresql-sdbc-%postgresql_version
unzip -d $RPM_BUILD_ROOT%ooo_prefix/%ooo_home/share/extensions/postgresql-sdbc-%postgresql_version \
	 connectivity/unxlng*.pro/lib/postgresql-sdbc-%postgresql_version.oxt

%clean
rm -rf $RPM_BUILD_ROOT

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%post devel
/sbin/ldconfig

%postun devel
/sbin/ldconfig

%pre -n libreoffice-base-drivers-postgresql
if test $1 = 2 ; then
    # unregister all extensions that were registered by LibO <= 3.2.99.3
    # the version 0.7.5 has been replaced in OOo-3.0.99.1
    unopkg remove --shared org.openoffice.legacy.postgresql-sdbc-0.7.5.zip >/dev/null 2>&1 || true;
    # the version 0.7.6 has been replaced in OOo-3.2.0.8
    unopkg remove --shared org.openoffice.legacy.postgresql-sdbc-0.7.6.zip >/dev/null 2>&1 || true;
    unopkg remove --shared org.openoffice.legacy.postgresql-sdbc-0.7.6a.zip >/dev/null 2>&1 || true;
    if unopkg list --shared | grep -q "org.openoffice.legacy.postgresql-sdbc-%postgresql_version.zip" ; then
	unopkg remove --shared org.openoffice.legacy.postgresql-sdbc-%postgresql_version.zip || true;
    fi
fi

%post -n libreoffice-base-drivers-postgresql
if test -f %ooo_prefix/ooo3/share/extension/install/postgresql-sdbc-*.zip ; then
    echo
    echo "WARNING: Please ignore the following error about the extension:"
    echo "WARNING:     org.openoffice.legacy.postgresql-sdbc-0.7.x.zip"
    echo "WARNING: It is printed by the old OpenOffice_org package. The extension cannot"
    echo "WARNING: be unregistered from the OOo cache because unopkg tool already"
    echo "WARNING: works with the LO cache. The LO installation will be correct!"
    echo
fi

%files -f files-%piece.txt
%defattr(-,root,root)

%files devel
%defattr(-,root,root)
%dir %ooo_prefix/%ooo_home/solver
%ooo_prefix/%ooo_home/solver/*
%exclude %ooo_prefix/%ooo_home/solver/noarch
%if 0%{?meego_version}
%ooo_prefix/%ooo_home/%ooo_basis_dir/program/officehelper.pyc
%ooo_prefix/%ooo_home/%ooo_basis_dir/program/officehelper.pyo
%ooo_prefix/%ooo_home/%ooo_basis_dir/program/pythonscript.pyc
%ooo_prefix/%ooo_home/%ooo_basis_dir/program/pythonscript.pyo
%ooo_prefix/%ooo_home/%ooo_basis_dir/share/Scripts/python/*.pyc
%ooo_prefix/%ooo_home/%ooo_basis_dir/share/Scripts/python/*.pyo
%ooo_prefix/%ooo_home/%ooo_basis_dir/share/Scripts/python/pythonSamples/*.pyc
%ooo_prefix/%ooo_home/%ooo_basis_dir/share/Scripts/python/pythonSamples/*.pyo
%endif

%files -f files-gnome.txt -n libreoffice-gnome
%defattr(-,root,root)

%if 0%{?suse_version} && 0%{?suse_version} <= 1110

%files -f files-kde.txt -n libreoffice-kde
%defattr(-,root,root)

%endif
%if 0%{?suse_version}

%files -f files-kde4.txt -n libreoffice-kde4
%defattr(-,root,root)
%endif

%files -f files-mailmerge.txt -n libreoffice-mailmerge
%defattr(-,root,root)
%if 0%{?meego_version}
%ooo_prefix/%ooo_home/%ooo_basis_dir/program/mailmerge.pyc
%ooo_prefix/%ooo_home/%ooo_basis_dir/program/mailmerge.pyo
%endif

%files -n libreoffice-base-drivers-postgresql
%defattr(-,root,root)
%ooo_prefix/%ooo_home/share/extensions/postgresql-sdbc-%postgresql_version

%files l10n-prebuilt
%defattr(-,root,root)
%ooo_prefix/%ooo_home/solver/noarch

%changelog
openSUSE Build Service is sponsored by