Date: Friday, September 2, 2022 @ 05:59:54
  Author: andyrtr
Revision: 454890

archrelease: copy trunk to staging-x86_64

Added:
  libreoffice-still/repos/staging-x86_64/
  libreoffice-still/repos/staging-x86_64/PKGBUILD
    (from rev 454889, libreoffice-still/trunk/PKGBUILD)
  libreoffice-still/repos/staging-x86_64/firebird-icu70.patch
    (from rev 454889, libreoffice-still/trunk/firebird-icu70.patch)
  libreoffice-still/repos/staging-x86_64/keys/
  libreoffice-still/repos/staging-x86_64/libreoffice-poppler-22.09.0.patch
    (from rev 454889, libreoffice-still/trunk/libreoffice-poppler-22.09.0.patch)
  libreoffice-still/repos/staging-x86_64/libreoffice-still.csh
    (from rev 454889, libreoffice-still/trunk/libreoffice-still.csh)
  libreoffice-still/repos/staging-x86_64/libreoffice-still.sh
    (from rev 454889, libreoffice-still/trunk/libreoffice-still.sh)
  
libreoffice-still/repos/staging-x86_64/make-pyuno-work-with-system-wide-module-install.diff
    (from rev 454889, 
libreoffice-still/trunk/make-pyuno-work-with-system-wide-module-install.diff)
  libreoffice-still/repos/staging-x86_64/soffice-template.desktop.in
    (from rev 454889, libreoffice-still/trunk/soffice-template.desktop.in)

------------------------------------------------------+
 PKGBUILD                                             |  394 ++++++++++++
 firebird-icu70.patch                                 |  553 +++++++++++++++++
 libreoffice-poppler-22.09.0.patch                    |   46 +
 libreoffice-still.csh                                |    7 
 libreoffice-still.sh                                 |    7 
 make-pyuno-work-with-system-wide-module-install.diff |   18 
 soffice-template.desktop.in                          |    7 
 7 files changed, 1032 insertions(+)

Copied: libreoffice-still/repos/staging-x86_64/PKGBUILD (from rev 454889, 
libreoffice-still/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD                             (rev 0)
+++ staging-x86_64/PKGBUILD     2022-09-02 05:59:54 UTC (rev 454890)
@@ -0,0 +1,394 @@
+# Maintainer: AndyRTR <andy...@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrow...@archlinux.org>
+
+# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+# Note: These are for Arch Linux use ONLY. For your own distribution, please
+# get your own set of keys. Feel free to contact foutre...@archlinux.org for
+# more information.
+_google_default_client_id=413772536636.apps.googleusercontent.com
+_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4
+
+pkgbase=libreoffice-still
+pkgname=('libreoffice-still-sdk' 'libreoffice-still')
+_LOver=7.3.5.2
+pkgver=7.3.5
+pkgrel=3
+arch=('x86_64')
+license=('LGPL3')
+url="https://www.libreoffice.org/";
+makedepends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python>=3.7' 'libwpd>=0.9.2' 
'libwps'
+       'neon>=0.28.6' 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib'
+       'libxslt' 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'graphite' 'icu' 
+       'lcms2' 'poppler>=0.24.0' 'libvisio' 'libetonyek' 'libodfgen' 'libcdr'
+       'libmspub' 'harfbuzz-icu' 'nss' 'hicolor-icon-theme'
+       'desktop-file-utils' 'shared-mime-info' 'gst-plugins-base-libs'
+       'sane' 'perl-archive-zip' 'zip' 'unzip' 'unixodbc' 'ant'
+       'gperf' 'gtk3' 'qt5-base' 'plasma-framework' 'cppunit' 'beanshell' 
'clucene'
+       'junit' 'libmythes' 'libwpg'  'java-environment=11' 'postgresql-libs' 
'mariadb-libs' 'libgl'
+       'bluez-libs' 'gdb' 'doxygen'  'libatomic_ops'  'mdds'
+       'apr' 'serf' 'ttf-liberation' 'ttf-dejavu' 'ttf-carlito' 'libxinerama' 
'libpagemaker' 'glm'
+       'libabw' 'libmwaw' 'libe-book' 'coin-or-mp' 'liblangtag' 'liborcus' 
+       'libexttextcat' 'libcmis' 'gobject-introspection' # 'libfbclient'
+       'libtommath' 'libzmf' 'xmlsec' 'rxvt-unicode' 'gpgme' 
+       'libepubgen' 'libfreehand' 'libqxp' 'libstaroffice'  'boost' 
'libnumbertext'
+       'libcuckoo' 'abseil-cpp' 'clang' #'zxing-cpp'
+       'libffi' 'box2d' 'git'
+)
+options=('!lto') # using --enable-lto (for parallel link-time optimization)
+_mirror="https://download.documentfoundation.org/libreoffice/src/${pkgver}";
+#_mirror="https://dev-builds.libreoffice.org/pre-releases/src";
+_additional_source_url="https://dev-www.libreoffice.org/src";
+_additional_source_url2="https://dev-www.libreoffice.org/extern";
+source=(${_mirror}/libreoffice{,-help,-translations}-${_LOver}.tar.xz{,.asc}
+       
${_additional_source_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
+       
${_additional_source_url}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip # 
keep old bundled version, new system version ftbs
+       
${_additional_source_url}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
+       
${_additional_source_url}/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
+       ${_additional_source_url}/language-subtag-registry-2021-03-05.tar.bz2
+       
${_additional_source_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
+       
${_additional_source_url}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
+       
${_additional_source_url}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
+       ${_additional_source_url}/pdfium-4699.tar.bz2
+       ${_additional_source_url}/dtoa-20180411.tgz
+       ${_additional_source_url}/lxml-4.1.1.tgz
+       ${_additional_source_url}/Firebird-3.0.7.33374-0.tar.bz2
+       
${_additional_source_url}/skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz
+       ${_additional_source_url}/zxing-cpp-1.2.0.tar.gz
+       
${_additional_source_url2}/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar
  # for test suite
+       
${_additional_source_url2}/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar
 # for test suite
+       
${_additional_source_url2}/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf
+       
${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll
+       make-pyuno-work-with-system-wide-module-install.diff
+       libreoffice-poppler-22.09.0.patch
+       soffice-template.desktop.in
+       libreoffice-still.sh libreoffice-still.csh)
+noextract=(35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
+           798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
+           a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
+           0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
+           language-subtag-registry-2021-03-05.tar.bz2
+           17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
+           d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
+           ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
+           pdfium-4699.tar.bz2
+           dtoa-20180411.tgz
+           lxml-4.1.1.tgz
+           Firebird-3.0.7.33374-0.tar.bz2
+           skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz
+           zxing-cpp-1.2.0.tar.gz
+           8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar  # 
for test suite
+           
odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar
  # for test suite
+           
f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf
+           185d60944ea767075d27247c3162b3bc-unowinreg.dll
+)
+validpgpkeys=('C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3') # LibreOffice Build 
Team (CODE SIGNING KEY) <bu...@documentfoundation.org>
+sha256sums=('9b3e0db1ee153330ea05f04109bd817dbac2203d2eed83ef54be54d4c741e991'
+            'SKIP'
+            '9571c1953d7297d158dee8849f7e6315b102fb0cafb2280693e6064ef8013ca2'
+            'SKIP'
+            'd2fe9df14d1d7bbf16dd4c7f2fc9331622619d18caadf612d932496f52e146b2'
+            'SKIP'
+            '64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1'
+            '1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753'
+            '75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870'
+            '983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776'
+            'ce80e8face06bf2ada363e0c159e3f990c4116fdae9232ca43e6369aa82bf16a'
+            'd30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370'
+            '1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133'
+            '233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd'
+            'ee80fe0a3b20ef5c5babc494cd655d1b1a0bdec710acb04524789df500c563bf'
+            '0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4'
+            '940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e'
+            'acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76'
+            '97e859e8467eca9d2441cd23079b61c2c3863b5687620f18cc31a9f966740177'
+            '653d9e44195d86cf64a36af9ff3a1978ec5599df3882439fefa56e7064f55e8a'
+            'f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770'
+            '984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504'
+            'f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140'
+            'eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6'
+            'c463654a73ecfbc242ff109726fb4faecdbfb3d91affafe919b24bea65afb563'
+            '95716d255aae9d8795eb76c634541f82a094b87dfeaa6ffcdbd97c0f19c14ac4'
+            'd0be8099cbee3c9dfda694a828149b881c345b204ab68826f317580aafb50879'
+            'cd1b25ff390e436c6bffa65c6e12382236e3ccbf8d3aae51b1b59bcaed79fd8a'
+            'de20f36d45f0fecc2d94176dd3ec7226ab07fa8ffb9b0bc73c200349a9273de1')
+
+prepare() {
+
+       cd libreoffice-$_LOver
+
+        # Workaround to fix build with gpgme 1.18.0
+        export ac_cv_lib_gpgmepp_progress_callback=yes
+
+        # poppler 22.09.0
+        patch -Np1 -i ../libreoffice-poppler-22.09.0.patch
+
+       # move external sources into place
+       mkdir "${srcdir}"/ext_sources && pushd "${srcdir}"/ext_sources
+       for source in "${noextract[@]}"; do
+               ln -s "${srcdir}"/$source .
+       done
+       popd
+       
+       # unowinreg.dll must be a file not a symlink or the result will become 
a broken symlink
+       # /usr/share/libreoffice/sdk/classes/win/unowinreg.dll -> 
/build/libreoffice/src/185d60944ea767075d27247c3162b3bc-unowinreg.dll
+       rm 
"${srcdir}"/ext_sources/185d60944ea767075d27247c3162b3bc-unowinreg.dll
+       cp -f "${srcdir}"/185d60944ea767075d27247c3162b3bc-unowinreg.dll 
"${srcdir}"/ext_sources
+
+       # fix not upstreamable pyuno paths - FS#54250
+       patch -Np1 -i 
"${srcdir}"/make-pyuno-work-with-system-wide-module-install.diff
+
+       #use the CFLAGS but remove the LibO overridden ones
+       for i in $CFLAGS; do
+               case "$i" in
+                       -O?|-pipe|-Wall|-g|-fexceptions) continue;;
+               esac
+               ARCH_FLAGS="$ARCH_FLAGS $i"
+       done
+}
+
+build() {
+       cd libreoffice-$_LOver
+
+       # strip -s from Makeflags in case you use it to shorten build logs
+       _MAKEFLAGS=${MAKEFLAGS/-s/}
+
+       # http://site.icu-project.org/download/61#TOC-Migration-Issues
+       CPPFLAGS+=' -DU_USING_ICU_NAMESPACE=1'
+
+       ./autogen.sh --with-extra-buildid="${pkgver}-${pkgrel}" \
+               --with-vendor="Arch Linux" \
+               --enable-split-app-modules \
+               --with-parallelism=${_MAKEFLAGS/-j/} \
+               --with-external-tar="${srcdir}/ext_sources" \
+               --disable-fetch-external \
+               --enable-release-build \
+               --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc \
+               --libdir=/usr/lib --mandir=/usr/share/man \
+               --with-lang="" \
+               --with-help=html \
+               --disable-avahi \
+               --enable-dbus \
+               --enable-evolution2\
+               --enable-gio\
+               --enable-gtk3-kde5 \
+               --enable-kf5 \
+               --enable-qt5 \
+               --enable-gtk3 \
+               --enable-introspection \
+               --enable-lto \
+               --enable-openssl \
+               --enable-odk\
+               --enable-python=system \
+               --enable-scripting-beanshell \
+               --enable-scripting-javascript \
+               --disable-dconf \
+               --disable-report-builder \
+               --enable-ext-wiki-publisher \
+               --enable-ext-nlpsolver \
+               --without-fonts\
+               --with-system-apr \
+               --with-system-libcdr \
+               --with-system-mdds\
+               --without-myspell-dicts \
+               --with-system-libvisio \
+               --with-system-libcmis \
+               --with-system-libmspub \
+               --with-system-libexttextcat \
+               --with-system-orcus \
+               --with-system-liblangtag \
+               --with-system-libodfgen \
+               --with-system-libmwaw \
+               --with-system-libetonyek \
+               --with-system-libfreehand \
+               --without-system-firebird \
+               --without-system-zxing \
+               --with-system-libtommath \
+               --with-system-libatomic-ops \
+               --with-system-libebook \
+               --with-system-libabw \
+               --with-system-coinmp \
+               --with-system-dicts \
+               --with-external-dict-dir=/usr/share/hunspell \
+               --with-external-hyph-dir=/usr/share/hyphen \
+               --with-external-thes-dir=/usr/share/mythes \
+               --with-system-beanshell \
+               --with-system-cppunit\
+               --with-system-graphite\
+               --with-system-glm \
+               --with-system-libnumbertext \
+               --with-system-libwpg \
+               --with-system-libwps \
+               --with-system-redland\
+               --with-system-libzmf \
+               --with-system-gpgmepp \
+               --with-system-libstaroffice \
+               --with-system-cuckoo \
+               --with-system-serf \
+               --with-jdk-home="/usr/lib/jvm/default" \
+               --with-ant-home="/usr/share/ant"\
+               --with-system-boost\
+               --with-system-icu \
+               --with-system-cairo \
+               --with-system-libs \
+               --with-system-mythes \
+               --with-system-headers \
+               --without-system-hsqldb \
+               --with-system-clucene \
+               --with-gdrive-client-id=${_google_default_client_id} \
+               --with-gdrive-client-secret=${_google_default_client_secret} \
+               --disable-dependency-tracking
+
+       touch src.downloaded
+       make build-nocheck
+
+       mkdir "${srcdir}"/fakeinstall
+       make DESTDIR="${srcdir}"/fakeinstall distro-pack-install
+}
+
+#check() {
+#      cd "${srcdir}"/build
+#      make check
+#}
+
+package_libreoffice-still-sdk() {
+       pkgdesc="Software Development Kit for LibreOffice maintenance branch"
+       depends=('libreoffice-still' 'gcc-libs' 'sh' 'make' 'zip' 'gcc' 
'java-environment')
+       provides=('libreoffice-sdk')
+       conflicts=('libreoffice-fresh-sdk')
+
+       for dir in $(grep -h ^%dir 
libreoffice-$_LOver/file-lists/sdk{,_doc}_list.txt); do
+               install -dm755 "${pkgdir}"/${dir/\%dir/}
+       done
+
+       for file in $(grep -h -v ^%dir 
libreoffice-$_LOver/file-lists/sdk{,_doc}_list.txt); do
+               dirname=$(dirname $file)
+               [[ -d "${pkgdir}"/$dirname ]] || install -dm755 
"${pkgdir}"/$dirname
+               mv "${srcdir}"/fakeinstall/${file} "${pkgdir}"/$file
+       done
+
+       # fix environment path to keep compatibility with other 
java-environments
+       sed -i -e "s:\/usr\/lib\/jvm\/java-7-openjdk:\$J2SDKDIR:" \
+               "${pkgdir}"/usr/lib/libreoffice/sdk/setsdkenv_unix.sh
+
+       # fix permissions
+       find "${pkgdir}"/usr/lib/libreoffice/sdk/examples -type f -exec chmod 
-x {} +
+       
+       # add LibreOfficeKit headers; FS#48066
+       install -dm755 "${pkgdir}"/usr/include/LibreOfficeKit
+       install -v -m644 
"${srcdir}"/libreoffice-$_LOver/include/LibreOfficeKit/* 
"${pkgdir}"/usr/include/LibreOfficeKit
+}
+
+package_libreoffice-still() {
+       pkgdesc="LibreOffice maintenance branch"
+       depends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python>=3.7' 'libwpd>=0.9.2' 
'libwps'
+               'neon>=0.28.6' 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl'
+               'libxslt' 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 
'graphite' 'icu' 
+               'lcms2' 'poppler>=0.24.0' 'libvisio' 'libetonyek' 'libodfgen' 
'libcdr'
+               'libmspub' 'harfbuzz-icu' 'nss' 'clucene' 'hicolor-icon-theme'
+               'desktop-file-utils' 'shared-mime-info' 'libpagemaker'
+               'libxinerama' 'libabw' 'libmwaw' 'libe-book' 'libcups'
+               'liblangtag' 'libexttextcat' 'libcmis' 'liborcus' # 
'libfbclient'
+               'libtommath' 'libzmf' 'libatomic_ops' 'xmlsec' 'libnumbertext' 
'gpgme' 
+               'libfreehand' 'libstaroffice' 'libepubgen' 'libqxp' 'libepoxy' 
'box2d'
+               #'zxing-cpp'
+               'xdg-utils')
+       optdepends=('java-runtime:     adds java support'
+               'java-environment: required by extension-wiki-publisher and 
extension-nlpsolver'
+               'pstoedit:         translates PostScript and PDF graphics into 
other vector formats'
+               'libmythes:        for use in thesaurus'
+               'beanshell:       interactive java -- good for 
prototyping/macros'
+               'libwpg:           library for importing and converting 
WordPerfect Graphics format'
+               'sane:             for scanner access'
+               'unixodbc:         adds ODBC database support'
+               'gst-plugins-base-libs: for multimedia content, e.g. in Impress'
+               'libpaper:         takes care of papersize'
+               'postgresql-libs:  for postgresql-connector'
+               'mariadb-libs:     for mysql-connector'
+               'coin-or-mp:       required by the Calc solver'
+               'gtk3:             for GTK3 integration'
+               'kio:              for KF5 KDE desktop integration')
+       backup=(etc/libreoffice/sofficerc
+               etc/libreoffice/bootstraprc
+               etc/libreoffice/psprint.conf
+               etc/profile.d/libreoffice-still.sh
+               etc/profile.d/libreoffice-still.csh)
+       provides=('libreoffice' 'libreoffice-en-US')
+       conflicts=('libreoffice-fresh')
+
+       mv fakeinstall/* "${pkgdir}"/
+
+       # put configuration files into place
+       install -dm755 "${pkgdir}"/etc/libreoffice
+       install -m644 
"${pkgdir}"/usr/lib/libreoffice/program/{bootstraprc,sofficerc} \
+               "${pkgdir}"/etc/libreoffice/
+       install -m644 
"${pkgdir}"/usr/lib/libreoffice/share/psprint/psprint.conf \
+               "${pkgdir}"/etc/libreoffice/
+
+       # install dummy links to make them found by LibO
+       cd "${pkgdir}"/usr/lib/libreoffice/program/
+       ln -vsf /etc/libreoffice/{bootstraprc,sofficerc} .
+       cd "${pkgdir}"/usr/lib/libreoffice/share/psprint/
+       ln -vsf /etc/libreoffice/psprint.conf .
+
+       # allow to preset desired VLC
+       install -dm755 "${pkgdir}"/etc/profile.d
+       install -m644 "${srcdir}"/libreoffice-still.{sh,csh} 
"${pkgdir}"/etc/profile.d/
+
+       # make pyuno find its modules
+       install -dm755 "${pkgdir}"/usr/lib/python3.10/site-packages
+       ln -svf /usr/lib/libreoffice/program/uno.py \
+               "${pkgdir}"/usr/lib/python3.10/site-packages/uno.py
+       ln -svf /usr/lib/libreoffice/program/unohelper.py \
+               "${pkgdir}"/usr/lib/python3.10/site-packages/unohelper.py
+               
+       # add a symlink required for gnome-documents; FS#51887
+       # 
https://lists.freedesktop.org/archives/libreoffice/2016-March/073787.html
+       ln -svf /usr/lib/libreoffice/program/liblibreofficekitgtk.so \
+               "${pkgdir}"/usr/lib/liblibreofficekitgtk.so  
+
+       # cleanup
+       rm -rf "${pkgdir}"/usr/share/libreoffice/sdk
+
+       # add application descriptions
+       install -dm755 "${pkgdir}"/usr/share/metainfo
+       install -v -m644 
"${srcdir}"/libreoffice-$_LOver/sysui/desktop/appstream-appdata/*.xml \
+               "${pkgdir}"/usr/share/metainfo
+
+       # add kde filemanager templates; FS#61662 - file taken from Debian
+       install -dm755 "${pkgdir}"/usr/share/templates/.source
+       install -v -m644 
"${srcdir}"/libreoffice-$_LOver/extras/source/shellnew/soffice.* \
+               "${pkgdir}"/usr/share/templates/.source
+
+       cat "${srcdir}"/soffice-template.desktop.in \
+                | sed -e "s/@APP@/Writer/" \
+                | sed -e "s/@EXT@/odt/" \
+                | sed -e "s/@TYPE@/text/" \
+                > "${pkgdir}"/usr/share/templates/soffice.odt.desktop
+        cat "${srcdir}"/soffice-template.desktop.in \
+                | sed -e "s/@APP@/Calc/" \
+                | sed -e "s/@EXT@/ods/" \
+                | sed -e "s/@TYPE@/spreadsheet/" \
+                > "${pkgdir}"/usr/share/templates/soffice.ods.desktop
+        cat "${srcdir}"/soffice-template.desktop.in \
+                | sed -e "s/@APP@/Impress/" \
+                | sed -e "s/@EXT@/odp/" \
+                | sed -e "s/@TYPE@/presentation/" \
+                > "${pkgdir}"/usr/share/templates/soffice.odp.desktop
+        cat "${srcdir}"/soffice-template.desktop.in \
+                | sed -e "s/@APP@/Draw/" \
+                | sed -e "s/@EXT@/odg/" \
+                | sed -e "s/@TYPE@/drawing/" \
+                > "${pkgdir}"/usr/share/templates/soffice.odg.desktop
+
+       # make all i18n lang packages with help section ('1') available to
+       # fix "F1" not opening translated offline help opening in browser
+       # see also /usr/lib/libreoffice/help/en-US/langnames.js
+       echo "var languagesSet = new Set(['en-US','am','ar','ast','bg','bn',\
+       'bn-IN','bo','bs','ca','ca-valencia','cs','da','de','dz','el',\
+       'en-GB','en-ZA','eo','es','et','eu','fi','fr','gl','gu','he',\
+       'hi','hr','hu','id','is','it','ja','ka','km','ko','lo','lt','lv',\
+       'mk','nb','ne','nl','nn','om','pl','pt','pt-BR','ro','ru','si',\
+       
'sid','sk','sl','sq','sv','ta','tg','tr','ug','uk','vi','zh-CN','zh-TW'])" \
+               > "${pkgdir}"/usr/lib/libreoffice/help/languages.js
+}
+

Copied: libreoffice-still/repos/staging-x86_64/firebird-icu70.patch (from rev 
454889, libreoffice-still/trunk/firebird-icu70.patch)
===================================================================
--- staging-x86_64/firebird-icu70.patch                         (rev 0)
+++ staging-x86_64/firebird-icu70.patch 2022-09-02 05:59:54 UTC (rev 454890)
@@ -0,0 +1,553 @@
+From 6a63c3bf47aa190138a696a1e524949eeba031c8 Mon Sep 17 00:00:00 2001
+From: Alex Peshkoff <alexander.peshk...@gmail.com>
+Date: Fri, 7 Sep 2018 17:05:42 +0300
+Subject: [PATCH] Backported CORE-5908: Enhance dynamic libraries loading
+ related error messages
+
+---
+ src/common/os/darwin/mod_loader.cpp  | 13 +++++--
+ src/common/os/mod_loader.h           | 14 +++----
+ src/common/os/posix/mod_loader.cpp   | 17 ++++++---
+ src/common/os/win32/mod_loader.cpp   |  9 ++++-
+ src/common/unicode_util.cpp          |  6 +--
+ src/jrd/IntlManager.cpp              |  9 +++--
+ src/jrd/flu.cpp                      |  2 +-
+ src/jrd/fun.epp                      |  2 +-
+ src/plugins/udr_engine/UdrEngine.cpp | 55 +++++++++++++---------------
+ src/remote/remote.cpp                |  2 +-
+ src/yvalve/PluginManager.cpp         | 11 ++++--
+ 11 files changed, 79 insertions(+), 61 deletions(-)
+
+diff --git a/src/common/os/darwin/mod_loader.cpp 
b/src/common/os/darwin/mod_loader.cpp
+index b7b6acac09..1556d02cd6 100644
+--- a/src/common/os/darwin/mod_loader.cpp
++++ b/src/common/os/darwin/mod_loader.cpp
+@@ -87,14 +87,19 @@ void 
ModuleLoader::doctorModuleExtension(Firebird::PathName& name)
+ #define FB_RTLD_MODE RTLD_LAZY
+ #endif
+ 
+-ModuleLoader::Module* ModuleLoader::loadModule(const Firebird::PathName& 
modPath)
++ModuleLoader::Module* ModuleLoader::loadModule(ISC_STATUS* status, const 
Firebird::PathName& modPath)
+ {
+       void* module = dlopen(modPath.c_str(), FB_RTLD_MODE);
+       if (module == NULL)
+       {
+-#ifdef DEBUG_LOADER
+-              fprintf(stderr, "load error: %s: %s\n", modPath.c_str(), 
dlerror());
+-#endif // DEBUG_LOADER
++              if (status)
++              {
++                      status[0] = isc_arg_gds;
++                      status[1] = isc_random;
++                      status[2] = isc_arg_string;
++                      status[3] = (ISC_STATUS) dlerror();
++                      status[4] = isc_arg_end;
++              }
+               return 0;
+       }
+ 
+diff --git a/src/common/os/mod_loader.h b/src/common/os/mod_loader.h
+index b57af4ac9f..069ab23039 100644
+--- a/src/common/os/mod_loader.h
++++ b/src/common/os/mod_loader.h
+@@ -90,11 +90,11 @@ class ModuleLoader
+       /** loadModule is given as a string the path to the module to load.  It
+               attempts to load the module.  If successful it returns the 
ModuleLoader::Module
+               object that represents the loaded module in memory and can be 
used to
+-              perform symbol lookups on the module.  If unsuccessful it 
returns NULL.
+-              It is the callers responsibility to delete the returned module 
object
+-              when it is no longer needed.
++              perform symbol lookups on the module. It is the callers 
responsibility to delete
++              the returned module object when it is no longer needed.
++              If unsuccessful it returns NULL. OS-specific error is returned 
in status parameter.
+       **/
+-      static Module* loadModule(const Firebird::PathName&);
++      static Module* loadModule(ISC_STATUS* status, const 
Firebird::PathName&);
+ 
+       /** doctorModuleExtension modifies the given path name to add the 
platform
+               specific module extention.  This allows the user to provide the 
root name
+@@ -107,14 +107,14 @@ class ModuleLoader
+       /** Almost like loadModule(), but in case of failure invokes 
doctorModuleExtension()
+               and retries.
+       **/
+-      static Module* fixAndLoadModule(const Firebird::PathName& modName)
++      static Module* fixAndLoadModule(ISC_STATUS* status, const 
Firebird::PathName& modName)
+       {
+-              Module* mod = loadModule(modName);
++              Module* mod = loadModule(NULL, modName);
+               if (!mod)
+               {
+                       Firebird::PathName fixed(modName);
+                       doctorModuleExtension(fixed);
+-                      mod = loadModule(fixed);
++                      mod = loadModule(status, fixed);
+               }
+               return mod;
+       }
+diff --git a/src/common/os/posix/mod_loader.cpp 
b/src/common/os/posix/mod_loader.cpp
+index 2b42c59a5c..9c8ba38ddd 100644
+--- a/src/common/os/posix/mod_loader.cpp
++++ b/src/common/os/posix/mod_loader.cpp
+@@ -72,7 +72,9 @@ void ModuleLoader::doctorModuleExtension(Firebird::PathName& 
name)
+       Firebird::PathName::size_type pos = name.rfind("." SHRLIB_EXT);
+       if (pos != name.length() - 3)
+       {
+-              name += "." SHRLIB_EXT;
++              pos = name.rfind("." SHRLIB_EXT ".");
++              if (pos == Firebird::PathName::npos)
++                      name += "." SHRLIB_EXT;
+       }
+       pos = name.rfind('/');
+       pos = (pos == Firebird::PathName::npos) ? 0 : pos + 1;
+@@ -88,14 +90,19 @@ void 
ModuleLoader::doctorModuleExtension(Firebird::PathName& name)
+ #define FB_RTLD_MODE RTLD_LAZY        // save time when loading library
+ #endif
+ 
+-ModuleLoader::Module* ModuleLoader::loadModule(const Firebird::PathName& 
modPath)
++ModuleLoader::Module* ModuleLoader::loadModule(ISC_STATUS* status, const 
Firebird::PathName& modPath)
+ {
+       void* module = dlopen(modPath.nullStr(), FB_RTLD_MODE);
+       if (module == NULL)
+       {
+-#ifdef DEV_BUILD
+-//            gds__log("loadModule failed loading %s: %s", modPath.c_str(), 
dlerror());
+-#endif
++              if (status)
++              {
++                      status[0] = isc_arg_gds;
++                      status[1] = isc_random;
++                      status[2] = isc_arg_string;
++                      status[3] = (ISC_STATUS) dlerror();
++                      status[4] = isc_arg_end;
++              }
+               return 0;
+       }
+ 
+diff --git a/src/common/os/win32/mod_loader.cpp 
b/src/common/os/win32/mod_loader.cpp
+index 909de85026..2ffdbdfbeb 100644
+--- a/src/common/os/win32/mod_loader.cpp
++++ b/src/common/os/win32/mod_loader.cpp
+@@ -191,7 +191,7 @@ void ModuleLoader::doctorModuleExtension(PathName& name)
+       name += ".dll";
+ }
+ 
+-ModuleLoader::Module* ModuleLoader::loadModule(const PathName& modPath)
++ModuleLoader::Module* ModuleLoader::loadModule(ISC_STATUS* status, const 
PathName& modPath)
+ {
+       ContextActivator ctx;
+ 
+@@ -214,6 +214,13 @@ ModuleLoader::Module* ModuleLoader::loadModule(const 
PathName& modPath)
+       if (!module)
+               module = LoadLibraryEx(modPath.c_str(), 0, 
LOAD_WITH_ALTERED_SEARCH_PATH);
+ 
++      if (!module && status)
++      {
++              status[0] = isc_arg_win32;
++              status[1] = GetLastError();
++              status[2] = isc_arg_end;
++      }
++
+       // Restore old mode in case we are embedded into user application
+       SetErrorMode(oldErrorMode);
+ 
+diff --git a/src/common/unicode_util.cpp b/src/common/unicode_util.cpp
+index 1850ea2e96..a33f495910 100644
+--- a/src/common/unicode_util.cpp
++++ b/src/common/unicode_util.cpp
+@@ -233,7 +233,7 @@ class ImplementConversionICU : public 
UnicodeUtil::ConversionICU, BaseICU
+               PathName filename;
+               formatFilename(filename, ucTemplate, aMajorVersion, 
aMinorVersion);
+ 
+-              module = ModuleLoader::fixAndLoadModule(filename);
++              module = ModuleLoader::fixAndLoadModule(NULL, filename);
+               if (!module)
+                       return;
+ 
+@@ -998,7 +998,7 @@ UnicodeUtil::ICU* UnicodeUtil::loadICU(const string& 
icuVersion, const string& c
+ 
+               icu = FB_NEW_POOL(*getDefaultMemoryPool()) ICU(majorVersion, 
minorVersion);
+ 
+-              icu->ucModule = ModuleLoader::fixAndLoadModule(filename);
++              icu->ucModule = ModuleLoader::fixAndLoadModule(NULL, filename);
+ 
+               if (!icu->ucModule)
+               {
+@@ -1009,7 +1009,7 @@ UnicodeUtil::ICU* UnicodeUtil::loadICU(const string& 
icuVersion, const string& c
+ 
+               formatFilename(filename, inTemplate, majorVersion, 
minorVersion);
+ 
+-              icu->inModule = ModuleLoader::fixAndLoadModule(filename);
++              icu->inModule = ModuleLoader::fixAndLoadModule(NULL, filename);
+ 
+               if (!icu->inModule)
+               {
+diff --git a/src/jrd/IntlManager.cpp b/src/jrd/IntlManager.cpp
+index b3e37afb61..4c8368ed22 100644
+--- a/src/jrd/IntlManager.cpp
++++ b/src/jrd/IntlManager.cpp
+@@ -471,15 +471,16 @@ bool IntlManager::initialize()
+                                       ModuleLoader::Module* mod = NULL;
+                                       bool exists = modules->exist(filename);
+ 
++                                      ISC_STATUS_ARRAY status;
+                                       if (!exists)
+                                       {
+-                                              mod = 
ModuleLoader::loadModule(filename);
++                                              mod = 
ModuleLoader::loadModule(status, filename);
+                                               if (!mod)
+                                               {
+                                                       
ModuleLoader::doctorModuleExtension(filename);
+                                                       exists = 
modules->exist(filename);
+                                                       if (!exists)
+-                                                              mod = 
ModuleLoader::loadModule(filename);
++                                                              mod = 
ModuleLoader::loadModule(status, filename);
+                                               }
+                                       }
+ 
+@@ -512,8 +513,8 @@ bool IntlManager::initialize()
+                                               }
+                                               else
+                                               {
+-                                                      gds__log((string("Can't 
load INTL module '") +
+-                                                              
filename.c_str() + "'").c_str());
++                                                      
iscLogStatus((string("Can't load INTL module '") +
++                                                              
filename.c_str() + "'").c_str(), status);
+                                                       ok = false;
+                                               }
+                                       }
+diff --git a/src/jrd/flu.cpp b/src/jrd/flu.cpp
+index c0b9c453a0..e8a5bd7878 100644
+--- a/src/jrd/flu.cpp
++++ b/src/jrd/flu.cpp
+@@ -245,7 +245,7 @@ namespace Jrd
+                                                                               
                                         Arg::Str(initialModule));
+                       }
+ 
+-                      ModuleLoader::Module* mlm = 
ModuleLoader::loadModule(fixedModule);
++                      ModuleLoader::Module* mlm = 
ModuleLoader::loadModule(NULL, fixedModule);
+                       if (mlm)
+                       {
+                               im = FB_NEW_POOL(*getDefaultMemoryPool())
+diff --git a/src/jrd/fun.epp b/src/jrd/fun.epp
+index ca964be72b..44fd5dde67 100644
+--- a/src/jrd/fun.epp
++++ b/src/jrd/fun.epp
+@@ -105,7 +105,7 @@ namespace
+       {
+               ModuleLoader::doctorModuleExtension(libName);
+ 
+-              ModuleLoader::Module* module = 
ModuleLoader::loadModule(libName);
++              ModuleLoader::Module* module = ModuleLoader::loadModule(NULL, 
libName);
+               if (!module)
+               {
+                       message.printf("%s library has not been found", 
libName.c_str());
+diff --git a/src/plugins/udr_engine/UdrEngine.cpp 
b/src/plugins/udr_engine/UdrEngine.cpp
+index 9c64ebee9a..a49ecf4120 100644
+--- a/src/plugins/udr_engine/UdrEngine.cpp
++++ b/src/plugins/udr_engine/UdrEngine.cpp
+@@ -567,47 +567,42 @@ UdrPluginImpl* Engine::loadModule(ThrowStatusWrapper* 
status, IRoutineMetadata*
+               PathName path;
+               PathUtils::concatPath(path, *i, *moduleName);
+ 
+-              ModuleLoader::Module* module = 
ModuleLoader::fixAndLoadModule(path);
+-
+-              if (module)
+-              {
+-                      FB_BOOLEAN* (*entryPoint)(IStatus*, FB_BOOLEAN*, 
IUdrPlugin*);
+-
+-                      if 
(!module->findSymbol(STRINGIZE(FB_UDR_PLUGIN_ENTRY_POINT), entryPoint))
+-                      {
+-                              static const ISC_STATUS statusVector[] = {
+-                                      isc_arg_gds, isc_random,
+-                                      isc_arg_string, (ISC_STATUS) "UDR 
plugin entry point not found",
+-                                      isc_arg_end
+-                              };
++              static ISC_STATUS_ARRAY statusArray = {
++                      isc_arg_gds, isc_random,
++                      isc_arg_string, (ISC_STATUS) "UDR module not loaded",
++                      isc_arg_end
++              };
++              const unsigned ARG_END = 4;
+ 
+-                              throw FbException(status, statusVector);
+-                      }
++              ModuleLoader::Module* module = 
ModuleLoader::fixAndLoadModule(&statusArray[ARG_END], path);
++              if (!module)
++                      throw FbException(status, statusArray);
+ 
+-                      UdrPluginImpl* udrPlugin = FB_NEW 
UdrPluginImpl(*moduleName, module);
+-                      udrPlugin->theirUnloadFlag = entryPoint(status, 
&udrPlugin->myUnloadFlag, udrPlugin);
++              FB_BOOLEAN* (*entryPoint)(IStatus*, FB_BOOLEAN*, IUdrPlugin*);
+ 
+-                      if (status->getState() & IStatus::STATE_ERRORS)
+-                      {
+-                              delete udrPlugin;
+-                              ThrowStatusWrapper::checkException(status);
+-                      }
+-
+-                      modules->put(*moduleName, udrPlugin);
+-
+-                      return udrPlugin;
+-              }
+-              else
++              if (!module->findSymbol(STRINGIZE(FB_UDR_PLUGIN_ENTRY_POINT), 
entryPoint))
+               {
+                       static const ISC_STATUS statusVector[] = {
+                               isc_arg_gds, isc_random,
+-                              isc_arg_string, (ISC_STATUS) "Module not found",
+-                              //// TODO: isc_arg_gds, isc_random, 
isc_arg_string, (ISC_STATUS) moduleName->c_str(),
++                              isc_arg_string, (ISC_STATUS) "UDR plugin entry 
point not found",
+                               isc_arg_end
+                       };
+ 
+                       throw FbException(status, statusVector);
+               }
++
++              UdrPluginImpl* udrPlugin = FB_NEW UdrPluginImpl(*moduleName, 
module);
++              udrPlugin->theirUnloadFlag = entryPoint(status, 
&udrPlugin->myUnloadFlag, udrPlugin);
++
++              if (status->getState() & IStatus::STATE_ERRORS)
++              {
++                      delete udrPlugin;
++                      ThrowStatusWrapper::checkException(status);
++              }
++
++              modules->put(*moduleName, udrPlugin);
++
++              return udrPlugin;
+       }
+ 
+       static const ISC_STATUS statusVector[] = {
+diff --git a/src/remote/remote.cpp b/src/remote/remote.cpp
+index 9b99080c0c..dc2bc0c9bc 100644
+--- a/src/remote/remote.cpp
++++ b/src/remote/remote.cpp
+@@ -1335,7 +1335,7 @@ namespace {
+ #else
+                       const char* name = "libz." SHRLIB_EXT ".1";
+ #endif
+-                      z.reset(ModuleLoader::fixAndLoadModule(name));
++                      z.reset(ModuleLoader::fixAndLoadModule(NULL, name));
+                       if (z)
+                               symbols();
+               }
+diff --git a/src/yvalve/PluginManager.cpp b/src/yvalve/PluginManager.cpp
+index b0067a0c36..2875f62983 100644
+--- a/src/yvalve/PluginManager.cpp
++++ b/src/yvalve/PluginManager.cpp
+@@ -928,24 +928,27 @@ namespace
+       RefPtr<PluginModule> PluginSet::loadModule(const PluginLoadInfo& info)
+       {
+               PathName fixedModuleName(info.curModule);
++              ISC_STATUS_ARRAY statusArray;
+ 
+-              ModuleLoader::Module* module = 
ModuleLoader::loadModule(fixedModuleName);
++              ModuleLoader::Module* module = 
ModuleLoader::loadModule(statusArray, fixedModuleName);
+ 
+               if (!module && !ModuleLoader::isLoadableModule(fixedModuleName))
+               {
+                       ModuleLoader::doctorModuleExtension(fixedModuleName);
+-                      module = ModuleLoader::loadModule(fixedModuleName);
++                      module = ModuleLoader::loadModule(statusArray, 
fixedModuleName);
+               }
+ 
+               if (!module)
+               {
+                       if (ModuleLoader::isLoadableModule(fixedModuleName))
+                       {
+-                              loadError(Arg::Gds(isc_pman_module_bad) << 
fixedModuleName);
++                              loadError(Arg::Gds(isc_pman_module_bad) << 
fixedModuleName <<
++                                      Arg::StatusVector(statusArray));
+                       }
+                       if (info.required)
+                       {
+-                              loadError(Arg::Gds(isc_pman_module_notfound) << 
fixedModuleName);
++                              loadError(Arg::Gds(isc_pman_module_notfound) << 
fixedModuleName <<
++                                      Arg::StatusVector(statusArray));
+                       }
+ 
+                       return RefPtr<PluginModule>(NULL);
+
+From 4df43606a293ff3a9a6883a638b4559375449055 Mon Sep 17 00:00:00 2001
+From: AlexPeshkoff <alexander.peshk...@gmail.com>
+Date: Tue, 18 Sep 2018 10:33:18 +0300
+Subject: [PATCH] Backported CORE-5764: Installation of Firebird 3.0.3 on SLES
+ 12 SP3 fails with "Could not find acceptable ICU library"
+
+---
+ src/common/unicode_util.cpp | 75 +++++++++++++++++--------------------
+ 1 file changed, 34 insertions(+), 41 deletions(-)
+
+diff --git a/src/common/unicode_util.cpp b/src/common/unicode_util.cpp
+index a33f495910..d24eba9432 100644
+--- a/src/common/unicode_util.cpp
++++ b/src/common/unicode_util.cpp
+@@ -50,9 +50,6 @@
+ #     include <unicode/utf_old.h>
+ #endif
+ 
+-// The next major ICU version after 4.8 is 49.
+-#define ICU_NEW_VERSION_MEANING       49
+-
+ 
+ using namespace Firebird;
+ 
+@@ -122,7 +119,7 @@ struct BaseICU
+ 
+ namespace Jrd {
+ 
+-static void formatFilename(PathName& filename, const char* templateName,
++static ModuleLoader::Module* formatAndLoad(const char* templateName,
+       int majorVersion, int minorVersion);
+ 
+ 
+@@ -230,10 +227,7 @@ class ImplementConversionICU : public 
UnicodeUtil::ConversionICU, BaseICU
+       ImplementConversionICU(int aMajorVersion, int aMinorVersion)
+               : BaseICU(aMajorVersion, aMinorVersion)
+       {
+-              PathName filename;
+-              formatFilename(filename, ucTemplate, aMajorVersion, 
aMinorVersion);
+-
+-              module = ModuleLoader::fixAndLoadModule(NULL, filename);
++              module = formatAndLoad(ucTemplate, aMajorVersion, 
aMinorVersion);
+               if (!module)
+                       return;
+ 
+@@ -343,16 +337,27 @@ static const char* const COLL_30_VERSION = "41.128.4.4"; 
// ICU 3.0 collator ver
+ static GlobalPtr<UnicodeUtil::ICUModules> icuModules;
+ 
+ 
+-static void formatFilename(PathName& filename, const char* templateName,
++static ModuleLoader::Module* formatAndLoad(const char* templateName,
+       int majorVersion, int minorVersion)
+ {
+-      string s;
+-      if (majorVersion >= ICU_NEW_VERSION_MEANING)
+-              s.printf("%d", majorVersion);
+-      else
+-              s.printf("%d%d", majorVersion, minorVersion);
++      // ICU has several schemas for placing version into file name
++      const char* patterns[] =
++      {
++              "%d", "%d_%d", "%d%d", NULL
++      };
++
++      PathName s, filename;
++      for (const char** p = patterns; *p; ++p)
++      {
++              s.printf(*p, majorVersion, minorVersion);
++              filename.printf(templateName, s.c_str());
+ 
+-      filename.printf(templateName, s.c_str());
++              ModuleLoader::Module* module = 
ModuleLoader::fixAndLoadModule(NULL, filename);
++              if (module)
++                      return module;
++      }
++
++      return NULL;
+ }
+ 
+ 
+@@ -975,17 +980,14 @@ UnicodeUtil::ICU* UnicodeUtil::loadICU(const string& 
icuVersion, const string& c
+                       continue;
+ 
+               string configVersion;
+-
+-              if (majorVersion >= ICU_NEW_VERSION_MEANING)
++              configVersion.printf("%d.%d", majorVersion, minorVersion);
++              if (version != configVersion)
+               {
+                       minorVersion = 0;
+                       configVersion.printf("%d", majorVersion);
++                      if (version != configVersion)
++                              continue;
+               }
+-              else
+-                      configVersion.printf("%d.%d", majorVersion, 
minorVersion);
+-
+-              if (version != configVersion)
+-                      continue;
+ 
+               ReadLockGuard readGuard(icuModules->lock, 
"UnicodeUtil::loadICU");
+ 
+@@ -993,27 +995,19 @@ UnicodeUtil::ICU* UnicodeUtil::loadICU(const string& 
icuVersion, const string& c
+               if (icuModules->modules.get(version, icu))
+                       return icu;
+ 
+-              PathName filename;
+-              formatFilename(filename, ucTemplate, majorVersion, 
minorVersion);
+-
+               icu = FB_NEW_POOL(*getDefaultMemoryPool()) ICU(majorVersion, 
minorVersion);
+-
+-              icu->ucModule = ModuleLoader::fixAndLoadModule(NULL, filename);
+-
++              icu->ucModule = formatAndLoad(ucTemplate, majorVersion, 
minorVersion);
+               if (!icu->ucModule)
+               {
+-                      gds__log("failed to load module %s", filename.c_str());
++                      gds__log("failed to load UC icu module version %s", 
configVersion.c_str());
+                       delete icu;
+                       continue;
+               }
+ 
+-              formatFilename(filename, inTemplate, majorVersion, 
minorVersion);
+-
+-              icu->inModule = ModuleLoader::fixAndLoadModule(NULL, filename);
+-
++              icu->inModule = formatAndLoad(inTemplate, majorVersion, 
minorVersion);
+               if (!icu->inModule)
+               {
+-                      gds__log("failed to load module %s", filename.c_str());
++                      gds__log("failed to load IN icu module version %s", 
configVersion.c_str());
+                       delete icu;
+                       continue;
+               }
+@@ -1138,26 +1132,25 @@ UnicodeUtil::ConversionICU& 
UnicodeUtil::getConversionICU()
+       LocalStatus ls;
+       CheckStatusWrapper lastError(&ls);
+       string version;
+-      const int majorArray[] = {5, 4, 3, 6, 0};
+ 
+-      for (const int* major = majorArray; *major; ++major)
++      for (int major = 4; major <= 79; ++major)
+       {
+               for (int minor = 20; minor--; ) // from 19 down to 0
+               {
+-                      if ((*major == favMaj) && (minor == favMin))
++                      if ((major == favMaj) && (minor == favMin))
+                       {
+                               continue;
+                       }
+ 
+                       try
+                       {
+-                              if ((convIcu = 
ImplementConversionICU::create(*major, minor)))
++                              if ((convIcu = 
ImplementConversionICU::create(major, minor)))
+                                       return *convIcu;
+                       }
+                       catch (const Exception& ex)
+                       {
+                               ex.stuffException(&lastError);
+-                              version.printf("Error loading ICU library 
version %d.%d", *major, minor);
++                              version.printf("Error loading ICU library 
version %d.%d", major, minor);
+                       }
+               }
+       }
+@@ -1180,7 +1173,7 @@ string UnicodeUtil::getDefaultIcuVersion()
+       string rc;
+       UnicodeUtil::ConversionICU& icu(UnicodeUtil::getConversionICU());
+ 
+-      if (icu.vMajor >= ICU_NEW_VERSION_MEANING)
++      if (icu.vMajor >= 10 && icu.vMinor == 0)
+               rc.printf("%d", icu.vMajor);
+       else
+               rc.printf("%d.%d", icu.vMajor, icu.vMinor);
+@@ -1425,7 +1418,7 @@ USHORT UnicodeUtil::Utf16Collation::stringToKey(USHORT 
srcLen, const USHORT* src
+                               UErrorCode status = U_ZERO_ERROR;
+                               int len = icu->usetGetItem(contractions, i, 
NULL, NULL, str, sizeof(str), &status);
+ 
+-                              if (len > srcLenLong)
++                              if (len > SLONG(srcLenLong))
+                                       len = srcLenLong;
+                               else
+                                       --len;

Copied: 
libreoffice-still/repos/staging-x86_64/libreoffice-poppler-22.09.0.patch (from 
rev 454889, libreoffice-still/trunk/libreoffice-poppler-22.09.0.patch)
===================================================================
--- staging-x86_64/libreoffice-poppler-22.09.0.patch                            
(rev 0)
+++ staging-x86_64/libreoffice-poppler-22.09.0.patch    2022-09-02 05:59:54 UTC 
(rev 454890)
@@ -0,0 +1,46 @@
+https://gerrit.libreoffice.org/c/core/+/139249
+
+From 8bad83bf044661357b02b695e6f53e2e19dea396 Mon Sep 17 00:00:00 2001
+From: Sam James <s...@gentoo.org>
+Date: Fri, 2 Sep 2022 04:31:18 +0100
+Subject: [PATCH] Fix build with Poppler 22.09.0
+
+With Poppler 22.09.0, LO fails to build with:
+```
+/var/tmp/portage/app-office/libreoffice-7.3.5.2/work/libreoffice-7.3.5.2/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx:682:36:
 error: too many arguments to function call, expected single argument 'start', 
have 3 arguments
+    state->getLineDash(&dashArray, &arrayLen, &startOffset);
+    ~~~~~~~~~~~~~~~~~~             ^~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/poppler/GfxState.h:1506:32: note: 'getLineDash' declared here
+    const std::vector<double> &getLineDash(double *start)
+                               ^
+1 error generated.
+```
+
+Poppler changed the getLineDash interface:
+```
+-    void getLineDash(double **dash, int *length, double *start)
++    const std::vector<double> &getLineDash(double *start)
+```
+
+Signed-off-by: Sam James <s...@gentoo.org>
+Change-Id: I29e18f20d7650a7fcac1bc8ab4aaa04aaa2ab8fb
+--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
++++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+@@ -678,8 +678,16 @@ void PDFOutDev::updateLineDash(GfxState *state)
+         return;
+     assert(state);
+ 
+-    double* dashArray; int arrayLen; double startOffset;
++    int arrayLen; double startOffset;
++#if POPPLER_CHECK_VERSION(22, 9, 0)
++    const double* dashArray;
++    const std::vector<double> &dash = state->getLineDash(&startOffset);
++    dashArray = dash.data();
++    arrayLen = dash.size();
++#else
++    double* dashArray;
+     state->getLineDash(&dashArray, &arrayLen, &startOffset);
++#endif
+ 
+     printf( "updateLineDash" );
+     if( arrayLen && dashArray )

Copied: libreoffice-still/repos/staging-x86_64/libreoffice-still.csh (from rev 
454889, libreoffice-still/trunk/libreoffice-still.csh)
===================================================================
--- staging-x86_64/libreoffice-still.csh                                (rev 0)
+++ staging-x86_64/libreoffice-still.csh        2022-09-02 05:59:54 UTC (rev 
454890)
@@ -0,0 +1,7 @@
+# to force a certain look'n feel
+
+#setenv SAL_USE_VCLPLUGIN gen
+#setenv SAL_USE_VCLPLUGIN gtk3_kde5
+#setenv SAL_USE_VCLPLUGIN kf5
+#setenv SAL_USE_VCLPLUGIN qt5
+#setenv SAL_USE_VCLPLUGIN gtk3

Copied: libreoffice-still/repos/staging-x86_64/libreoffice-still.sh (from rev 
454889, libreoffice-still/trunk/libreoffice-still.sh)
===================================================================
--- staging-x86_64/libreoffice-still.sh                         (rev 0)
+++ staging-x86_64/libreoffice-still.sh 2022-09-02 05:59:54 UTC (rev 454890)
@@ -0,0 +1,7 @@
+# to force a certain look'n feel
+
+#export SAL_USE_VCLPLUGIN=gen
+#export SAL_USE_VCLPLUGIN=gtk3_kde5
+#export SAL_USE_VCLPLUGIN=kf5
+#export SAL_USE_VCLPLUGIN=qt5
+#export SAL_USE_VCLPLUGIN=gtk3

Copied: 
libreoffice-still/repos/staging-x86_64/make-pyuno-work-with-system-wide-module-install.diff
 (from rev 454889, 
libreoffice-still/trunk/make-pyuno-work-with-system-wide-module-install.diff)
===================================================================
--- staging-x86_64/make-pyuno-work-with-system-wide-module-install.diff         
                (rev 0)
+++ staging-x86_64/make-pyuno-work-with-system-wide-module-install.diff 
2022-09-02 05:59:54 UTC (rev 454890)
@@ -0,0 +1,18 @@
+--- a/pyuno/source/module/uno.py       2017-05-03 18:46:29.000000000 +0200
++++ b/pyuno/source/module/uno.py.new   2017-06-06 17:11:27.585959637 +0200
+@@ -16,8 +16,14 @@
+ #   except in compliance with the License. You may obtain a copy of
+ #   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ #
+-import pyuno
++
++# Special modification to make uno load on Arch
++import os
+ import sys
++sys.path.append("/usr/lib/libreoffice/program/")
++os.putenv("URE_BOOTSTRAP", 
"vnd.sun.star.pathname:/usr/lib/libreoffice/program/fundamentalrc")
++
++import pyuno
+ import traceback
+ import warnings
+ 

Copied: libreoffice-still/repos/staging-x86_64/soffice-template.desktop.in 
(from rev 454889, libreoffice-still/trunk/soffice-template.desktop.in)
===================================================================
--- staging-x86_64/soffice-template.desktop.in                          (rev 0)
+++ staging-x86_64/soffice-template.desktop.in  2022-09-02 05:59:54 UTC (rev 
454890)
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Name=LibreOffice @APP@  ...
+Comment=Enter LibreOffice @APP@ filename:
+Comment[de]=Name der LibreOffice @APP@-Datei eingeben:
+Type=Link
+URL=.source/soffice.@EXT@
+Icon=libreoffice-oasis-@TYPE@

Reply via email to