%bcond_without l10n %bcond_with icecream %bcond_with ccache %if %{mdvver} < 201900 %bcond_without clang %define llvm_ver llvm17 %define llvm_path /opt/%{llvm_ver} %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 https://download.documentfoundation.org/libreoffice/src/%{version} %define devurl https://dev-www.libreoffice.org/ooo_external %define devexurl https://dev-www.libreoffice.org/extern %define srcurl https://dev-www.libreoffice.org/src/ %define oxyurl https://ooo.itc.hu/oxygenoffice/download/libreoffice/ %define distroname R11 %define ooname libreoffice %define buildver %{version}.3 %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 %undefine _disable_rebuild_configure %global _python_bytecompile_build 0 Summary: Office suite Name: libreoffice Epoch: 1 Version: 24.8.0 Release: 1 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: https://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: https://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-6536.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 BuildRequires: ant %if %{with ccache} BuildRequires: ccache %endif %if %{with clang} BuildRequires: %{llvm_ver} BuildRequires: stdc++-gcc10-devel %endif BuildRequires: desktop-file-utils BuildRequires: doxygen >= 1.8.4 BuildRequires: ed BuildRequires: flex BuildRequires: flute BuildRequires: git-core 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: %{_lib}qrcodegencpp-devel BuildRequires: db-devel BuildRequires: glm-devel BuildRequires: hyphen-devel BuildRequires: java-1.8.0-openjdk-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: atomic-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.6) >= 0.6 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.18) 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.18) 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-2.1) >= 2.1 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.35 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: qt515 #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) BuildRequires: pkgconfig(mariadb) %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 Provides: libreoffice-l10n-en_US = %{EVRD} Provides: LibreOffice-l10n-en_US = %{EVRD} # 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-%(echo %{1} | awk -F '_' '{print $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} \ 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 # up mdds to 2.1, liborcus-0.18 sed -i 's/mdds-1.5/mdds-2.1/g' configure* sed -i 's/liborcus-0.15/liborcus-0.18/g' configure* # qrcodegen/QrCode.hpp sed -i 's|qrcodegen/QrCode.hpp|qrcodegencpp/QrCode.hpp|' configure* # update and fix pdfium sed -i 's/pdfium-4137/pdfium-6536/g' download.lst solenv/flatpak-manifest.in %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 %if %{without clang} %global ldflags %{ldflags} -lstdc++ %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=%{llvm_path}/bin/clang export CXX=%{llvm_path}/bin/clang++ export CPP=%{llvm_path}/bin/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 export ORCUS_CFLAGS="-lliborcus-0.18" export LD_LIBRARY_PATH=/opt/openssl3.3/lib/:${LD_LIBRARY_PATH} %configure \ LIBS="-lqrcodegencpp $LIBS" \ %{?_smp_mflags:--with-parallelism="`getconf _NPROCESSORS_ONLN`"} \ --with-vendor=R11 \ --with-build-version="R11 %{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 \ --with-system-qrcodegen \ %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 \ --with-system-mdds \ %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