[arch-commits] Commit in libreoffice-still/repos/testing-x86_64 (12 files)

Andreas Radke andyrtr at gemini.archlinux.org
Sat Dec 11 17:50:37 UTC 2021


    Date: Saturday, December 11, 2021 @ 17:50:37
  Author: andyrtr
Revision: 431883

archrelease: copy trunk to testing-x86_64

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

------------------------------------------------------+
 PKGBUILD                                             |  792 ++++++------
 firebird-icu70.patch                                 | 1106 ++++++++---------
 libreoffice-still.csh                                |   14 
 libreoffice-still.sh                                 |   14 
 make-pyuno-work-with-system-wide-module-install.diff |   36 
 soffice-template.desktop.in                          |   14 
 6 files changed, 988 insertions(+), 988 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2021-12-11 17:50:23 UTC (rev 431882)
+++ PKGBUILD	2021-12-11 17:50:37 UTC (rev 431883)
@@ -1,396 +0,0 @@
-# Maintainer: AndyRTR <andyrtr at archlinux.org>
-# Maintainer: Bartłomiej Piotrowski <bpiotrowski at 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 foutrelis at 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.1.7.2
-pkgver=7.1.7
-pkgrel=4
-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'
-	'libexttextcat' 'gobject-introspection' # 'libfbclient'
-	'libtommath' 'libzmf' 'gpgme' 'xmlsec' 'rxvt-unicode' 
-	'libepubgen' 'libfreehand' 'libqxp' 'libstaroffice'  'boost' 'libnumbertext'
-	'libffi' 'box2d' 'git'
-)
-
-_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-2019-04-03.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-4306.tar.bz2
-	${_additional_source_url}/dtoa-20180411.tgz
-	${_additional_source_url}/lxml-4.1.1.tgz
-	${_additional_source_url}/Firebird-3.0.0.32483-0.tar.bz2
-	${_additional_source_url}/QR-Code-generator-1.4.0.tar.gz
-	${_additional_source_url}/skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz
-	${_additional_source_url}/libcmis-0.5.2.tar.xz
-	${_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
-	firebird-icu70.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-2019-04-03.tar.bz2
-           17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
-           d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
-           ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
-           pdfium-4306.tar.bz2
-           dtoa-20180411.tgz
-           lxml-4.1.1.tgz
-           Firebird-3.0.0.32483-0.tar.bz2
-           QR-Code-generator-1.4.0.tar.gz
-           skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz
-           libcmis-0.5.2.tar.xz
-           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) <build at documentfoundation.org>
-sha256sums=('4fdf0809d8803388bd13ace2b3457f0a6ab9f9ef7c98d6f46cc640fffc5e94ba'
-            'SKIP'
-            '8c016b3b847238d84f1f71f9416d122fc21de776c1bc9ec063148db4b846e2b4'
-            'SKIP'
-            '83cb249b4d91e67472174f596cbf6426a33146a690d007e995eb432b70008209'
-            'SKIP'
-            '64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1'
-            '1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753'
-            '75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870'
-            '983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776'
-            'a1d7fb901764bb8f251d4f686cdf565764f9987d0fb5d9315d54a7366a84822d'
-            'd30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370'
-            '1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133'
-            '233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd'
-            'eca406d47ac7e2a84dcc86f93c08f96e591d409589e881477fa75e488e4851d8'
-            '0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4'
-            '940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e'
-            '6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860'
-            'fcdf9fd69fde07ae4dca2351d84271a9de8093002f733b77c70f52f1630f6e4a'
-            'f293656a15342a53bb407b932fc907c6894178a162f09728bd383e24d84b1301'
-            'd7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2'
-            'f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770'
-            '984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504'
-            'f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140'
-            'eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6'
-            'c463654a73ecfbc242ff109726fb4faecdbfb3d91affafe919b24bea65afb563'
-            '32b0546103408117e5b85ee5081db69fb1d09ef6df4aa0aa06f9781e95951fa2'
-            'd0be8099cbee3c9dfda694a828149b881c345b204ab68826f317580aafb50879'
-            'cd1b25ff390e436c6bffa65c6e12382236e3ccbf8d3aae51b1b59bcaed79fd8a'
-            'de20f36d45f0fecc2d94176dd3ec7226ab07fa8ffb9b0bc73c200349a9273de1')
-
-prepare() {
-
-	cd libreoffice-$_LOver
-
-	# 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
-
-        # fix "Could not find acceptable ICU library" with ICU 70.1
-        pushd "${srcdir}"/ext_sources
-        tar xf Firebird-3.0.0.32483-0.tar.bz2
-        patch -Np1 -d Firebird-3.0.0.32483-0 -i "${srcdir}"/firebird-icu70.patch
-        rm Firebird-3.0.0.32483-0.tar.bz2
-        tar cjf Firebird-3.0.0.32483-0{.tar.bz2,}
-        popd
-
-	#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-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 \
-		--without-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-qrcodegen \
-		--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-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'
-		'liblangtag' 'libexttextcat' 'liborcus' # 'libfbclient'
-		'libtommath' 'libzmf' 'libatomic_ops' 'xmlsec' 'gpgme' 'libnumbertext'
-		'libfreehand' 'libstaroffice' 'libepubgen' 'libqxp' 'libepoxy' 'box2d'
-		'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/testing-x86_64/PKGBUILD (from rev 431882, libreoffice-still/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2021-12-11 17:50:37 UTC (rev 431883)
@@ -0,0 +1,396 @@
+# Maintainer: AndyRTR <andyrtr at archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski at 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 foutrelis at 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.1.8.1
+pkgver=7.1.8
+pkgrel=2
+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'
+	'libexttextcat' 'gobject-introspection' # 'libfbclient'
+	'libtommath' 'libzmf' 'gpgme' 'xmlsec' 'rxvt-unicode' 
+	'libepubgen' 'libfreehand' 'libqxp' 'libstaroffice'  'boost' 'libnumbertext'
+	'libffi' 'box2d' 'git'
+)
+
+_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-2019-04-03.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-4306.tar.bz2
+	${_additional_source_url}/dtoa-20180411.tgz
+	${_additional_source_url}/lxml-4.1.1.tgz
+	${_additional_source_url}/Firebird-3.0.0.32483-0.tar.bz2
+	${_additional_source_url}/QR-Code-generator-1.4.0.tar.gz
+	${_additional_source_url}/skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz
+	${_additional_source_url}/libcmis-0.5.2.tar.xz
+	${_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
+	firebird-icu70.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-2019-04-03.tar.bz2
+           17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
+           d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
+           ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
+           pdfium-4306.tar.bz2
+           dtoa-20180411.tgz
+           lxml-4.1.1.tgz
+           Firebird-3.0.0.32483-0.tar.bz2
+           QR-Code-generator-1.4.0.tar.gz
+           skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz
+           libcmis-0.5.2.tar.xz
+           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) <build at documentfoundation.org>
+sha256sums=('4c6711dbf4d24093a3abb1b5bd749ae0c68403a7c6f79ac75597e78e88aa7893'
+            'SKIP'
+            'b6bda19827914727edd3735f93c69f49abab095e8325262ec4aa3818f2bf22de'
+            'SKIP'
+            '8f2e5d5332821016224d787a741c2075f5b53a4e65d620c6c8bd7789c4075843'
+            'SKIP'
+            '64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1'
+            '1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753'
+            '75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870'
+            '983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776'
+            'a1d7fb901764bb8f251d4f686cdf565764f9987d0fb5d9315d54a7366a84822d'
+            'd30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370'
+            '1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133'
+            '233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd'
+            'eca406d47ac7e2a84dcc86f93c08f96e591d409589e881477fa75e488e4851d8'
+            '0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4'
+            '940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e'
+            '6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860'
+            'fcdf9fd69fde07ae4dca2351d84271a9de8093002f733b77c70f52f1630f6e4a'
+            'f293656a15342a53bb407b932fc907c6894178a162f09728bd383e24d84b1301'
+            'd7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2'
+            'f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770'
+            '984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504'
+            'f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140'
+            'eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6'
+            'c463654a73ecfbc242ff109726fb4faecdbfb3d91affafe919b24bea65afb563'
+            '32b0546103408117e5b85ee5081db69fb1d09ef6df4aa0aa06f9781e95951fa2'
+            'd0be8099cbee3c9dfda694a828149b881c345b204ab68826f317580aafb50879'
+            'cd1b25ff390e436c6bffa65c6e12382236e3ccbf8d3aae51b1b59bcaed79fd8a'
+            'de20f36d45f0fecc2d94176dd3ec7226ab07fa8ffb9b0bc73c200349a9273de1')
+
+prepare() {
+
+	cd libreoffice-$_LOver
+
+	# 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
+
+        # fix "Could not find acceptable ICU library" with ICU 70.1
+        pushd "${srcdir}"/ext_sources
+        tar xf Firebird-3.0.0.32483-0.tar.bz2
+        patch -Np1 -d Firebird-3.0.0.32483-0 -i "${srcdir}"/firebird-icu70.patch
+        rm Firebird-3.0.0.32483-0.tar.bz2
+        tar cjf Firebird-3.0.0.32483-0{.tar.bz2,}
+        popd
+
+	#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-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 \
+		--without-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-qrcodegen \
+		--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-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'
+		'liblangtag' 'libexttextcat' 'liborcus' # 'libfbclient'
+		'libtommath' 'libzmf' 'libatomic_ops' 'xmlsec' 'gpgme' 'libnumbertext'
+		'libfreehand' 'libstaroffice' 'libepubgen' 'libqxp' 'libepoxy' 'box2d'
+		'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
+}

Deleted: firebird-icu70.patch
===================================================================
--- firebird-icu70.patch	2021-12-11 17:50:23 UTC (rev 431882)
+++ firebird-icu70.patch	2021-12-11 17:50:37 UTC (rev 431883)
@@ -1,553 +0,0 @@
-From 6a63c3bf47aa190138a696a1e524949eeba031c8 Mon Sep 17 00:00:00 2001
-From: Alex Peshkoff <alexander.peshkoff at 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.peshkoff at 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/testing-x86_64/firebird-icu70.patch (from rev 431882, libreoffice-still/trunk/firebird-icu70.patch)
===================================================================
--- firebird-icu70.patch	                        (rev 0)
+++ firebird-icu70.patch	2021-12-11 17:50:37 UTC (rev 431883)
@@ -0,0 +1,553 @@
+From 6a63c3bf47aa190138a696a1e524949eeba031c8 Mon Sep 17 00:00:00 2001
+From: Alex Peshkoff <alexander.peshkoff at 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.peshkoff at 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;

Deleted: libreoffice-still.csh
===================================================================
--- libreoffice-still.csh	2021-12-11 17:50:23 UTC (rev 431882)
+++ libreoffice-still.csh	2021-12-11 17:50:37 UTC (rev 431883)
@@ -1,7 +0,0 @@
-# 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/testing-x86_64/libreoffice-still.csh (from rev 431882, libreoffice-still/trunk/libreoffice-still.csh)
===================================================================
--- libreoffice-still.csh	                        (rev 0)
+++ libreoffice-still.csh	2021-12-11 17:50:37 UTC (rev 431883)
@@ -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

Deleted: libreoffice-still.sh
===================================================================
--- libreoffice-still.sh	2021-12-11 17:50:23 UTC (rev 431882)
+++ libreoffice-still.sh	2021-12-11 17:50:37 UTC (rev 431883)
@@ -1,7 +0,0 @@
-# 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/testing-x86_64/libreoffice-still.sh (from rev 431882, libreoffice-still/trunk/libreoffice-still.sh)
===================================================================
--- libreoffice-still.sh	                        (rev 0)
+++ libreoffice-still.sh	2021-12-11 17:50:37 UTC (rev 431883)
@@ -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

Deleted: make-pyuno-work-with-system-wide-module-install.diff
===================================================================
--- make-pyuno-work-with-system-wide-module-install.diff	2021-12-11 17:50:23 UTC (rev 431882)
+++ make-pyuno-work-with-system-wide-module-install.diff	2021-12-11 17:50:37 UTC (rev 431883)
@@ -1,18 +0,0 @@
---- 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/testing-x86_64/make-pyuno-work-with-system-wide-module-install.diff (from rev 431882, libreoffice-still/trunk/make-pyuno-work-with-system-wide-module-install.diff)
===================================================================
--- make-pyuno-work-with-system-wide-module-install.diff	                        (rev 0)
+++ make-pyuno-work-with-system-wide-module-install.diff	2021-12-11 17:50:37 UTC (rev 431883)
@@ -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
+ 

Deleted: soffice-template.desktop.in
===================================================================
--- soffice-template.desktop.in	2021-12-11 17:50:23 UTC (rev 431882)
+++ soffice-template.desktop.in	2021-12-11 17:50:37 UTC (rev 431883)
@@ -1,7 +0,0 @@
-[Desktop Entry]
-Name=LibreOffice @APP@  ...
-Comment=Enter LibreOffice @APP@ filename:
-Comment[de]=Name der LibreOffice @APP at -Datei eingeben:
-Type=Link
-URL=.source/soffice. at EXT@
-Icon=libreoffice-oasis- at TYPE@

Copied: libreoffice-still/repos/testing-x86_64/soffice-template.desktop.in (from rev 431882, libreoffice-still/trunk/soffice-template.desktop.in)
===================================================================
--- soffice-template.desktop.in	                        (rev 0)
+++ soffice-template.desktop.in	2021-12-11 17:50:37 UTC (rev 431883)
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Name=LibreOffice @APP@  ...
+Comment=Enter LibreOffice @APP@ filename:
+Comment[de]=Name der LibreOffice @APP at -Datei eingeben:
+Type=Link
+URL=.source/soffice. at EXT@
+Icon=libreoffice-oasis- at TYPE@



More information about the arch-commits mailing list