libreoffice/libreoffice.spec

1154 lines
38 KiB
RPMSpec

%bcond_without l10n
%bcond_with icecream
%bcond_with ccache
%if %{mdvver} < 201900
%bcond_without clang
%else
%bcond_with clang
%endif
%if %rpm5 && %{with clang}
# "/usr/lib/rpm/bin/debugedit: canonicalization unexpectedly shrank by one character"
%define debugcflags %{nil}
%define _enable_debug_packages %{nil}
%define debug_package %{nil}
%endif
%if %{with l10n}
%define langs en_US af ar as bg bn br bs ca cs cy da de dz el en_GB es et eu fa fi fr ga gl gu he hi hr hu it ja ko kn lt lv mai mk ml mr nb nl nn nr nso or pa_IN pl pt pt_BR ro ru si sk sl sr ss st sv ta te th tn tr ts uk ve xh zh_TW zh_CN zu
%define helplangs ar bg bn bs ca cs da de dz el en_GB es et eu fi fr gl gu he hi hr hu it ja ko lt lv mk nb nl nn pl pt pt_BR ro ru si sk sl sv ta tr uk zh_CN zh_TW en_US
%else
%define langs en_US
%define helplangs en_US
%endif
%define javaless 1
%define relurl http://download.documentfoundation.org/libreoffice/src/%{version}
%define devurl http://dev-www.libreoffice.org/ooo_external
%define devexurl http://dev-www.libreoffice.org/extern
%define srcurl http://dev-www.libreoffice.org/src/
%define oxyurl http://ooo.itc.hu/oxygenoffice/download/libreoffice/
%define distroname ROSA
%define ooname libreoffice
%define buildver %{version}.2
%define ooodir %{_libdir}/libreoffice
%define antver 1.8.1
%define antpath %{_builddir}/libreoffice-%{version}/apache-ant-%{antver}
%define ccachedir ~/.ccache-OOo
# for rpm4
%global __requires_exclude libjawt.so|libmyspell.so|libstlport_gcc.so|libmono.so|mono|devel\\(libunoidl(.*)
# for rpm5, overrides %%__requires_exclude
%global __noautoreq 'libjawt.so|libmyspell.so|libstlport_gcc.so|libmono.so|mono|devel\\(libunoidl(.*)'
%global __provides_exclude libsndfile.so\\|libportaudio.so\\|libdb-4.2.so\\|libdb_java-4.2.so\\|libmyspell.so\\|libstlport_gcc.so\\|librdf.so.0\\|libraptor.so.1\\|libxmlsec1-nss.so.1\\|libxmlsec1.so.1
Summary: Office suite
Name: libreoffice
Epoch: 1
Version: 6.3.5
Release: 8
License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and Artistic
Group: Office
Url: http://www.libreoffice.org
Source0: %{relurl}/%{ooname}-%{buildver}.tar.xz
Source1: %{relurl}/%{ooname}-dictionaries-%{buildver}.tar.xz
Source2: %{relurl}/%{ooname}-help-%{buildver}.tar.xz
Source3: %{relurl}/%{ooname}-translations-%{buildver}.tar.xz
Source4: %{devexurl}/185d60944ea767075d27247c3162b3bc-unowinreg.dll
Source5: locales.csv
# Unused, should be dropped in future package updates
Source10: Mandriva-Rosa_Icons.tar.bz2
%if %{javaless}
Source20: http://archive.apache.org/dist/ant/binaries/apache-ant-%{antver}-bin.tar.bz2
%endif
Source33: %{devurl}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
Source35: %{devurl}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
Source36: %{devurl}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
Source37: %{devurl}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
# Extensions
Source49: %{srcurl}pdfium-3794.tar.bz2
Source51: %{srcurl}b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2
Source54: %{oxyurl}b632bdd25649cc4067bcb410bae23d2b-hunart_0.3.oxt
Source56: %{srcurl}b7cae45ad2c23551fd6ccb8ae2c1f59e-numbertext_0.9.5.oxt
Source60: %{oxyurl}af9314c5972d95a5d6da23ffad818f68-OOOP-gallery-pack-2.8.0.0.zip
Source61: %{oxyurl}1be202fbbbc13f10592a98f70a4a87fb-OOOP-templates-pack-2.9.0.0.zip
Source62: %{oxyurl}53ca5e56ccd4cab3693ad32c6bd13343-Sun-ODF-Template-Pack-de_1.0.0.oxt
Source63: %{oxyurl}472ffb92d82cf502be039203c606643d-Sun-ODF-Template-Pack-en-US_1.0.0.oxt
Source64: %{oxyurl}4ad003e7bbda5715f5f38fde1f707af2-Sun-ODF-Template-Pack-es_1.0.0.oxt
Source65: %{oxyurl}a53080dc876edcddb26eb4c3c7537469-Sun-ODF-Template-Pack-fr_1.0.0.oxt
Source66: %{oxyurl}09ec2dac030e1dcd5ef7fa1692691dc0-Sun-ODF-Template-Pack-hu_1.0.0.oxt
Source67: %{oxyurl}b33775feda3bcf823cad7ac361fd49a6-Sun-ODF-Template-Pack-it_1.0.0.oxt
Source68: %{srcurl}4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2
Source69: %{srcurl}OpenCOLLADA-master-6509aa13af.tar.bz2
Source70: %{srcurl}1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt
Source71: %{srcurl}lxml-4.1.1.tgz
Source72: %{devexurl}/884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf
Source80: loffice-libcxx-wrapper.sh
Source1000: libreoffice.rpmlintrc
Patch0: libreoffice-5.4.0.1-disable-test-languagetag.patch
Patch1: libreoffice-4.2.5-icu-49.patch
Patch2: libreoffice-6.3.5.2-kde4-detection.patch
# https://github.com/LibreOffice/core/commit/6fbfad6b
Patch3: 6fbfad6b00e8c35346ee59cd32a0d7ccc0d8c19c.patch
# For Clang <9, GCC <10, when building with libstdc++-gcc10
Patch4: span-old-compilers.patch
# prefer gtk3_kde5 over kde5 because of maturity of gtk3 rendering
Patch5: gtk3_kde5-priority.patch
Patch6: 0001-Force-icons-in-menus-in-GTK-3-VCLs.patch
# ROSA vendor patch
Patch100: libreoffice-4.1-vendor.patch
Patch101: libreoffice-6.2.8.2-desktop-categories.patch
Patch102: libreoffice-5.2.1.2-desktop-protocols.patch
Patch104: libreoffice-5.1.2.2-desktop-startcenter-nomate.patch
BuildRequires: bison
BuildRequires: bsh
%if %{with ccache}
BuildRequires: ccache
%endif
%if %{with clang}
BuildRequires: clang
BuildRequires: stdc++-gcc10-devel
%endif
BuildRequires: desktop-file-utils
BuildRequires: doxygen >= 1.8.4
BuildRequires: ed
BuildRequires: flex
BuildRequires: flute
BuildRequires: git
BuildRequires: gperf
%if %{with icecream}
BuildRequires: icecream
%endif
BuildRequires: icu
BuildRequires: imagemagick
BuildRequires: locales-en
BuildRequires: pkgconfig(libstaroffice-0.0)
BuildRequires: pkgconfig(libzmf-0.0)
BuildRequires: pentaho-libxml
BuildRequires: pentaho-reporting-flow-engine
BuildRequires: perl-Archive-Zip
BuildRequires: perl-MDK-Common
BuildRequires: perl-HTML-Parser
BuildRequires: perl-XML-Twig
BuildRequires: pythonegg(translate-toolkit)
BuildRequires: recode
BuildRequires: sac
BuildRequires: servlet3
BuildRequires: sharutils
BuildRequires: tcsh
BuildRequires: unzip
BuildRequires: xsltproc >= 1.0.19
BuildRequires: zip
BuildRequires: boost-devel
BuildRequires: cups-devel
BuildRequires: db-devel
BuildRequires: glm-devel
BuildRequires: hyphen-devel
BuildRequires: java-devel
BuildRequires: jemalloc-devel
BuildRequires: lpsolve-devel
BuildRequires: mysql-connector-c++-devel
BuildRequires: nas-devel
BuildRequires: openldap-devel
BuildRequires: pam-devel
BuildRequires: readline-devel
BuildRequires: systemtap-devel
BuildRequires: unixODBC-devel
#BuildRequires: vigra-devel
BuildRequires: gpgmepp-devel
BuildRequires: pkgconfig(bluez)
BuildRequires: pkgconfig(cppunit) >= 1.14.0
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(libetonyek-0.1)
BuildRequires: pkgconfig(libfreehand-0.1)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gconf-2.0)
BuildRequires: pkgconfig(glew)
BuildRequires: pkgconfig(glitz)
BuildRequires: pkgconfig(glu)
BuildRequires: pkgconfig(gnome-vfs-2.0)
BuildRequires: pkgconfig(gnutls)
BuildRequires: pkgconfig(gdk-pixbuf-xlib-2.0)
BuildRequires: pkgconfig(graphite2)
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(hunspell)
BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(libabw-0.1)
BuildRequires: pkgconfig(libclucene-core)
BuildRequires: pkgconfig(liblucene++-contrib)
BuildRequires: pkgconfig(libcmis-0.5) >= 0.5.2
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libcdr-0.1)
BuildRequires: pkgconfig(libe-book-0.1)
BuildRequires: pkgconfig(libeot)
BuildRequires: pkgconfig(libexttextcat)
BuildRequires: pkgconfig(libepubgen-0.1)
BuildRequires: pkgconfig(libixion-0.14)
BuildRequires: pkgconfig(liblangtag)
BuildRequires: pkgconfig(libmspub-0.1)
BuildRequires: pkgconfig(libmwaw-0.3) >= 0.3.4
BuildRequires: pkgconfig(libnumbertext)
BuildRequires: pkgconfig(libodfgen-0.1) >= 0.1.0
BuildRequires: pkgconfig(liborcus-0.14) >= 0.14.1
BuildRequires: pkgconfig(libpagemaker-0.0)
BuildRequires: pkgconfig(libpq)
BuildRequires: pkgconfig(libqxp-0.0)
BuildRequires: pkgconfig(librevenge-0.0)
BuildRequires: pkgconfig(librsvg-2.0)
BuildRequires: pkgconfig(libstartup-notification-1.0)
BuildRequires: pkgconfig(libsvg)
BuildRequires: pkgconfig(libtiff-4)
BuildRequires: pkgconfig(libucpp)
BuildRequires: pkgconfig(libvisio-0.1)
BuildRequires: pkgconfig(libwpd-0.10)
BuildRequires: pkgconfig(libwpg-0.3)
BuildRequires: pkgconfig(libwps-0.4)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(libxslt)
BuildRequires: pkgconfig(mdds-1.4)
BuildRequires: pkgconfig(mythes)
BuildRequires: pkgconfig(neon)
BuildRequires: pkgconfig(nspr)
BuildRequires: pkgconfig(nss)
BuildRequires: pkgconfig(poppler)
BuildRequires: pkgconfig(poppler-glib)
BuildRequires: pkgconfig(poppler-cpp)
BuildRequires: pkgconfig(portaudio-2.0)
BuildRequires: pkgconfig(python3)
BuildRequires: pkgconfig(raptor)
BuildRequires: pkgconfig(rasqal)
BuildRequires: pkgconfig(redland)
BuildRequires: pkgconfig(sane-backends)
BuildRequires: pkgconfig(sndfile)
BuildRequires: pkgconfig(xaw7)
BuildRequires: pkgconfig(xmlsec1) >= 1.2.24
BuildRequires: pkgconfig(xpm)
BuildRequires: pkgconfig(xtst)
BuildRequires: pkgconfig(valgrind)
BuildRequires: pkgconfig(zlib)
BuildRequires: kf5activities-devel
BuildRequires: kf5completion-devel
BuildRequires: kf5config-devel
BuildRequires: kf5configwidgets-devel
BuildRequires: kf5coreaddons-devel
BuildRequires: kf5crash-devel
BuildRequires: kf5declarative-devel
BuildRequires: kf5doctools-devel
BuildRequires: kf5globalaccel-devel
BuildRequires: kf5i18n-devel
BuildRequires: kf5idletime-devel
BuildRequires: kf5init-devel
BuildRequires: kf5kcmutils-devel
BuildRequires: kf5kio-devel
BuildRequires: kf5newstuff-devel
BuildRequires: kf5notifications-devel
BuildRequires: kf5plasma-devel
BuildRequires: kf5service-devel
BuildRequires: kf5wayland-devel
BuildRequires: kf5widgetsaddons-devel
BuildRequires: kf5windowsystem-devel
BuildRequires: kf5xmlgui-devel
BuildRequires: pkgconfig(Qt5Concurrent)
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Multimedia)
BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(Qt5Qml)
BuildRequires: pkgconfig(Qt5Quick)
BuildRequires: pkgconfig(Qt5QuickWidgets)
BuildRequires: pkgconfig(Qt5Sensors)
BuildRequires: pkgconfig(Qt5Script)
BuildRequires: pkgconfig(Qt5Test)
BuildRequires: pkgconfig(Qt5UiTools)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5X11Extras)
%if !%{javaless}
BuildRequires: ant
BuildRequires: ant-apache-regexp
BuildRequires: junit
BuildRequires: java-1.8.0-openjdk-devel
%endif
Recommends: %{name}-java = %{EVRD}
# STLport-devel 4.5 + private patches are needed
BuildConflicts: STLport-devel
# Requres to all our packages
Requires: %{name}-base = %{EVRD}
Requires: %{name}-calc = %{EVRD}
Requires: %{name}-draw = %{EVRD}
Requires: %{name}-impress = %{EVRD}
Requires: %{name}-math = %{EVRD}
Requires: %{name}-writer = %{EVRD}
Provides: LibreOffice = %{EVRD}
Provides: LibreOffice-libs = %{EVRD}
%description
LibreOffice is an Open Source, community-developed, multi-platform
office productivity suite. It includes the key desktop applications,
such as a word processor, spreadsheet, presentation manager, formula
editing and drawing program, with a user interface and feature set
similar to other office suites. Sophisticated and flexible,
LibreOffice also works transparently with a variety of file
formats, including Microsoft Office.
%files
#----------------------------------------------------------------------------
%package base
Summary: LibreOffice office suite - database
Group: Office
Requires: %{name}-common = %{EVRD}
Requires: %{name}-java = %{EVRD}
# Require openjdk, we have problems with Oracle Java
Requires: java-openjdk
%description base
This package contains the database component for LibreOffice.
You can extend the functionality of LibreOffice Base by installing these
packages:
* unixodbc: ODBC database support
* libmyodbc | odbc-postgresql | libsqliteodbc | tdsodbc | mdbtools: ODBC
drivers for:
- MySQL
- PostgreSQL
- SQLite
- MS SQL / Sybase SQL
- *.mdb (JET / MS Access)
* libmysql-java | libpg-java | libsapdbc-java: JDBC Drivers
for:
- MySQL
- PostgreSQL
- MaxDB
%files base -f file-lists/base_list.txt
%{_mandir}/man1/lobase*
%{_iconsdir}/hicolor/scalable/apps/mandriva-rosa-lo-base_72.svg
%dir %{ooodir}/share/xdg
%{ooodir}/share/xdg/base.desktop
%{_datadir}/appdata/libreoffice-base.appdata.xml
#----------------------------------------------------------------------------
%package calc
Summary: LibreOffice office suite - spreadsheet
Group: Office
Requires: %{name}-common = %{EVRD}
%description calc
This package contains the spreadsheet component for LibreOffice.
%files calc -f file-lists/calc_list.txt
%{_mandir}/man1/localc*
%{_iconsdir}/hicolor/scalable/apps/mandriva-rosa-lo-calc_72.svg
%dir %{ooodir}/share/xdg
%{ooodir}/share/xdg/calc.desktop
%{_datadir}/appdata/libreoffice-calc.appdata.xml
#----------------------------------------------------------------------------
%package common
Summary: LibreOffice office suite common files
Group: Office
# Require at least one style to be installed
Requires: %{name}-style = %{EVRD}
# And breeze too, it should be default for Plasma 5
Requires: %{name}-style-breeze = %{EVRD}
Recommends: %{name}-help-en_US = %{EVRD}
# And then general requires for OOo follows
Requires: ghostscript
Requires: fonts-ttf-liberation
Requires: desktop-common-data >= 2008
# rpm will automatically grab the require for libsane1, but there are some
# configs needed at this package, so we must require it too.
Requires: sane-backends
# Due to {_bindir}/paperconf
# Requires: paper-utils
# Upstream merged
Conflicts: %{name}-core < %{EVRD}
Obsoletes: %{name}-core < %{EVRD}
Conflicts: %{name}-java-common < %{EVRD}
Obsoletes: %{name}-java-common < %{EVRD}
Conflicts: %{name}-dtd-officedocument1.0 < %{EVRD}
Obsoletes: %{name}-dtd-officedocument1.0 < %{EVRD}
Conflicts: %{name}-extension-xsltfilter < %{EVRD}
Obsoletes: %{name}-extension-xsltfilter < %{EVRD}
Conflicts: %{name}-openclipart < 1:5.1.2-2
Obsoletes: %{name}-extension-barcode < %{EVRD}
Conflicts: %{name}-extension-barcode < %{EVRD}
Obsoletes: %{name}-extension-gdocs < %{EVRD}
Conflicts: %{name}-extension-gdocs < %{EVRD}
Obsoletes: %{name}-extension-SmART < %{EVRD}
Conflicts: %{name}-extension-SmART < %{EVRD}
Obsoletes: %{name}-extension-typo < %{EVRD}
Conflicts: %{name}-extension-typo < %{EVRD}
Obsoletes: %{name}-extension-validator < %{EVRD}
Conflicts: %{name}-extension-validator < %{EVRD}
Obsoletes: %{name}-extension-watchwindow < %{EVRD}
Conflicts: %{name}-extension-watchwindow < %{EVRD}
Obsoletes: %{name}-templates-common < %{EVRD}
Conflicts: %{name}-templates-common < %{EVRD}
Obsoletes: %{name}-templates-cs < %{EVRD}
Obsoletes: %{name}-templates-de < %{EVRD}
Obsoletes: %{name}-templates-en_US < %{EVRD}
Obsoletes: %{name}-templates-es < %{EVRD}
Obsoletes: %{name}-templates-fi < %{EVRD}
Obsoletes: %{name}-templates-fr < %{EVRD}
Obsoletes: %{name}-templates-hu < %{EVRD}
Obsoletes: %{name}-templates-it < %{EVRD}
Obsoletes: %{name}-templates-ja < %{EVRD}
Obsoletes: %{name}-templates-nl < %{EVRD}
Obsoletes: %{name}-templates-pl < %{EVRD}
Obsoletes: %{name}-templates-pt_BR < %{EVRD}
Obsoletes: %{name}-templates-sv < %{EVRD}
Obsoletes: %{name}-templates-tr < %{EVRD}
Obsoletes: %{name}-templates-zh_CN < %{EVRD}
Conflicts: %{name}-templates-cs < %{EVRD}
Conflicts: %{name}-templates-de < %{EVRD}
Conflicts: %{name}-templates-en_US < %{EVRD}
Conflicts: %{name}-templates-es < %{EVRD}
Conflicts: %{name}-templates-fi < %{EVRD}
Conflicts: %{name}-templates-fr < %{EVRD}
Conflicts: %{name}-templates-hu < %{EVRD}
Conflicts: %{name}-templates-it < %{EVRD}
Conflicts: %{name}-templates-ja < %{EVRD}
Conflicts: %{name}-templates-nl < %{EVRD}
Conflicts: %{name}-templates-pl < %{EVRD}
Conflicts: %{name}-templates-pt_BR < %{EVRD}
Conflicts: %{name}-templates-sv < %{EVRD}
Conflicts: %{name}-templates-tr < %{EVRD}
Conflicts: %{name}-templates-zh_CN < %{EVRD}
Obsoletes: %{name}-style-galaxy < %{EVRD}
Obsoletes: %{name}-style-oxygen < %{EVRD}
Conflicts: %{name}-style-galaxy < %{EVRD}
Conflicts: %{name}-style-oxygen < %{EVRD}
Recommends: noto-sans-fonts
Recommends: noto-sans-mono-fonts
Recommends: noto-serif-fonts
%description common
This package contains the application-independent files of LibreOffice.
%files common -f file-lists/core_list.txt
%{_iconsdir}/hicolor/scalable/apps/mandriva-rosa-lo_72.svg
%{_mandir}/man1/loffice*
%{_mandir}/man1/lofromtemplate*
%{_mandir}/man1/libreoffice*
%{_mandir}/man1/unopkg.1*
%{_libdir}/libreoffice/program/classes/ScriptProviderForBeanShell.jar
%{_libdir}/libreoffice/program/services/scriptproviderforbeanshell.rdb
%{ooodir}/share/gallery/sg24.*
%{ooodir}/share/libreofficekit
%{_datadir}/appdata/org.libreoffice.kde.metainfo.xml
#----------------------------------------------------------------------------
%package java
Summary: Java dependent parts of LibreOffice
Group: Office
Requires: %{name}-common = %{EVRD}
# (tpg) https://issues.openmandriva.org/show_bug.cgi?id=1056
Requires: pentaho-reporting-flow-engine
%description java
Java dependent parts of LibreOffice.
This package contains templates and other optional parts of LibreOffice
that require a Java stack (such as OpenJDK) to be installed.
%files java -f file-lists/java_common_list.txt
#----------------------------------------------------------------------------
%package devel
Summary: LibreOffice SDK - development files
Group: Office
Requires: %{name}-common = %{EVRD}
%if "%{_lib}" == "lib64"
Provides: devel(libxmlreader(64bit)) = %{EVRD}
Provides: devel(libxmlreaderlo(64bit)) = %{EVRD}
Provides: devel(libreg(64bit)) = %{EVRD}
Provides: devel(libreglo(64bit)) = %{EVRD}
%else
Provides: devel(libxmlreader) = %{EVRD}
Provides: devel(libxmlreaderlo) = %{EVRD}
Provides: devel(libreg) = %{EVRD}
Provides: devel(libreglo) = %{EVRD}
%endif
%description devel
This package contains the files needed to build plugins/add-ons for
LibreOffice (includes, IDL files, build tools, ...). It also contains the
zipped source of the UNO Java libraries for use in IDEs like eclipse.
%files devel -f file-lists/sdk_list.uniq.sorted.txt
#----------------------------------------------------------------------------
%package devel-doc
Summary: LibreOffice SDK - documentation
Group: Office
%description devel-doc
This package contains the documentation of the LibreOffice SDK:
* C++/Java API reference
* IDL reference
* C++/Java/Basic examples
It also contains the gsicheck utility.
%files devel-doc -f file-lists/sdk_doc_list.txt
#----------------------------------------------------------------------------
%package draw
Summary: LibreOffice office suite - drawing
Group: Office
Requires: %{name}-common = %{EVRD}
%description draw
This package contains the drawing component for LibreOffice.
%files draw -f file-lists/draw_list.txt
%{_iconsdir}/hicolor/scalable/apps/mandriva-rosa-lo-draw_72.svg
%{_mandir}/man1/lodraw*
%dir %{ooodir}/share/xdg
%{ooodir}/share/xdg/draw.desktop
%{_datadir}/appdata/libreoffice-draw.appdata.xml
#----------------------------------------------------------------------------
%package gnome
Summary: GNOME Integration for LibreOffice (VFS, GConf)
Group: Office
Requires: %{name}-common = %{EVRD}
%description gnome
This package contains the GNOME VFS support and a GConf backend.
%files gnome -f file-lists/gnome_list.uniq.sorted.txt
#----------------------------------------------------------------------------
%package gtk3-kde5
Summary: GTK3-KDE5 Integration for LibreOffice (Widgets, Dialogs, Addressbook)
Group: Office
Requires: %{name}-common = %{EVRD}
Recommends: %{name}-style-breeze = %{EVRD}
Obsoletes: %{name}-kde4 < %{EVRD}
%description gtk3-kde5
This package contains the KDE5 plugin for drawing LibreOffice widgets with
KDE5/Qt5.x and a KDEish File Picker when running under KDE5.
%files gtk3-kde5
%{ooodir}/program/libvclplug_gtk3_kde5lo.so
%{ooodir}/program/lo_kde5filepicker
#----------------------------------------------------------------------------
%package kde5
Summary: KDE5 Integration for LibreOffice (Widgets, Dialogs, Addressbook)
Group: Office
Requires: %{name}-common = %{EVRD}
Recommends: %{name}-style-breeze = %{EVRD}
%description kde5
This package contains the KDE5 plugin for drawing LibreOffice widgets with
KDE5/Qt5.x and a KDEish File Picker when running under KDE5.
%files kde5
%{ooodir}/program/libkde5be1lo.so
%{ooodir}/program/libvclplug_kde5lo.so
%{ooodir}/program/libvclplug_qt5lo.so
#----------------------------------------------------------------------------
%package impress
Summary: LibreOffice office suite - presentation
Group: Office
Requires: %{name}-common = %{EVRD}
Requires: %{name}-draw = %{EVRD}
Obsoletes: %{name}-presentation-minimizer < %{EVRD}
%description impress
This package contains the presentation component for LibreOffice.
%files impress -f file-lists/impress_list.txt
%{_iconsdir}/hicolor/scalable/apps/mandriva-rosa-lo-impress_72.svg
%{_mandir}/man1/loimpress*
%dir %{ooodir}/share/xdg
%{ooodir}/share/xdg/impress.desktop
%{_datadir}/appdata/libreoffice-impress.appdata.xml
#----------------------------------------------------------------------------
%package math
Summary: LibreOffice office suite - equation editor
Group: Office
Requires: %{name}-common = %{EVRD}
%description math
This package contains the equation editor component for LibreOffice.
%files math -f file-lists/math_list.txt
%{_iconsdir}/hicolor/scalable/apps/mandriva-rosa-lo-math_72.svg
%{_mandir}/man1/lomath*
%dir %{ooodir}/share/xdg
%{ooodir}/share/xdg/math.desktop
#----------------------------------------------------------------------------
%package openclipart
Summary: LibreOffice Open Clipart data
Group: Office
Requires: %{name}-common = %{EVRD}
%description openclipart
This package contains the LibreOffice Open Clipart data, including images
and sounds.
%files openclipart
%{ooodir}/share/gallery/apples*
%{ooodir}/share/gallery/arrows*
%{ooodir}/share/gallery/bigapple*
%{ooodir}/share/gallery/bullets*
%{ooodir}/share/gallery/computers*
%{ooodir}/share/gallery/diagrams*
%{ooodir}/share/gallery/education*
%{ooodir}/share/gallery/environment*
%{ooodir}/share/gallery/finance*
%{ooodir}/share/gallery/flower*
%{ooodir}/share/gallery/htmlexpo*
%{ooodir}/share/gallery/people*
%{ooodir}/share/gallery/personas*
%{ooodir}/share/gallery/sg[0-9]*.*
%{ooodir}/share/gallery/sky.*
%{ooodir}/share/gallery/sounds*
%{ooodir}/share/gallery/symbols*
%{ooodir}/share/gallery/transportation*
%{ooodir}/share/gallery/txtshapes*
%{ooodir}/share/gallery/www-graf*
%exclude %{ooodir}/share/gallery/sg24.*
#----------------------------------------------------------------------------
%package pyuno
Summary: Python bindings for UNO library
Group: Office
Requires: %{name}-common = %{EVRD}
# mailmerge.py was packaged in libreoffice-common by mistake
Conflicts: %{name}-common < 1:4.4.7
Conflicts: %{name}-mailmerge < %{EVRD}
Obsoletes: %{name}-mailmerge < %{EVRD}
%description pyuno
This package contains the Python bindings for the UNO library.
%files pyuno -f file-lists/pyuno_list.txt
#----------------------------------------------------------------------------
%define style_package()\
%{expand:\
%%package style-%1 \
Summary: %1 symbol style for LibreOffice \
Group: Office \
Requires: %{name}-common = %{EVRD} \
Provides: %{name}-style = %{EVRD} \
Obsoletes: %{name}-common < 1:6.3.5 \
Conflicts: %{name}-common < 1:6.3.5 \
\
%%description style-%1 \
%1 symbol style for LibreOffice \
\
%%files style-%1 \
%{ooodir}/share/config/images_%{1}*.zip
}
%style_package breeze
%style_package colibre
%style_package elementary
%style_package karasa_jaga
%style_package sifr
%style_package tango
#----------------------------------------------------------------------------
%package writer
Summary: LibreOffice office suite - word processor
Group: Office
Requires: %{name}-common = %{EVRD}
Recommends: libreoffice-pagination
%description writer
This package contains the word processor component for LibreOffice.
%files writer -f file-lists/writer_list.txt
%{_iconsdir}/hicolor/scalable/apps/mandriva-rosa-lo-writer_72.svg
%{_mandir}/man1/loweb*
%{_mandir}/man1/lowriter*
%dir %{ooodir}/share/xdg
%{ooodir}/share/xdg/writer.desktop
%{_datadir}/appdata/libreoffice-writer.appdata.xml
#----------------------------------------------------------------------------
%package wiki-publisher
Summary: LibreOffice office suite - Wiki Publisher extension
Group: Office
Requires: %{name}-common = %{EVRD}
Requires: %{name}-writer = %{EVRD}
%if !%{javaless}
Requires: apache-commons-logging
%endif
%description wiki-publisher
With Wiki Publisher extesion is possible by using %{name}-writer to create
wiki page articles on MediaWiki servers without having to know the syntax of
MediaWiki markup language. This extension also enables publishing of the
wiki pages.
%files wiki-publisher
%{ooodir}/share/extensions/wiki-publisher
#----------------------------------------------------------------------------
%package extension-converttexttonumber
Summary: Text to number converter for LibreOffice
Group: Office
Requires: %{name}-calc = %{EVRD}
%description extension-converttexttonumber
ConvertTextToNumber replaces numbers and dates, formatted as text, with
real numbers.
Choices can be made about marking of cells, including cells with
non-default decimal separators, conversion of dates, and more.
As a result of the conversion, the text cells will become real numbers,
and then will be counted as expected in formulas Calc.
%files extension-converttexttonumber
%{ooodir}/share/extensions/ConvertTextToNumber
#----------------------------------------------------------------------------
%package extension-languagetool
Summary: A LibreOffice extension for style and grammar proofreading
Group: Office
Requires: %{name}-writer = %{EVRD}
%description extension-languagetool
A LibreOffice extension for style and grammar proofreading.
%files extension-languagetool
%{ooodir}/share/extensions/LanguageTool
#----------------------------------------------------------------------------
%package extension-nlpsolver
Summary: Solver extension for LibreOffice Calc
Group: Office
Requires: %{name}-calc = %{EVRD}
%description extension-nlpsolver
Extension integrating a solver engine for optimizing nonlinear programming
models into Calc.
%files extension-nlpsolver
%{ooodir}/share/extensions/nlpsolver
#----------------------------------------------------------------------------
%package extension-numbertext
Summary: Number-to-Text conversion function for LibreOffice Calc
Group: Office
Requires: %{name}-calc = %{EVRD}
%description extension-numbertext
Number-to-Text conversion function for LibreOffice Calc.
%files extension-numbertext
%{ooodir}/share/extensions/numbertext
#----------------------------------------------------------------------------
%package postgresql
Summary: PostgreSQL connector for LibreOffice
Group: Office
Requires: %{name}-base = %{EVRD}
%description postgresql
A PostgreSQl connector for the database front-end for LibreOffice. Allows
creation and management of PostgreSQL databases through a GUI.
%files postgresql
%{ooodir}/program/libpostgresql-sdbclo.so
%{ooodir}/program/libpostgresql-sdbc-impllo.so
%{ooodir}/program/postgresql-sdbc.ini
%{ooodir}/program/services/postgresql-sdbc.rdb
%{ooodir}/share/registry/postgresql.xcd
#----------------------------------------------------------------------------
%if %{with l10n}
%define l10n_package()\
%{expand:\
%%package l10n-%{1} \
Summary: %(echo "%{2}" | sed -e 's,___, ,g') language support for LibreOffice \
Group: Office \
Provides: %{ooname}-l10n = %{EVRD} \
Requires: %{ooname}-common = %{EVRD} \
Requires: locales-%{1} \
Provides: LibreOffice-l10n-%{1} = %{EVRD} \
\
%%description l10n-%{1} \
This package contains the localization of LibreOffice in %(echo "%{2}" | sed -e 's,___, ,g'). \
It contains the user interface, the templates and the autotext \
features. Please note that not all of these are available for all \
possible language. You can switch user interface language using the \
standard locales system. \
\
%%files l10n-%{1} \
%{ooodir}/share/registry/res/*_%{3}.* \
%{ooodir}/share/registry/*-%{3}.* \
%%optional %{ooodir}/share/registry/*_%{3}.* \
%{ooodir}/share/autotext/%{3} \
%{ooodir}/readmes/README_%{3} \
%{ooodir}/program/resource/%{1}
}
%{expand:
%(for i in %{langs}; do \
[ "$i" = "en_US" ] && continue; \
name="$(grep "^${i};" %{SOURCE5} | awk -F ';' '{print $2}' | tail -n 1 | sed -E -e 's,[[:blank:]],___,g' || :)" ; \
j="$(echo "$i" | sed -e 's,_,-,g')" ; \
echo "%%{l10n_package "$i" "$name" "$j"}"; \
done)}
%define help_package()\
%{expand:
%%package help-%{1} \
Summary: %(echo "%{2}" | sed -e 's,___, ,g') help for LibreOffice \
Group: Office \
Provides: %{ooname}-help = %{EVRD} \
Requires: %{ooname}-l10n-%{1} = %{EVRD} \
Provides: LibreOffice-help-%{1} = %{EVRD} \
\
%%description help-%{1} \
This package contains the localized help files of LibreOffice in %(echo "%{2}" | sed -e 's,___, ,g'). \
\
%%files help-%{1} \
%{ooodir}/help/%{3}
}
%{expand:
%(for i in %{helplangs} ; do \
name="$(grep "^${i};" %{SOURCE5} | awk -F ';' '{print $2}' | tail -n 1 || :)" ; \
j="$(echo "$i" | sed -e 's,_,-,g')" ; \
echo "%%{help_package "$i" "$(echo "$name" | sed -E -e 's,[[:blank:]],___,g')" "$j"}"; \
done) }
%endif
#----------------------------------------------------------------------------
%prep
%setup -q -c -a 1 -a 2 -a 3
rm -rf git-hooks */git-hooks
for a in */*; do mv `pwd`/$a .; done
#ant
%if %{javaless}
tar -xjvf %{SOURCE20}
%endif
%apply_patches
# to make the friggin cppunit tests work
mkdir -p ~/tmp
chmod 777 ~/tmp
# 4.4.1.2 specific
chmod +x bin/unpack-sources
%build
# path to external tarballs
EXTSRCDIR=`dirname %{SOURCE0}`
export LC_ALL=en_US.UTF-8
export LANG=en_US
%if !%{with icecream}
PATH=$PATH:/usr/sbin
export PATH
%endif
%if %{with ccache}
export CCACHE_DIR=%{ccachedir}
%endif
%setup_compile_flags
%if %{with clang}
# not using %%clang_gcc_wrapper here because it fails
# to deal with complex quotation like
# -DCPPUNIT_PLUGIN_EXPORT='extern "C" SAL_DLLPUBLIC_EXPORT'
for i in %noclang_optflags ; do
export CFLAGS="$(echo "$CFLAGS" | sed -e "s,${i},,g")"
export CXXFLAGS="$(echo "$CXXFLAGS" | sed -e "s,${i},,g")"
done
mkdir -p local_bin
install -m0755 %{SOURCE80} "local_bin/clang++"
export PATH="${PWD}/local_bin:${PATH}"
export CC=clang
export CXX=clang++
export CPP=clang-cpp
# libstdc++ from gcc5 is too old, use newer version of libstdc++
export CPPFLAGS="$CPPFLAGS -I%{_includedir}/libstdc++-gcc10 -I%{_includedir}/libstdc++-gcc10/%{_host}"
export CXXFLAGS="$CXXFLAGS -nostdinc++ $CPPFLAGS -Wno-unused-command-line-argument -D__STDCPP_WANT_MATH_SPEC_FUNCS__"
export LIBCCX_LIBS="-lstdc++-gcc10"
%endif
echo "Configure start at: "`date` >> ooobuildtime.log
touch autogen.lastrun
%if %{with clang}
sed -i \
-e "s!clang -V!clang -v!g" \
-e "s!clang -qversion!clang --version!g" \
configure
%endif
%configure \
%{?_smp_mflags:--with-parallelism="`getconf _NPROCESSORS_ONLN`"} \
--with-vendor=ROSA \
--with-build-version="ROSA %{buildver}-%{release}" \
--disable-coinmp \
--disable-fetch-external \
--with-external-tar="$EXTSRCDIR" \
--disable-gstreamer-0.10 \
--enable-release-build \
--enable-gtk3-kde5 \
--enable-kde5 \
--enable-qt5 \
--disable-firebird-sdbc \
--disable-introspection \
--enable-eot \
--enable-odk \
--enable-split-app-modules \
--enable-split-opt-features \
--without-fonts \
--without-lxml \
--without-junit \
%if %{javaless}
--with-ant-home="%{antpath}" \
%else
--with-jdk-home="%{java_home}" \
%endif
--with-lang="$(echo %{langs} | sed -e 's,_,-,g')" \
--without-myspell-dicts \
--with-system-dicts \
--with-help \
--with-external-dict-dir=%{_datadir}/dict/ooo \
--with-external-hyph-dir=%{_datadir}/dict/ooo \
--with-external-thes-dir=%{_datadir}/dict/ooo \
--with-system-libs \
--with-system-ucpp \
--enable-ext-ct2n \
--enable-ext-numbertext \
--enable-ext-nlpsolver \
--enable-ext-languagetool \
--enable-ext-wiki-publisher \
--enable-ext-mariadb-connector \
%if %{with ccache} && !%{with icecream}
--with-gcc-speedup=ccache \
%else
%if !%{with ccache} && %{with icecream}
--with-gcc-speedup=icecream \
--with-max-jobs=10 \
--with-icecream-bindir=%{_libdir}/icecc/bin
%else
%if %{with ccache} && %{with icecream}
--with-gcc-speedup=ccache,icecream \
--with-max-jobs=10 \
--with-icecream-bindir=%{_libdir}/icecc/bin
%endif
%endif
%endif
sed -i -e "s,\$ENV{'MD5SUM'},md5sum,g" solenv/bin/modules/installer/systemactions.pm solenv/bin/modules/installer.pm
echo "Configure end at: "`date` >> ooobuildtime.log
echo "Make start at: "`date` >> ooobuildtime.log
# some configs to improve build process
# http://wiki.services.openoffice.org/wiki/Building_OpenOffice.org
# needs to check if it does any effect
export nodep=TRUE
export NO_HIDS=TRUE
export MAXPROCESS=4
mkdir -p external/tarballs
ln -sf %{SOURCE2} external/tarballs/
ln -sf %{SOURCE3} external/tarballs/
cp %{SOURCE4} external/tarballs/
ln -sf %{SOURCE33} external/tarballs/
ln -sf %{SOURCE35} external/tarballs/
ln -sf %{SOURCE36} external/tarballs/
ln -sf %{SOURCE37} external/tarballs/
cp %{SOURCE49} external/tarballs/
ln -sf %{SOURCE51} external/tarballs/
ln -sf %{SOURCE54} external/tarballs/
ln -sf %{SOURCE56} external/tarballs/
ln -sf %{SOURCE60} external/tarballs/
ln -sf %{SOURCE61} external/tarballs/
ln -sf %{SOURCE62} external/tarballs/
ln -sf %{SOURCE63} external/tarballs/
ln -sf %{SOURCE64} external/tarballs/
ln -sf %{SOURCE65} external/tarballs/
ln -sf %{SOURCE66} external/tarballs/
ln -sf %{SOURCE67} external/tarballs/
ln -sf %{SOURCE68} external/tarballs/
ln -sf %{SOURCE69} external/tarballs/
ln -sf %{SOURCE70} external/tarballs/
cp %{SOURCE71} external/tarballs/
cp %{SOURCE72} external/tarballs/
touch external/tarballs/.downloaded
# We use make build here because the default target is "allandcheck".
# Checking should go to check
#%%make V=1 verbose=t GMAKE_OPTIONS='VERBOSE=1' build-nocheck
%make -r -s V=0 build-nocheck
echo "Make end at: "`date` >> ooobuildtime.log
echo "Install start at: "`date` >> ooobuildtime.log
%install
# sbin due to icu stuff there
PATH=$PATH:/usr/sbin
make DESTDIR=%{buildroot} distro-pack-install
rm -rf %{buildroot}/opt
# Mandriva Rosa icons
mkdir -p %{buildroot}%{_iconsdir}/hicolor/scalable/apps/
tar -xjvf %{SOURCE10} --exclude Libre_Office* -C %{buildroot}%{_iconsdir}/hicolor/scalable/apps/
sed -i 's/^Icon=.*$/Icon=libreoffice-calc/' %{buildroot}%{ooodir}/share/xdg/calc.desktop
sed -i 's/^Icon=.*$/Icon=libreoffice-writer/' %{buildroot}%{ooodir}/share/xdg/writer.desktop
sed -i 's/^Icon=.*$/Icon=libreoffice-impress/' %{buildroot}%{ooodir}/share/xdg/impress.desktop
sed -i 's/^Icon=.*$/Icon=libreoffice-draw/' %{buildroot}%{ooodir}/share/xdg/draw.desktop
sed -i 's/^Icon=.*$/Icon=libreoffice-base/' %{buildroot}%{ooodir}/share/xdg/base.desktop
sed -i 's/^Icon=.*$/Icon=libreoffice-math/' %{buildroot}%{ooodir}/share/xdg/math.desktop
sed -i 's/^Icon=.*$/Icon=libreoffice-startcenter/' %{buildroot}%{ooodir}/share/xdg/startcenter.desktop
# fix permissions for stripping
find %{buildroot} -type f -exec chmod u+rw '{}' \;
# fix permission of .so libraries
find %{buildroot} -type f \( -name '*.so' -o -name '*.so.*' \) -exec chmod a+x '{}' \;
# Change progress bar colors
sed -i '/^ProgressBarColor/d;/^ProgressFrameColor/d' \
%{buildroot}%{ooodir}/program/sofficerc
echo 'ProgressBarColor=68,135,223' >> %{buildroot}%{ooodir}/program/sofficerc
echo 'ProgressFrameColor=112,171,229' >> %{buildroot}%{ooodir}/program/sofficerc
#dev300 fix position and size
sed -i '/^ProgressPosition/d;/^ProgressSize/d' \
%{buildroot}%{ooodir}/program/sofficerc
echo 'ProgressPosition=10,307' >> %{buildroot}%{ooodir}/program/sofficerc
echo 'ProgressSize=377,9' >> %{buildroot}%{ooodir}/program/sofficerc
# move python bits into site-packages
mkdir -p %{buildroot}/%{py3_platsitedir}
pushd %{buildroot}/%{py3_platsitedir}
echo "import sys, os" > uno.py
echo "sys.path.append('%{ooodir}/program')" >> uno.py
echo "os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:%{_libdir}/%{name}/program/fundamentalrc')" >> uno.py
cat %{buildroot}%{ooodir}/program/uno.py >> uno.py
rm -f %{buildroot}%{ooodir}/program/uno.py*
mv -f %{buildroot}%{ooodir}/program/unohelper.py* .
mv -f %{buildroot}%{ooodir}/program/officehelper.py* .
popd
sed -i 's|%{ooodir}/program/uno.py|%{py3_platsitedir}/uno.py|' file-lists/pyuno_list.txt
sed -i 's|%{ooodir}/program/unohelper.py|%{py3_platsitedir}/unohelper.py|' file-lists/pyuno_list.txt
sed -i 's|%{ooodir}/program/officehelper.py|%{py3_platsitedir}/officehelper.py|' file-lists/pyuno_list.txt
# common shouldn't depend on writer...
# but common does depend on libswdlo.so
grep libswdlo.so file-lists/writer_list.txt >>file-lists/common_list.txt
sed -i -e '/libswdlo.so/d' file-lists/writer_list.txt
## Installation fixes
## remove fix wrong manpages files, extension gz->xz
for p in common base calc writer impress draw math; do
sed -i '/^.*man.*\.gz$/d' file-lists/${p}_list.txt
done;
## sort removing duplicates
sort -u file-lists/gnome_list.txt > file-lists/gnome_list.uniq.sorted.txt
sort -u file-lists/sdk_list.txt > file-lists/sdk_list.uniq.sorted.txt
# Fix weirdo filenames wreaking havoc because they're regular expressions
sed -i -e 's/\[/?/g;s/\]/?/g' file-lists/sdk*.txt
## Split help
cd file-lists
for i in lang_*.txt; do
grep /help/ $i >${i/lang/help} || touch ${i/lang/help}
sed -i -e '/\/help\//d' $i
done
cd ..
# Split gallery
grep /share/gallery/ file-lists/common_list.txt >file-lists/gallery_list.txt
sed -i -e '/\/share\/gallery\//d' file-lists/common_list.txt
# We catch those in a regex to catch Sun Template extras
sed -i -e '/gallery\/sg[0-9]*\..*/d' file-lists/gallery_list.txt
## merge en-US with common
cat file-lists/lang_en_US_list.txt >> file-lists/common_list.txt
## merge dtd with common
cat file-lists/dtd_list.txt >> file-lists/common_list.txt
sort -u file-lists/common_list.txt > file-lists/common_list.uniq.sorted.txt
cat file-lists/common_list.uniq.sorted.txt >>file-lists/core_list.txt
## make sure we don't have duplicate files in core
sort -u file-lists/core_list.txt > file-lists/core_list.uniq.sorted.txt
cat file-lists/core_list.uniq.sorted.txt > file-lists/core_list.txt
egrep -v "libreoffice/share/xdg/(base|calc|draw|impress|math|writer)" file-lists/core_list.txt > file-lists/core_list.uniq.sorted.txt
cat file-lists/core_list.uniq.sorted.txt > file-lists/core_list.txt
## styles have their own packages
sed -E -i -e "/^.*images_.*\.zip$/d" file-lists/*.txt
echo %{ooodir}/share/config/images_helpimg.zip >> file-lists/core_list.txt
%check
# FIXME enable once the connection failures in firebird and hsqldb are fixed
# make check