# extensions %define numbertext_version 0.9.5 # Urls %define external_url https://dev-www.libreoffice.org/src/ %define tarball_url https://dev-builds.libreoffice.org/pre-releases/src/ # LTO needs newer toolchain stack only %bcond_with lto %bcond_without system_gpgme %bcond_with firebird Name: libreoffice Version: 7.4.2.3 Release: 3 Summary: A Free Office Suite (Framework) License: LGPL-3.0-or-later AND MPL-2.0+ Group: Productivity/Office/Suite URL: https://www.documentfoundation.org/ Source0: %{tarball_url}/libreoffice-%{version}.tar.xz Source1: %{tarball_url}/libreoffice-%{version}.tar.xz.asc Source2: %{tarball_url}/libreoffice-help-%{version}.tar.xz Source3: %{tarball_url}/libreoffice-help-%{version}.tar.xz.asc Source4: %{tarball_url}/libreoffice-translations-%{version}.tar.xz Source5: %{tarball_url}/libreoffice-translations-%{version}.tar.xz.asc # prebuilt extensions Source402: %{external_url}/b7cae45ad2c23551fd6ccb8ae2c1f59e-numbertext_%{numbertext_version}.oxt # used extensions sources Source450: %{external_url}/1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt Source452: %{external_url}/90401bca927835b6fbae4a707ed187c8-nlpsolver-0.9.tar.bz2 # GPGME bundle list Source1000: %{external_url}/gpgme-1.13.1.tar.bz2 Source1001: %{external_url}/libgpg-error-1.37.tar.bz2 Source1002: %{external_url}/libassuan-2.5.3.tar.bz2 # Internal bundled stuff we can't remove # To build this we would pull cygwin; not worth it Source2001: https://dev-www.libreoffice.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll # hsqldb simply does not work with new system version, but luckily we migrate to firebird Source2002: %{external_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip # Heavily patched and not possible to use system one Source2003: %{external_url}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip Source2004: %{external_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip # Needed for wiki-published and always taken as bundled Source2005: %{external_url}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip # Needed for integration tests Source2006: https://dev-www.libreoffice.org/extern/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar Source2007: https://dev-www.libreoffice.org/extern/odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar # PDFium is bundled everywhere Source2008: %{external_url}/pdfium-5058.tar.bz2 # Single C file with patches from LO Source2009: %{external_url}/dtoa-20180411.tgz # Skia is part of chromium and bundled everywhere as by google only way is monorepo way Source2010: %{external_url}/skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz Source2012: %{external_url}/libcmis-0.5.2.tar.xz Source2013: %{external_url}/dragonbox-1.1.0.tar.gz # do not use the broken help; unopkg complained about it when registering extensions # FIXME: the right fix is to compile the help and produce the .db_, .ht_, and other files Patch2: nlpsolver-no-broken-help.diff Patch3: mediawiki-no-broken-help.diff # Build with java 8 Patch101: 0001-Revert-java-9-changes.patch Patch202: boost-1.81-locale.patch # try to save space by using hardlinks Patch990: install-with-hardlinks.diff # save time by relying on rpm check rather than doing stupid find+grep Patch991: libreoffice-no-destdircheck.patch Patch999: Add-riscv64-support.diff BuildRequires: %{name}-share-linker BuildRequires: ant BuildRequires: autoconf BuildRequires: gawk BuildRequires: bison BuildRequires: bsh BuildRequires: apache-commons-logging BuildRequires: cups-devel BuildRequires: curl-devel BuildRequires: dejavu-fonts BuildRequires: doxygen >= 1.8.4 BuildRequires: flex >= 2.6.0 BuildRequires: flute BuildRequires: fontforge BuildRequires: glm-devel BuildRequires: abseil-cpp-devel BuildRequires: google-crosextra-carlito-fonts BuildRequires: gperf >= 3.1 BuildRequires: graphviz BuildRequires: hyphen-devel BuildRequires: junit BuildRequires: libbase BuildRequires: cppunit-devel >= 1.14.0 BuildRequires: liberation-fonts BuildRequires: libexif BuildRequires: libfonts BuildRequires: libformula BuildRequires: libjpeg-devel BuildRequires: openjpeg2-devel BuildRequires: libwebp-devel BuildRequires: liblayout BuildRequires: libloader BuildRequires: librepository BuildRequires: libserializer BuildRequires: libtool-ltdl-devel BuildRequires: lpsolve-devel BuildRequires: make BuildRequires: openldap-devel BuildRequires: pentaho-libxml BuildRequires: pentaho-reporting-flow-engine BuildRequires: pkgconfig BuildRequires: python3-lxml BuildRequires: sac BuildRequires: ucpp BuildRequires: unixODBC-devel BuildRequires: unzip BuildRequires: xml-commons-apis BuildRequires: xz BuildRequires: zip BuildRequires: perl(Archive::Zip) BuildRequires: perl(Digest::MD5) BuildRequires: pkgconfig(apr-util-1) BuildRequires: pkgconfig(bluez) BuildRequires: pkgconfig(dbus-1) >= 0.60 BuildRequires: pkgconfig(epoxy) >= 1.2 BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glib-2.0) >= 2.40 BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(graphite2) >= 0.9.3 BuildRequires: pkgconfig(gssrpc) BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) BuildRequires: pkgconfig(gtk+-3.0) >= 3.20 BuildRequires: pkgconfig(harfbuzz) >= 0.9.42 BuildRequires: pkgconfig(harfbuzz-icu) >= 0.9.42 BuildRequires: pkgconfig(hunspell) BuildRequires: pkgconfig(krb5) BuildRequires: pkgconfig(lcms2) BuildRequires: pkgconfig(libabw-0.1) BuildRequires: pkgconfig(libcdr-0.1) >= 0.1 BuildRequires: pkgconfig(libclucene-core) BuildRequires: pkgconfig(libe-book-0.1) >= 0.1.2 BuildRequires: pkgconfig(libeot) >= 0.01 BuildRequires: pkgconfig(libepubgen-0.1) BuildRequires: pkgconfig(libetonyek-0.1) >= 0.1.10 BuildRequires: pkgconfig(libexttextcat) >= 3.4.1 BuildRequires: pkgconfig(libfreehand-0.1) BuildRequires: pkgconfig(liblangtag) BuildRequires: pkgconfig(libmspub-0.1) >= 0.1 BuildRequires: pkgconfig(libmwaw-0.3) >= 0.3.21 BuildRequires: pkgconfig(libnumbertext) >= 1.0.6 BuildRequires: pkgconfig(libodfgen-0.1) >= 0.1.4 BuildRequires: pkgconfig(liborcus-0.17) BuildRequires: pkgconfig(libpagemaker-0.0) BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libpq) BuildRequires: pkgconfig(libqxp-0.0) BuildRequires: pkgconfig(librevenge-0.0) >= 0.0.1 BuildRequires: pkgconfig(librsvg-2.0) BuildRequires: pkgconfig(libstaroffice-0.0) >= 0.0.6 BuildRequires: pkgconfig(libvisio-0.1) >= 0.1 BuildRequires: pkgconfig(libwpd-0.10) >= 0.10 BuildRequires: pkgconfig(libwpg-0.3) BuildRequires: pkgconfig(libwps-0.4) >= 0.4.11 BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libxslt) BuildRequires: pkgconfig(libzmf-0.0) BuildRequires: pkgconfig(mdds-2.0) >= 2.0.0 BuildRequires: pkgconfig(mythes) BuildRequires: pkgconfig(nspr) >= 4.8 BuildRequires: pkgconfig(nss) >= 3.9.3 BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(redland) BuildRequires: pkgconfig(sane-backends) BuildRequires: pkgconfig(serf-1) >= 1.3.9 BuildRequires: pkgconfig(xmlsec1-nss) >= 1.2.28 BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xt) BuildRequires: pkgconfig(zxing) Requires: liberation-fonts Requires: libreoffice-branding >= 6.0 Requires: libreoffice-icon-themes = %{version} # We need at least english to launch ourselves Requires: libreoffice-l10n-en = %{version} Requires: python3 Recommends: dejavu-fonts Recommends: google-crosextra-carlito-fonts Provides: %{name}-draw-extensions = %{version} Obsoletes: %{name}-draw-extensions < %{version} Provides: %{name}-impress-extensions = %{version} Obsoletes: %{name}-impress-extensions < %{version} Provides: %{name}-base-extensions = %{version} Obsoletes: %{name}-base-extensions < %{version} Provides: %{name}-kde = %{version} Obsoletes: %{name}-kde < %{version} Provides: %{name}-l10n-prebuild = %{version} Obsoletes: %{name}-l10n-prebuild < %{version} Provides: %{name}-mono = %{version} Obsoletes: %{name}-mono < %{version} Provides: %{name}-ure = %{version} Obsoletes: %{name}-ure < %{version} Provides: %{name}-icon-theme-crystal = %{version} Obsoletes: %{name}-icon-theme-crystal < %{version} Provides: %{name}-icon-theme-oxygen = %{version} Obsoletes: %{name}-icon-theme-oxygen < %{version} ExclusiveArch: aarch64 %{ix86} x86_64 riscv64 BuildRequires: boost-devel BuildRequires: pkgconfig(poppler) pkgconfig(poppler-cpp) BuildRequires: gcc >= 7 BuildRequires: gcc-c++ >= 7 # genbrk binary is required BuildRequires: icu BuildRequires: java-11-devel BuildRequires: Box2D-devel BuildRequires: mariadb-connector-c-devel BuildRequires: pkgconfig(icu-i18n) BuildConflicts: java < 9 BuildConflicts: java-devel < 9 BuildConflicts: java-headless < 9 %if %{with system_gpgme} BuildRequires: gpgme-devel gpgme-pp %endif %if %{with firebird} BuildRequires: pkgconfig(fbclient) %endif Provides: %{name}-kde4 = %{version} Obsoletes: %{name}-kde4 < %{version} Provides: %{name}-qt5 = %{version} Obsoletes: %{name}-qt5 < %{version} %description LibreOffice is a comprehensive office package featuring a word processor, a spreadsheet, a presentation program, and much more. This package provides only the basic framework. You have to install the additional modules to get the required functionality, see packages: - libreoffice-base - libreoffice-calc - libreoffice-draw - libreoffice-impress - libreoffice-math - libreoffice-writer Some optional features are provided by extra packages, for example: - libreoffice-mailmerge - libreoffice-filters - libreoffice-qt5 - libreoffice-gnome Non-English localizations are provided by extra packages as well, for example: - libreoffice-l10n-de - libreoffice-l10n-fr - libreoffice-l10n-it %package branding-upstream Summary: Original Branding for LibreOffice Group: Productivity/Office/Suite Supplements: libreoffice Conflicts: libreoffice-branding Provides: libreoffice-branding = %{version} BuildArch: noarch %description branding-upstream This package includes the original branding for the LibreOffice office suite. %package icon-themes Summary: LibreOffice Icon Themes Group: Productivity/Office/Suite Requires(post): %{name}-share-linker Requires(postun):%{name}-share-linker Supplements: libreoffice Provides: %{name}-icon-theme-breeze = %{version} Obsoletes: %{name}-icon-theme-breeze < %{version} Provides: %{name}-icon-theme-galaxy = %{version} Obsoletes: %{name}-icon-theme-galaxy < %{version} Provides: %{name}-icon-theme-hicontrast = %{version} Obsoletes: %{name}-icon-theme-hicontrast < %{version} Provides: %{name}-icon-theme-sifr = %{version} Obsoletes: %{name}-icon-theme-sifr < %{version} Provides: %{name}-icon-theme-tango = %{version} Obsoletes: %{name}-icon-theme-tango < %{version} BuildArch: noarch %description icon-themes This package provides all of the LibreOffice icon themes. %package glade Summary: Support for creating LibreOffice dialogs in glade Group: Productivity/Office/Suite Requires: %{name} = %{version} BuildArch: noarch %description glade %{name}-glade contains a catalog of LibreOffice-specific widgets for glade and ui-previewer tool to check the visual appearance of dialogs. %package gdb-pretty-printers Summary: Additional support for debugging with gdb Group: Productivity/Office/Suite Requires: gdb Requires: libreoffice = %{version} Requires: python3-six Supplements: libreoffice-debuginfo = %{version} BuildArch: noarch %description gdb-pretty-printers This package provides gdb pretty printers for package %{name}. %package base Summary: LibreOffice Base Group: Productivity/Office/Suite Requires: %{name} = %{version} Requires: pentaho-reporting-flow-engine Supplements: %{name} Obsoletes: %{name}-base-drivers-mysql # default database connector %if %{with firebird} Requires: %{name}-base-drivers-firebird %else Requires: jre >= 1.8 %endif %description base This module allows you to manage databases, create queries and reports to track and manage your information by using LibreOffice office suite. %package calc Summary: LibreOffice Calc Group: Productivity/Office/Suite Requires: %{name} = %{version} Supplements: %{name} %description calc This module allows you to perform calculation, analyze information and manage lists in spreadsheets by using LibreOffice office suite. %package draw Summary: LibreOffice Draw Group: Productivity/Office/Suite Requires: %{name} = %{version} Supplements: %{name} %description draw This module allows you to create and edit drawings, flow charts, and logos by using LibreOffice office suite. %package math Summary: LibreOffice Math Group: Productivity/Office/Suite Requires: %{name} = %{version} Supplements: %{name} %description math This module allows you to create and edit scientific formulas and equations by using LibreOffice office suite. %package impress Summary: LibreOffice Impress Group: Productivity/Office/Suite Requires: %{name} = %{version} Supplements: %{name} %description impress This module allows you to create and edit presentations for slideshows, meeting and Web pages by using LibreOffice office suite. %package writer Summary: LibreOffice Writer and Web Group: Productivity/Office/Suite Requires: %{name} = %{version} Supplements: %{name} %description writer This module allows you to create and edit text and graphics in letters, reports, documents and Web pages by using LibreOffice office suite. %package base-drivers-postgresql Summary: PostgreSQL Database Driver for LibreOffice Group: Productivity/Office/Suite Requires: postgresql %description base-drivers-postgresql This package allows to access PostgreSQL databases from LibreOffice Base. %package base-drivers-firebird Summary: Firebird Database Driver for LibreOffice Group: Productivity/Office/Suite Requires: firebird %description base-drivers-firebird This package allows to access Firebird databeses from LibreOffice Base. %package filters-optional Summary: Additional Import and Export Filters for LibreOffice Group: Productivity/Office/Suite Requires: %{name}-calc = %{version} Requires: %{name}-draw = %{version} Requires: %{name}-impress = %{version} Requires: %{name}-math = %{version} Requires: %{name}-writer = %{version} Supplements: %{name} %description filters-optional This package includes some additional import and export filters for LibreOffice: - AportisDoc (Palm) - Pocket Excel - Pocket Word - DocBook - XHTML %package mailmerge Summary: Mail Merge Functionality for LibreOffice Group: Productivity/Office/Suite Requires: %{name}-pyuno = %{version} Supplements: %{name} %description mailmerge This module allows you to create form letters or send E-mail messages to many recipients using LibreOffice office suite. %package pyuno Summary: Python UNO Bridge for LibreOffice Group: Productivity/Office/Suite Requires: %{name} = %{version} Supplements: %{name} %description pyuno The Python-UNO bridge allows to use the standard LibreOffice API from the well known Python scripting language. It can be used to develop UNO components in python, thus python UNO components may be run within the LibreOffice process and can be called from Java, C++ or the built in StarBasic scripting language. You can create and invoke scripts with the office scripting framework (OOo 2.0 and later) with it. For example, it is used for the mail merge functionality. You can find the more information at http://udk.openoffice.org/python/python-bridge.html %package librelogo Summary: LibreLogo scripting language Group: Productivity/Office/Suite Requires: %{name}-pyuno = %{version} Requires: %{name}-writer = %{version} %description librelogo Enables LibreLogo scripting in Writer. LibreLogo is a Logo-like programming language with interactive vectorgraphics for education and DTP. %package gnome Summary: GNOME Extensions for LibreOffice Group: Productivity/Office/Suite Requires: %{name} = %{version} %description gnome This package contains some GNOME extensions and GTK2 interface for LibreOffice. %package gtk3 Summary: Gtk3 interface for LibreOffice Group: Productivity/Office/Suite Requires: %{name}-gnome = %{version} Supplements: (libreoffice and gnome-session) Supplements: (libreoffice and mate-session-manager) Supplements: (libreoffice and xfce4-session) %description gtk3 This package contains Gtk3 interface rendering option for LibreOffice. %package qt5 Summary: Qt5/KDE Frameworks interface for LibreOffice Group: Productivity/Office/Suite Requires: %{name} = %{version} Supplements: packageand(libreoffice:plasma5-workspace) Provides: %{name}-kde4 = %{version} Obsoletes: %{name}-kde4 < %{version} %description qt5 This package contains Qt5/KDE Frameworks interface rendering options for LibreOffice. %package sdk Summary: LibreOffice SDK Group: Documentation/HTML Requires: %{name} = %{version} Requires: gcc-c++ Requires: make Requires: ucpp Requires: zip Recommends: java-devel >= 9.0 Provides: libreoffice-ure-devel = %{version} Obsoletes: libreoffice-ure-devel < %{version} %description sdk This package contains the files needed to build plugins/add-ons for LibreOffice. It includes header files, IDL files, needed build tools, etc. The documentation is in the package libreoffice-sdk-doc %package sdk-doc Summary: LibreOffice SDK Documentation Group: Development/Libraries/Other Suggests: %{name}-sdk = %{version} Enhances: %{name}-sdk = %{version} Provides: libreoffice-ure-devel-doc = %{version} Obsoletes: libreoffice-ure-devel-doc < %{version} %description sdk-doc This package includes documentation and examples for the LibreOffice Software Development Kit (SDK). %package calc-extensions Summary: LibreOffice Calc Extensions Group: Productivity/Office/Suite Requires: libreoffice-calc = %{version} # pyuno is needed for the numbertext extension Requires: libreoffice-pyuno = %{version} Requires(pre): libreoffice = %{version} # the watchWindow extension is written in java Requires: jre >= 1.8 %description calc-extensions This package provides extensions for LibreOffice Calc: - Convert Text to Number - New Functions NUMBERTEXT and MONEYTEXT - Solver for Nonlinear Programming %package writer-extensions Summary: LibreOffice Writer Extensions Group: Productivity/Office/Suite Requires: libreoffice-writer = %{version} Requires(pre): libreoffice = %{version} # the wiki extension is written in java Requires: jre >= 1.8 %description writer-extensions This package provides extensions for LibreOffice Writer: - MediaWiki Publisher %package -n libreofficekit Summary: A library providing access to LibreOffice functionality Group: Productivity/Office/Suite Requires: %{name} = %{version} %description -n libreofficekit LibreOfficeKit can be used to access LibreOffice functionality through C/C++, without any need to use UNO. %package -n libreofficekit-devel Summary: Development files for libreofficekit Group: Productivity/Office/Suite Requires: libreofficekit = %{version} %description -n libreofficekit-devel The libreofficekit-devel package contains libraries and header files for developing applications that use libreofficekit. # Symlink autocorr files for various conversion items %define make_autocorr_aliases(l:) \ %{?-l: \ for lang in %{*}; do \ ln -sf acor_%{-l*}.dat %{buildroot}%{_libdir}/%{name}/share/autocorr/acor_$lang.dat \ done \ } \ %{!?-l:%{error:-l must be present}} # Symlinking macro for /usr/lib64 and /usr/share packing # As argument takes name of the package %define _link_noarch_files() \ %posttrans %{1} \ rpm -ql %{name}-%{1} > %{_datadir}/libreoffice/%{1}_list.txt || true \ if [ -f %{_datadir}/libreoffice/%{1}_list.txt ] ; then \ %{_bindir}/libreoffice-share-linker %{_datadir}/libreoffice/%{1}_list.txt || true \ fi \ \ %postun %{1} \ if [ "$1" = "0" -a -f %{_datadir}/libreoffice/%{1}_list.txt -a -x %{_bindir}/libreoffice-share-linker ]; then \ %{_bindir}/libreoffice-share-linker --unlink %{_datadir}/libreoffice/%{1}_list.txt || true \ rm -f %{_datadir}/libreoffice/%{1}_list.txt 2> /dev/null || true \ fi \ %{nil} # Crazy magic for the auto help/lang generating. %define _langpack_common(g:l:j:) \ %if "%{-l*}" != "en-US" \ %dir %{_datadir}/libreoffice/program/resource \ %dir %{_datadir}/libreoffice/program/resource/%{-g:%{-g*}}%{!-g:%{-l*}} \ %dir %{_datadir}/libreoffice/program/resource/%{-g:%{-g*}}%{!-g:%{-l*}}/LC_MESSAGES \ %{_datadir}/%{name}/program/resource/%{-g:%{-g*}}%{!-g:%{-l*}}/LC_MESSAGES/*.mo \ %endif \ %dir %{_datadir}/%{name}/share/registry \ %dir %{_datadir}/%{name}/share/registry/res \ %{_datadir}/%{name}/share/registry/Langpack-%{-l*}.xcd \ %if "%{-l*}" != "en-US" \ %{_datadir}/%{name}/share/registry/res/registry_%{-l*}.xcd \ %endif \ %{_datadir}/%{name}/share/registry/res/fcfg_langpack_%{-l*}.xcd \ %dir %{_datadir}/%{name}/share/wizards \ %{_datadir}/%{name}/share/wizards/resources_%{-j:%{-j*}}%{!-j:%{-l*}}.properties \ %{nil} # Defines a language pack subpackage. # # It's necessary to define language code (-l) and language name (-n). # Additionally, it's possible # * to require autocorr, hunspell, hyphen or mythes package or font for # given language, # * to obsolete openoffice.org-langpack package, # * to provide libreoffice-langpack-loc package, where loc is glibc # locale--this is necessary for yum to pick it automatically, # * to require other, unrelated, packages, # * to specify file serving as file list. # For these, lower case character argument takes an argument specifying # language, upper case character argument uses language from -l. # # All remaining arguments are considered to be files and added to the file # list. # # c: additional config file (just the name stem) # E the package does not contain any files (i.e., has empty filelist) # i: additional language added to this package # L: internal (LibreOffice) language code, used in file names # l: language code, e.g., cs # g: glibc/java locale # j: java locale # k: glibc locale for the additional language -i # o: java locale for the additional language -i # Mm: hunspell dependency # n: language name, e.g., Czech # p: Provides: of libreoffice-l10n # q: Provides: of libreoffice-l10n if one provide is not enough # r: comma-separated list of additional requires # S:s: script classification (cjk, ctl). -S is only a marker, as it does # not add any .xcd into the package (the file does not exist for at # least one CTL-using locale, si) # T has help files # Xx: has autotext definitions # # Example: # libreoffice-l10n-cs: langpack for Czech lang. Requiring myspell-cs_CZ: # %%langpack -l cs -n Czech -m cs_CZ %define langpack(c:Ei:g:j:k:L:l:Mm:n:o:p:q:r:S:s:TXx:) \ %define project LibreOffice \ %define lang %{-l:%{-l*}}%{!-l:%{error:Language code not defined}} \ %define _langpack_lang %{-L:%{-L*}}%{!-L:%{lang}} \ %define pkgname l10n-%{lang} \ %define langname %{-n:%{-n*}}%{!-n:%{error:Language name not defined}} \ \ %package %{pkgname} \ Summary: %{langname} localization files for %{project} \ Group: Productivity/Office/Suite \ Requires: %{name} = %{version} \ Requires: %{name}-share-linker \ Provides: locale(libreoffice:%{lang}) \ BuildArch: noarch \ %{-m:Requires: hunspell-%{-m*}}%{!-m:%{-M:Requires: hunspell-%{lang}}} \ %{-r:Requires: %{-r*}} \ %{-p: \ Provides: %{name}-l10n-%{-p*} = %{version} \ Obsoletes: %{name}-l10n-%{-p*} < %{version} \ } \ %{-q: \ Provides: %{name}-l10n-%{-q*} = %{version} \ Obsoletes: %{name}-l10n-%{-q*} < %{version} \ } \ Provides: %{name}-help-%{lang} = %{version} \ Obsoletes: %{name}-help-%{lang} < %{version} \ %{-L: \ Provides: %{name}-help-%{-L*} = %{version} \ Obsoletes: %{name}-help-%{-L*} < %{version} \ } \ %{-p: \ Provides: %{name}-help-%{-p*} = %{version} \ Obsoletes: %{name}-help-%{-p*} < %{version} \ } \ %{-q: \ Provides: %{name}-help-%{-q*} = %{version} \ Obsoletes: %{name}-help-%{-q*} < %{version} \ } \ \ %description %{pkgname} \ Provides %{langname} translations and additional resources (help files, etc.) for %{project}. \ \ %files %{pkgname} \ %{-T: \ %dir %{_datadir}/libreoffice/help/%{_langpack_lang} \ %{_datadir}/libreoffice/help/%{_langpack_lang}/* \ %if "%{-L*}" == "en-US" \ %{_datadir}/libreoffice/help/*.js \ %{_datadir}/libreoffice/help/*.css \ %{_datadir}/libreoffice/help/*.html \ %{_datadir}/libreoffice/help/media* \ %endif \ } \ %{!-E: \ %define autotextdir %{_datadir}/%{name}/share/autotext \ %dir %{autotextdir} \ %{expand:%%_langpack_common -l %{_langpack_lang} %{-g:-g %{-g*}} %{-j:-j %{-j*}}} \ %{-x:%{autotextdir}/%{-x*}}%{!-x:%{-X:%{autotextdir}/%{_langpack_lang}}} \ %{-c:%{_datadir}/%{name}/share/registry/%{-c*}.xcd} \ %{-s:%{_datadir}/%{name}/share/registry/%{-s*}_%{_langpack_lang}.xcd} \ %{-i:%{expand:%%_langpack_common -l %{-i*} %{-k:-g %{-k*}} %{-o:-j %{-o*}}}} \ } \ \ %{expand:%%_link_noarch_files %{pkgname}} \ %{nil} %langpack -l af -n Afrikaans -m af_ZA -X %langpack -l am -n Amharic -T -X %langpack -l ar -n Arabic -s ctl -m ar -T -X %langpack -l as -n Assamese -X %langpack -l ast -n Asturian -T -X %langpack -l be -n Belarusian -m be_BY -X %langpack -l bg -n Bulgarian -X -m bg_BG -T %langpack -l bn -n Bengali -m bn_BD -T -X %langpack -l bn_IN -n Bengali_India -T -p bn-IN -m bn_IN -L bn-IN -g bn_IN -j bn_IN -X %langpack -l bo -n Tibetian -T -s ctl -m bo -X %langpack -l br -n Breton -m br_FR -X %langpack -l brx -n Bodo -X %langpack -l bs -n Bosnian -T -X %langpack -l ca -n Catalan -M -X -T %langpack -l ca_valencia -n Valencian -m ca_ES_valencia -T -L ca-valencia -g ca@valencia -j ca_valencia -X %langpack -l ckb -n Central_Kurdish %langpack -l cs -n Czech -X -m cs_CZ -T %langpack -l cy -n Welsh -X %langpack -l da -n Danish -X -m da_DK -T %langpack -l de -n German -X -M -T %langpack -l dgo -n Dogri -X %langpack -l dsb -n Lower_Sorbian -X %langpack -l dz -n Dzongkha -s ctl -T -X %langpack -l el -n Greek -m el_GR -T -X %langpack -l en -n English -L en-US -X -M -g en_US -T -j en_US %langpack -l en_GB -n English_GB -M -T -X -L en-GB -g en_GB -j en_GB %langpack -l en_ZA -n English_ZA -M -T -X -L en-ZA -g en_ZA -j en_ZA %langpack -l eo -n Esperanto -T -X %langpack -l es -n Spanish -M -X -T %langpack -l et -n Estonian -m et_EE -T -X %langpack -l eu -n Basque -T -X %langpack -l fa -n Farsi -s ctl -X %langpack -l fi -n Finnish -r libreoffice-voikko -X -T %langpack -l fr -n French -X -m fr_FR -T %langpack -l fur -n Friulian %langpack -l fy -n Frisian -X %langpack -l ga -n Irish -X %langpack -l gd -n Gaelic -m gd_GB -X %langpack -l gl -n Galician -M -T -X %langpack -l gu -n Gujarati -s ctl -p gu-IN -m gu_IN -T -X %langpack -l gug -n Paraguayan_GuaranĂ­ -M -X %langpack -l he -n Hebrew -s ctl -m he_IL -T -X %langpack -l hi -n Hindi -s ctl -p hi-IN -m hi_IN -T -X %langpack -l hr -n Croatian -m hr_HR -X -T %langpack -l hsb -n Upper_Sorbian -X %langpack -l hu -n Hungarian -X -m hu_HU -T %langpack -l it -n Italian -X -m it_IT -T %langpack -l id -n Indonesian -T -M -X %langpack -l is -n Icelandic -T -X -M %langpack -l ja -n Japanese -s cjk -X -T %langpack -l ka -n Georgian -T -X %langpack -l kab -n Kabyle -X %langpack -l kk -n Kazakh -X %langpack -l kn -n Kannada -X %langpack -l km -n Khmer -T -X -s ctl -c ctlseqcheck_km %langpack -l kmr_Latn -n Kurdish -M -g kmr@latin -L kmr-Latn -j kmr_Latn -X %langpack -l ko -n Korean -s cjk -X -T %langpack -l kok -n Konkani -X %langpack -l ks -n Kashmiri -X %langpack -l lb -n Luxembourgish -X %langpack -l lo -n Lao -T -s ctl -m lo_LA -c ctlseqcheck_lo -X %langpack -l lt -n Lithuanian -m lt_LT -X -T %langpack -l lv -n Latvian -m lv_LV -T -X %langpack -l mai -n Maithili -X %langpack -l mk -n Macedonian -T -X %langpack -l ml -n Malayalam -X %langpack -l mn -n Monglolian -X %langpack -l mni -n Manipuri -X %langpack -l mr -n Marathi -X %langpack -l my -n Burnese -s ctl -X %langpack -l nb -n Bokmal -M -m no -T -X %langpack -l ne -n Nepali -T -s ctl -m ne_NP -X %langpack -l nl -n Dutch -X -m nl_NL -T %langpack -l nn -n Nynorsk -m nn_NO -T -X %langpack -l nr -n Southern_Ndebele -X %langpack -l nso -n Northern_Sotho -X %langpack -l oc -n Occitan -m oc_FR -X %langpack -l om -n Oromo -T -X %langpack -l or -n Odia -s ctl -X %langpack -l pa -n Punjabi -s ctl -L pa-IN -p pa-IN -g pa_IN -j pa_IN -x pa-IN %langpack -l pl -n Polish -X -m pl_PL -T %langpack -l pt_BR -n Brazilian_Portuguese -m pt_BR -L pt-BR -p pt-BR -X -g pt_BR -j pt_BR -T %langpack -l pt_PT -n Portuguese -m pt_PT -L pt -x pt -p pt -q pt-PT -T %langpack -l ro -n Romanian -M -X -T %langpack -l ru -n Russian -X -m ru_RU -T %langpack -l rw -n Kinyarwanda -X %langpack -l sa_IN -n Sanskrit -L sa-IN -g sa_IN -j sa_IN -x sa-IN %langpack -l sat -n Santali -X %langpack -l sd -n Sindhi -X %langpack -l si -n Sinhalese -S ctl -m si_LK -T -X %langpack -l sid -n Sidamo -T -X %langpack -l sk -n Slovak -X -m sk_SK -T %langpack -l sl -n Slovenian -X -m sl_SI -T %langpack -l sq -n Albanian -T -m sq_AL -X %langpack -l sr -n Serbian -i sr-Latn -M -j sr -g sr -k sr@latin -o sr_Latn -x sr-Latn %langpack -l ss -n Swati -X %langpack -l st -n Southern_Sotho -X %langpack -l sv -n Swedish -X -m sv_SE -T %langpack -l sw_TZ -n Swahili -M -L sw-TZ -g sw_TZ -j sw_TZ -x sw-TZ %langpack -l szl -n Silesian -X %langpack -l ta -n Tamil -s ctl -T -X %langpack -l te -n Telugu -m te_IN -X %langpack -l tg -n Tajik -T -X %langpack -l th -n Thai -s ctl -c ctlseqcheck_th -m th_TH -X %langpack -l tn -n Tswana -X %langpack -l tr -n Turkish -X -T -m tr_TR %langpack -l ts -n Tsonga -X %langpack -l tt -n Tatar -X %langpack -l ug -n Uyghur -T -X %langpack -l uk -n Ukrainian -m uk_UA -T -X %langpack -l uz -n Uzbek -X %langpack -l vi -n Vietnamese -T -X -M %langpack -l ve -n Venda -X %langpack -l vec -n Venetian -X %langpack -l xh -n Xhosa -X %langpack -l zh_CN -n Simplified_Chinese -p zh-CN -s cjk -L zh-CN -x zh-CN -q zh-Hans -g zh_CN -j zh_CN -T %langpack -l zh_TW -n Traditional_Chinese -p zh-TW -s cjk -L zh-TW -x zh-TW -q zh-Hant -g zh_TW -j zh_TW -T %langpack -l zu -n Zulu -m zu_ZA -X %prep %setup -q -b2 -b4 %patch2 %patch3 %patch202 -p1 %patch990 -p1 %patch991 -p1 %patch999 -p1 # Disable some of the failing tests (some are random) # Following two tests are really flaky sed -i -e /CppunitTest_dbaccess_hsqldb_test/d dbaccess/Module_dbaccess.mk sed -i -e s/CppunitTest_dbaccess_RowSetClones// dbaccess/Module_dbaccess.mk # Fails due to diff caused by fonts sed -i -e /CppunitTest_sw_rtfimport/d sw/Module_sw.mk # only due to the above sed -i -e /CppunitTest_sw_uiwriter/d sw/Module_sw.mk # The gpg files are not loaded properly sed -i -e /CPPUNIT_TEST\(testODFEncryptedGPG\)/d xmlsecurity/qa/unit/signing/signing.cxx # breaks on LTO https://bugs.documentfoundation.org/show_bug.cgi?id=126442 sed -i -e /CppunitTest_sw_apitests/d sw/Module_sw.mk # Do not generate doxygen timestamp echo "HTML_TIMESTAMP = NO" >> odk/docs/cpp/Doxyfile echo "HTML_TIMESTAMP = NO" >> odk/docs/idl/Doxyfile %build # Strip lto from %_lto_cflags as the project has --enable-lto option %define _lto_cflags %{nil} # do not eat all memory # make sure that JAVA_HOME is set correctly if [ -f %{_sysconfdir}/profile.d/alljava.sh ]; then . %{_sysconfdir}/profile.d/alljava.sh elif [ -f %{_distconfdir}/profile.d/alljava.sh ]; then . %{_distconfdir}/profile.d/alljava.sh else export JAVA_HOME=/usr/lib/jvm/java-11 fi # use RPM_OPT_FLAGS, ... # remove big debugsymbols as we simply consume too much space %if %{with lto} ARCH_FLAGS="`echo %{optflags} -flifetime-dse=1 | sed -e 's/^-g /-g1 /g' -e 's/ -g / -g1 /g' -e 's/ -g$/ -g1/g'`" %else ARCH_FLAGS="`echo %{optflags} | sed -e 's/^-g /-g1 /g' -e 's/ -g / -g1 /g' -e 's/ -g$/ -g1/g'`" %endif CFLAGS="$ARCH_FLAGS" CXXFLAGS="$ARCH_FLAGS" export ARCH_FLAGS CFLAGS CXXFLAGS # Fake the epoch stuff in generated zip files export SOURCE_DATE_EPOCH=$(date -d "$(head -n 2 %{_sourcedir}/%{name}.changes | tail -n 1 | cut -d- -f1 )" +%%s) # Colada does not have .pc file and configure creator was really lazy export OPENCOLLADA_CFLAGS='-I/usr/include/COLLADABaseUtils -I/usr/include/COLLADAFramework -I/usr/include/COLLADASaxFrameworkLoader -I/usr/include/GeneratedSaxParser' export OPENCOLLADA_LIBS='-lOpenCOLLADABaseUtils -lOpenCOLLADAFramework -lOpenCOLLADASaxFrameworkLoader -lGeneratedSaxParser' # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys # Note: For your own distribution, please get your own set of keys. google_api_key="AIzaSyD1hTe85_a14kr1Ks8T3Ce75rvbR1_Dx7Q" google_default_client_id="4139804441.apps.googleusercontent.com" google_default_client_secret="KDTRKEZk2jwT_7CDpcmMA--P" # do not run configure in autogen but use macro later export NOCONFIGURE=yes ./autogen.sh %configure \ --with-parallelism=%{_smp_mflags} \ --enable-eot \ %if %{with lto} --enable-lto \ %endif --enable-mergelibs \ --docdir=%{_docdir}/%{name} \ --with-compat-oowrappers \ --with-system-headers \ --with-system-libs \ --with-system-jars \ --with-system-ucpp \ --with-system-dicts \ --with-system-libpng \ --without-system-libcmis \ --without-system-libfixmath \ --without-system-dragonbox \ --with-tls=nss \ --disable-openssl \ --with-lang=ALL \ --disable-fetch-external \ --with-external-tar="$RPM_SOURCE_DIR" \ --disable-epm \ --disable-online-update \ --enable-gstreamer-1-0 \ --enable-gtk3 \ --disable-kf5 \ --disable-qt5 \ --enable-introspection \ --with-doxygen \ --enable-release-build \ --enable-split-app-modules \ --enable-split-opt-features \ --enable-cairo-canvas \ --enable-largefile \ --enable-python=system \ --enable-randr \ --without-fonts \ --without-myspell-dicts \ --with-jdk-home=$JAVA_HOME \ --with-webdav=serf \ --with-beanshell-jar=%{_datadir}/java/bsh.jar \ --with-ant-home=%{_datadir}/ant \ --with-external-dict-dir=%{_datadir}/hunspell \ --with-external-hyph-dir=%{_datadir}/hyphen \ --with-external-thes-dir=%{_datadir}/mythes \ --with-help=html \ --without-export-validation \ --enable-odk \ %if %{with system_gpgme} --with-system-gpgmepp \ %else --without-system-gpgmepp \ %endif %if %{with firebird} --enable-firebird-sdbc \ %else --disable-firebird-sdbc \ %endif --enable-evolution2 \ --enable-dbus \ --enable-ext-ct2n \ --enable-ext-nlpsolver \ --enable-ext-numbertext \ --enable-ext-wiki-publisher \ --disable-scripting-beanshell \ --enable-scripting-javascript \ --enable-build-opensymbol \ --disable-ccache \ --disable-coinmp \ --enable-symbols \ --with-gdrive-client-secret="${google_default_client_secret}" \ --with-gdrive-client-id="${google_default_client_id}" \ %ifarch riscv64 --disable-skia %endif # no coinormp packages for coinmp # just call make here as we added the jobs in configure make verbose=t build %check export LANG=C.UTF-8 # Run tests only on x86_64 and aarch64 as they are resource hogs %ifarch x86_64 aarch64 # safeguard jarfires that can get magically overriden by the make mkdir savejar cp %{buildroot}%{_libdir}/%{name}/program/classes/*.jar savejar/ make cp savejar/*.jar %{buildroot}%{_libdir}/%{name}/program/classes/ %endif %install make verbose=t DESTDIR=%{buildroot} distro-pack-install # Do not pollute build log set +x # Split out gtk3 interface to -gtk3 subpackage grep -v "%{_libdir}/libreoffice/program/libvclplug_gtk3lo.so" file-lists/gnome_list.txt > tmplist mv tmplist file-lists/gnome_list.txt # Remove firebird connector from main package filelist %if %{with firebird} grep -v "%{_libdir}/libreoffice/program/libfirebird_sdbclo.so" file-lists/common_list.txt > tmplist mv tmplist file-lists/common_list.txt %endif # Remove the libanimcore from impress and put it to base (needed by draw too) grep -v "%{_libdir}/libreoffice/program/libanimcorelo.so" file-lists/impress_list.txt > tmplist mv tmplist file-lists/impress_list.txt echo "%{_libdir}/libreoffice/program/libanimcorelo.so" >> file-lists/common_list.txt ################ # update desktop files builddir=`pwd` cd %{buildroot}%{_datadir}/applications for desktop in * ; do # relative link is needed relative_target=`readlink $desktop | sed "s|%{_libdir}|../../%{_lib}|"` # create the link ln -sf $relative_target $desktop done cd - ################ # compat stuff for noarch packages mkdir -p %{buildroot}/%{_datadir}/%{name}/program echo "%dir %{_libdir}/%{name}" >>file-lists/common_list.txt echo "%dir %{_datadir}/%{name}" >>file-lists/common_list.txt echo "%dir %{_datadir}/%{name}/program" >>file-lists/common_list.txt ################ # helper script for noarch packages # add missing directories to the file list for dir in `find %{buildroot}/%{_datadir}/icons/hicolor -type d` ; do dir=`echo $dir | sed -e "s|%{buildroot}||"` echo "%dir $dir" >>file-lists/common_list.txt done ################################# # Move split noarch data to share ################################# for i in %{buildroot}%{_libdir}/%{name}/program/resource/*/*/*.mo \ %{buildroot}%{_libdir}/%{name}/share/registry/res/fcfg_langpack_*.xcd \ %{buildroot}%{_libdir}/%{name}/share/registry/res/registry_*.xcd \ %{buildroot}%{_libdir}/%{name}/share/registry/Langpack-*.xcd \ %{buildroot}%{_libdir}/%{name}/share/config/images*.zip \ %{buildroot}%{_libdir}/%{name}/share/registry/{cjk,ctl}_*.xcd \ %{buildroot}%{_libdir}/%{name}/share/registry/ctlseqcheck_*.xcd \ %{buildroot}%{_libdir}/%{name}/share/wizards/*.properties \ ; do trg="`dirname "$i" | sed 's|%{_libdir}|%{_datadir}|'`" mkdir -p "$trg" mv "$i" "$trg" grep -v "`echo "$i"| sed 's|%{buildroot}||'`" file-lists/common_list.txt > tmplist mv tmplist file-lists/common_list.txt done # help files are luckily in just one folder mkdir -p %{buildroot}/%{_datadir}/%{name}/help/ grep -v '%{_libdir}/%{name}/help' file-lists/common_list.txt > tmplist mv tmplist file-lists/common_list.txt echo "%dir %{_datadir}/%{name}/help" >>file-lists/common_list.txt mv %{buildroot}/%{_libdir}/%{name}/help/ %{buildroot}/%{_datadir}/%{name}/ mkdir -p %{buildroot}/%{_libdir}/%{name}/help/ echo "%dir %{_libdir}/%{name}/help" >>file-lists/common_list.txt for file in idxcaption.xsl idxcontent.xsl main_transform.xsl ; do mv "%{buildroot}/%{_datadir}/%{name}/help/$file" "%{buildroot}/%{_libdir}/%{name}/help/$file" echo "%{_libdir}/%{name}/help/$file" >> file-lists/common_list.txt done # autotext is another self contained dir mkdir -p %{buildroot}/%{_datadir}/%{name}/share/autotext/ grep -v '%{_libdir}/%{name}/share/autotext' file-lists/common_list.txt > tmplist mv tmplist file-lists/common_list.txt mv %{buildroot}/%{_libdir}/%{name}/share/autotext/ %{buildroot}/%{_datadir}/%{name}/share/ # translations of java apps should be in lang pkgs too grep -v '%{_libdir}/%{name}/share/wizards' file-lists/common_list.txt > tmplist mv tmplist file-lists/common_list.txt # the sr is dupe of sr_Latn rm -rf %{buildroot}%{datadir}/%{name}/share/wizards/resources_sr.properties ################ # branding split ################ # create symlinks for all brandings to noarch pkg mkdir -p %{buildroot}/%{_datadir}/%{name}/program/shell echo "%{_datadir}/%{name}/program/shell" >> file-lists/branding_upstream.txt for file in sofficerc \ intro.png \ intro-highres.png \ shell/about.svg \ shell/logo.svg \ shell/logo_inverted.svg; do mv "%{buildroot}%{_libdir}/%{name}/program/$file" "%{buildroot}%{_datadir}/%{name}/program/$file" ln -sf "%{_datadir}/%{name}/program/$file" "%{buildroot}/%{_libdir}/%{name}/program/$file" echo "%{_datadir}/%{name}/program/$file" >> file-lists/branding_upstream.txt done # Fix autocorr names for various language mutations %make_autocorr_aliases -l en-GB en-AG en-AU en-BS en-BW en-BZ en-CA en-DK en-GH en-HK en-IE en-IN en-JM en-NG en-NZ en-SG en-TT %make_autocorr_aliases -l en-US en-PH %make_autocorr_aliases -l en-ZA en-NA en-ZW %make_autocorr_aliases -l af-ZA af-NA %make_autocorr_aliases -l de de-DE de-AT de-BE de-CH de-LI de-LU %make_autocorr_aliases -l es es-ES es-AR es-BO es-CL es-CO es-CR es-CU es-DO es-EC es-GT es-HN es-MX es-NI es-PA es-PE es-PR es-PY es-SV es-US es-UY es-VE %make_autocorr_aliases -l fr fr-FR fr-BE fr-CA fr-CH fr-LU fr-MC %make_autocorr_aliases -l it it-IT it-CH fur_IT lld_IT sc_IT vec_IT %make_autocorr_aliases -l nl-NL nl-AW %make_autocorr_aliases -l sv-SE sv-FI pushd %{buildroot}%{_libdir}/%{name}/share/autocorr files="" for file in acor*.dat; do files="$files $file" done popd for file in $files; do echo "%{_libdir}/%{name}/share/autocorr/$file" >> file-lists/common_list.txt done # we don't bother with serbian non-latin autocorr (as the lang logic allows us to dynamically allocate # just one autotext filler and it does not make sense to have special case just for serbian rm -r %{buildroot}%{_datadir}/libreoffice/share/autotext/sr/ # Install appdata files, so we're shown in gnome-software (and other, future app stores) install -m 0755 -d %{buildroot}%{_datadir}/metainfo for appdata in base calc draw impress writer; do cp sysui/desktop/appstream-appdata/libreoffice-${appdata}.appdata.xml %{buildroot}%{_datadir}/metainfo/libreoffice-${appdata}.appdata.xml echo "%{_datadir}/metainfo/libreoffice-${appdata}.appdata.xml" >>file-lists/${appdata}_list.txt done rm -f %{buildroot}%{_datadir}/metainfo/org.libreoffice.kde.metainfo.xml # Remove pointless readmes rm -rf %{buildroot}%{_libdir}/%{name}/readmes/ # Prepare uno path detection, can't be patched in because it breaks tests echo "import sys, os" > uno.py echo "sys.path.append('%{_libdir}/%{name}/program')" >> uno.py echo "os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:%{_libdir}/libreoffice/program/fundamentalrc')" >> uno.py cat %{buildroot}%{_libdir}/%{name}/program/uno.py >> uno.py cp uno.py %{buildroot}%{_libdir}/%{name}/program/uno.py # Generate python cache files %py_byte_compile %{__python3} %{buildroot}/%{_libdir}/libreoffice/program/ %py_byte_compile %{__python3} %{buildroot}/%{_libdir}/libreoffice/share/extensions/ %py_byte_compile %{__python3} %{buildroot}/%{_libdir}/libreoffice/share/Scripts/python/ %py_byte_compile %{__python3} %{buildroot}/%{_libdir}/libreoffice/sdk/examples/python/ # Move python cache to respective filelist for i in file-lists/*.txt; do if [ `cat "${i}" | grep '\.py$' |wc -l` -gt 0 ]; then cat "${i}" | grep '\.py$' > pyfiles.txt for j in `cat pyfiles.txt`; do # python3 has __pycache__ dir while py2 does not pydir="${j%/*}" pyname="${j##*/}" if compgen -G "%{buildroot}${pydir}/__pycache__/${pyname%.*}*.pyc" > /dev/null; then echo "%dir ${pydir}/__pycache__/" >> "${i}" echo "${pydir}/__pycache__/${pyname%.*}*.pyc" >> "${i}" fi done fi done rm pyfiles.txt # Symlink gtk3 libreofficekit to libdir ln -s %{_libdir}/%{name}/program/liblibreofficekitgtk.so %{buildroot}%{_libdir}/liblibreofficekitgtk.so # Libreofficekit headers mkdir -p %{buildroot}%{_includedir}/LibreOfficeKit/ install -m 0644 include/LibreOfficeKit/* %{buildroot}%{_includedir}/LibreOfficeKit/ # typelib data mkdir -p %{buildroot}%{_libdir}/girepository-1.0/ install -m 0644 workdir/CustomTarget/sysui/share/libreoffice/LOKDocView-0.1.typelib %{buildroot}%{_libdir}/girepository-1.0/ mkdir -p %{buildroot}%{_datadir}/gir-1.0/ install -m 0644 workdir/CustomTarget/sysui/share/libreoffice/LOKDocView-0.1.gir %{buildroot}%{_datadir}/gir-1.0/ # Symlink uno.py and unohelper.py so that python can find them # This is done after the cache files generating on purpose mkdir -p %{buildroot}%{python3_sitelib} ln -s %{_libdir}/libreoffice/program/uno.py %{buildroot}%{python3_sitelib}/uno.py ln -s %{_libdir}/libreoffice/program/unohelper.py %{buildroot}%{python3_sitelib}/unohelper.py ln -s %{_libdir}/libreoffice/program/officehelper.py %{buildroot}%{python3_sitelib}/officehelper.py echo "%{python3_sitelib}/uno.py" >> file-lists/pyuno_list.txt echo "%{python3_sitelib}/unohelper.py" >> file-lists/pyuno_list.txt echo "%{python3_sitelib}/officehelper.py" >> file-lists/pyuno_list.txt # move glade catalog to system glade dir install -m 0755 -d %{buildroot}%{_datadir}/glade/catalogs mv %{buildroot}%{_libdir}/%{name}/share/glade/libreoffice-catalog.xml %{buildroot}%{_datadir}/glade/catalogs install -m 0755 -d %{buildroot}%{_datadir}/glade3/catalogs ln -s %{_datadir}/glade/catalogs/libreoffice-catalog.xml %{buildroot}%{_datadir}/glade3/catalogs grep -v '%{_libdir}/%{name}/share/glade/libreoffice-catalog.xml' file-lists/common_list.txt > tmplist mv tmplist file-lists/common_list.txt # install gdb pretty printers export DESTDIR=%{buildroot} export SRCDIR="./" ./solenv/bin/install-gdb-printers -a %{_datadir}/gdb/auto-load%{_libdir}/%{name} -c -i %{_libdir}/%{name} -p %{_datadir}/libreoffice/gdb # Why would the mysql lib which is only USED by base not be IN THE BASE PACKAGE?!? grep -v "%{_libdir}/libreoffice/program/libmysqlclo.so" file-lists/common_list.txt > tmplist mv tmplist file-lists/common_list.txt echo "%{_libdir}/libreoffice/program/libmysqlclo.so" >> file-lists/base_list.txt # Remove empty files rm %{buildroot}%{_libdir}/libreoffice/share/extensions/*/help/*.done rm %{buildroot}%{_libdir}/libreoffice/share/extensions/*/help/*/*.ht_ rm %{buildroot}%{_libdir}/libreoffice/share/extensions/wiki-publisher/help/sa-IN/help.key_ rm %{buildroot}%{_libdir}/libreoffice/share/extensions/nlpsolver/locale/NLPSolverCommon_en_US.default %post /sbin/ldconfig %preun uno_cache="%{_libdir}/%{name}/share/uno_packages/cache/uno_packages/" if [ "$1" = "0" ] ; then test -d "$uno_cache" && rm -rf "$uno_cache"/* fi exit 0 %postun /sbin/ldconfig %_link_noarch_files icon-themes %files -f file-lists/common_list.txt # ignore helper files for brp-symlink check %exclude %{_datadir}/%{name}/program/sofficerc %exclude %{_datadir}/%{name}/program/*.png %exclude %{_datadir}/%{name}/program/shell/*.svg %files -n libreofficekit %dir %{_libdir}/girepository-1.0 %{_libdir}/girepository-1.0/LOKDocView-0.1.typelib %{_libdir}/liblibreofficekitgtk.so %dir %{_libdir}/libreoffice/share/libreofficekit %{_libdir}/libreoffice/share/libreofficekit/handle_image_end.png %{_libdir}/libreoffice/share/libreofficekit/handle_image_middle.png %{_libdir}/libreoffice/share/libreofficekit/handle_image_start.png %files -n libreofficekit-devel %dir %{_datadir}/gir-1.0 %{_datadir}/gir-1.0/LOKDocView-0.1.gir %dir %{_includedir}/LibreOfficeKit %{_includedir}/LibreOfficeKit/* %files glade %dir %{_datadir}/glade %dir %{_datadir}/glade/catalogs %{_datadir}/glade/catalogs/libreoffice-catalog.xml %dir %{_datadir}/glade3 %dir %{_datadir}/glade3/catalogs %{_datadir}/glade3/catalogs/libreoffice-catalog.xml %files gdb-pretty-printers %{_datadir}/gdb/auto-load/%{_libdir}/%{name} %{_datadir}/libreoffice/gdb %files -f file-lists/base_list.txt base %files -f file-lists/calc_list.txt calc %files -f file-lists/draw_list.txt draw %files -f file-lists/math_list.txt math %files -f file-lists/impress_list.txt impress %files -f file-lists/writer_list.txt writer %files -f file-lists/postgresql_list.txt base-drivers-postgresql %if %{with firebird} %files base-drivers-firebird %{_libdir}/libreoffice/program/libfirebird_sdbclo.so %endif %files -f file-lists/filters_list.txt filters-optional %files -f file-lists/mailmerge_list.txt mailmerge %files -f file-lists/pyuno_list.txt pyuno %exclude %{_libdir}/libreoffice/share/Scripts/python/LibreLogo %exclude %{_libdir}/libreoffice/share/registry/librelogo.xcd %files librelogo %{_libdir}/libreoffice/share/registry/librelogo.xcd %{_libdir}/libreoffice/share/Scripts/python/LibreLogo %files -f file-lists/gnome_list.txt gnome %files gtk3 %{_libdir}/libreoffice/program/libvclplug_gtk3lo.so %files -f file-lists/sdk_list.txt sdk %dir %{_libdir}/libreoffice/sdk/lib %files -f file-lists/sdk_doc_list.txt sdk-doc %files calc-extensions %{_libdir}/%{name}/share/extensions/nlpsolver %{_libdir}/%{name}/share/extensions/numbertext %files writer-extensions %{_libdir}/%{name}/share/extensions/wiki-publisher %files icon-themes %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/share %dir %{_datadir}/%{name}/share/config %{_datadir}/%{name}/share/config/images_*.zip %files -f file-lists/branding_upstream.txt branding-upstream %changelog