Date: Thursday, May 11, 2023 @ 18:08:29
Author: andyrtr
Revision: 477624
archrelease: copy trunk to extra-x86_64
Added:
libreoffice-still/repos/extra-x86_64/0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch
(from rev 477623,
libreoffice-still/trunk/0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch)
libreoffice-still/repos/extra-x86_64/PKGBUILD
(from rev 477623, libreoffice-still/trunk/PKGBUILD)
libreoffice-still/repos/extra-x86_64/firebird-icu70.patch
(from rev 477623, libreoffice-still/trunk/firebird-icu70.patch)
libreoffice-still/repos/extra-x86_64/keys/
libreoffice-still/repos/extra-x86_64/libreoffice-still.csh
(from rev 477623, libreoffice-still/trunk/libreoffice-still.csh)
libreoffice-still/repos/extra-x86_64/libreoffice-still.sh
(from rev 477623, libreoffice-still/trunk/libreoffice-still.sh)
libreoffice-still/repos/extra-x86_64/make-pyuno-work-with-system-wide-module-install.diff
(from rev 477623,
libreoffice-still/trunk/make-pyuno-work-with-system-wide-module-install.diff)
libreoffice-still/repos/extra-x86_64/soffice-template.desktop.in
(from rev 477623, libreoffice-still/trunk/soffice-template.desktop.in)
Deleted:
libreoffice-still/repos/extra-x86_64/0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch
libreoffice-still/repos/extra-x86_64/PKGBUILD
libreoffice-still/repos/extra-x86_64/firebird-icu70.patch
libreoffice-still/repos/extra-x86_64/keys/
libreoffice-still/repos/extra-x86_64/libreoffice-still.csh
libreoffice-still/repos/extra-x86_64/libreoffice-still.sh
libreoffice-still/repos/extra-x86_64/make-pyuno-work-with-system-wide-module-install.diff
libreoffice-still/repos/extra-x86_64/soffice-template.desktop.in
-------------------------------------------------------------+
0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch | 118 -
PKGBUILD | 820 +++----
firebird-icu70.patch | 1106 +++++-----
libreoffice-still.csh | 18
libreoffice-still.sh | 18
make-pyuno-work-with-system-wide-module-install.diff | 36
soffice-template.desktop.in | 14
7 files changed, 1065 insertions(+), 1065 deletions(-)
Deleted: 0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch
===================================================================
--- 0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch 2023-05-11
18:08:08 UTC (rev 477623)
+++ 0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch 2023-05-11
18:08:29 UTC (rev 477624)
@@ -1,59 +0,0 @@
-From 15e5d86cc55ad94ac946e04d5e25b84be5810970 Mon Sep 17 00:00:00 2001
-From: "Brett T. Warden" <[email protected]>
-Date: Fri, 30 Dec 2022 08:43:25 +0100
-Subject: Remove dependency on BitArray.h from zxing-1.2.0
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-In zxing-1.4.0, numerous headers are no longer public. Rework the
-ConvertToSVGFormat method so it uses bitmatrix.get instead of
-bitmatrix.getRow, similar to the ToSVG method in zxing itself.
-
-See https://github.com/zxing-cpp/zxing-cpp/issues/361
-
-Change-Id: Ie25eb8f782e8799fbd57c24ef79bba92acf0f9ff
-Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144874
-Tested-by: René Engelhard <[email protected]>
-Reviewed-by: René Engelhard <[email protected]>
-Tested-by: Jenkins
-Reviewed-by: Caolán McNamara <[email protected]>
----
- cui/source/dialogs/QrCodeGenDialog.cxx | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
-diff --git a/cui/source/dialogs/QrCodeGenDialog.cxx
b/cui/source/dialogs/QrCodeGenDialog.cxx
-index f8cbac1d758d..817be7f21ede 100644
---- a/cui/source/dialogs/QrCodeGenDialog.cxx
-+++ b/cui/source/dialogs/QrCodeGenDialog.cxx
-@@ -27,7 +27,6 @@
- #endif
-
- #include <BarcodeFormat.h>
--#include <BitArray.h>
- #include <BitMatrix.h>
- #include <MultiFormatWriter.h>
- #include <TextUtfEncoding.h>
-@@ -79,7 +78,6 @@ OString ConvertToSVGFormat(const ZXing::BitMatrix& bitmatrix)
- OStringBuffer sb;
- const int width = bitmatrix.width();
- const int height = bitmatrix.height();
-- ZXing::BitArray row(width);
- sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
- "<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\"
viewBox=\"0 0 "
- + OString::number(width) + " " + OString::number(height)
-@@ -87,10 +85,9 @@ OString ConvertToSVGFormat(const ZXing::BitMatrix&
bitmatrix)
- "<path d=\"");
- for (int i = 0; i < height; ++i)
- {
-- bitmatrix.getRow(i, row);
- for (int j = 0; j < width; ++j)
- {
-- if (row.get(j))
-+ if (bitmatrix.get(j, i))
- {
- sb.append("M" + OString::number(j) + "," + OString::number(i)
+ "h1v1h-1z");
- }
---
-cgit v1.2.1
-
Copied:
libreoffice-still/repos/extra-x86_64/0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch
(from rev 477623,
libreoffice-still/trunk/0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch)
===================================================================
--- 0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch
(rev 0)
+++ 0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch 2023-05-11
18:08:29 UTC (rev 477624)
@@ -0,0 +1,59 @@
+From 15e5d86cc55ad94ac946e04d5e25b84be5810970 Mon Sep 17 00:00:00 2001
+From: "Brett T. Warden" <[email protected]>
+Date: Fri, 30 Dec 2022 08:43:25 +0100
+Subject: Remove dependency on BitArray.h from zxing-1.2.0
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+In zxing-1.4.0, numerous headers are no longer public. Rework the
+ConvertToSVGFormat method so it uses bitmatrix.get instead of
+bitmatrix.getRow, similar to the ToSVG method in zxing itself.
+
+See https://github.com/zxing-cpp/zxing-cpp/issues/361
+
+Change-Id: Ie25eb8f782e8799fbd57c24ef79bba92acf0f9ff
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144874
+Tested-by: René Engelhard <[email protected]>
+Reviewed-by: René Engelhard <[email protected]>
+Tested-by: Jenkins
+Reviewed-by: Caolán McNamara <[email protected]>
+---
+ cui/source/dialogs/QrCodeGenDialog.cxx | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/cui/source/dialogs/QrCodeGenDialog.cxx
b/cui/source/dialogs/QrCodeGenDialog.cxx
+index f8cbac1d758d..817be7f21ede 100644
+--- a/cui/source/dialogs/QrCodeGenDialog.cxx
++++ b/cui/source/dialogs/QrCodeGenDialog.cxx
+@@ -27,7 +27,6 @@
+ #endif
+
+ #include <BarcodeFormat.h>
+-#include <BitArray.h>
+ #include <BitMatrix.h>
+ #include <MultiFormatWriter.h>
+ #include <TextUtfEncoding.h>
+@@ -79,7 +78,6 @@ OString ConvertToSVGFormat(const ZXing::BitMatrix& bitmatrix)
+ OStringBuffer sb;
+ const int width = bitmatrix.width();
+ const int height = bitmatrix.height();
+- ZXing::BitArray row(width);
+ sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ "<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\"
viewBox=\"0 0 "
+ + OString::number(width) + " " + OString::number(height)
+@@ -87,10 +85,9 @@ OString ConvertToSVGFormat(const ZXing::BitMatrix&
bitmatrix)
+ "<path d=\"");
+ for (int i = 0; i < height; ++i)
+ {
+- bitmatrix.getRow(i, row);
+ for (int j = 0; j < width; ++j)
+ {
+- if (row.get(j))
++ if (bitmatrix.get(j, i))
+ {
+ sb.append("M" + OString::number(j) + "," + OString::number(i)
+ "h1v1h-1z");
+ }
+--
+cgit v1.2.1
+
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2023-05-11 18:08:08 UTC (rev 477623)
+++ PKGBUILD 2023-05-11 18:08:29 UTC (rev 477624)
@@ -1,410 +0,0 @@
-# Maintainer: AndyRTR <[email protected]>
-# Contributor: Bartłomiej Piotrowski <[email protected]>
-
-# 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 [email protected] 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.4.6.2
-pkgver=7.4.6
-pkgrel=2
-arch=('x86_64')
-license=('LGPL3')
-url="https://www.libreoffice.org/"
-makedepends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python' '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' 'gtk4' 'qt5-base' 'plasma-framework' 'qt6-base'
'cppunit' 'beanshell' 'clucene'
- 'junit' 'libmythes' 'libwpg' 'java-environment=11' 'postgresql-libs'
'mariadb-libs' 'libgl'
- 'bluez-libs' 'gdb' 'doxygen' 'libatomic_ops' 'mdds'
- 'ttf-liberation' 'ttf-dejavu' 'ttf-carlito' 'libxinerama'
'libpagemaker' 'glm'
- 'libabw' 'libmwaw' 'libe-book' 'coin-or-mp' 'liblangtag' 'liborcus'
- 'libexttextcat' 'gobject-introspection' # 'libfbclient' 'libcmis'
- 'libtommath' 'libzmf' 'xmlsec' 'rxvt-unicode' 'gpgme' 'libwebp'
- 'libepubgen' 'libfreehand' 'libqxp' 'libstaroffice' 'boost'
'libnumbertext'
- '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-5058.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-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz
- ${_additional_source_url}/libcmis-0.5.2.tar.xz
- ${_additional_source_url}/dragonbox-1.1.3.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
-
libreoffice-boost-1.81.0-locale.patch::https://github.com/LibreOffice/core/commit/23dcd4339428.patch
- make-pyuno-work-with-system-wide-module-install.diff
- 0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.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-5058.tar.bz2
- dtoa-20180411.tgz
- lxml-4.1.1.tgz
- Firebird-3.0.7.33374-0.tar.bz2
- skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz
- libcmis-0.5.2.tar.xz
- dragonbox-1.1.3.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) <[email protected]>
-sha256sums=('1873ae8986f0c3f0d22bf0e94aa01a07f8e0a6929a72319260838fa869e62093'
- 'SKIP'
- 'a34267c9b86630566171b4eb59196527e27dfad7146c52dc6dfb729a01024fd1'
- 'SKIP'
- '112e2bf4f93b0d87854cf83c88f5d03fce12a469fac7c1b5d0f7ecd564158b13'
- 'SKIP'
- '64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1'
- '1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753'
- '75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870'
- '983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776'
- 'ce80e8face06bf2ada363e0c159e3f990c4116fdae9232ca43e6369aa82bf16a'
- 'd30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370'
- '1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133'
- '233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd'
- 'eaf4ce9fad32b5d951c524139df23119b66c67720057defb97acab2dfb2582ac'
- '0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4'
- '940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e'
- 'acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76'
- 'c094a6247e44104beaaa0d00c825beb6baf1a8e532dc22214747495317a65bd9'
- 'd7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2'
- '09d63b05e9c594ec423778ab59b7a5aa1d76fdd71d25c7048b0258c4ec9c3384'
- 'f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770'
- '984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504'
- 'f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140'
- 'eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6'
- '9754c1c9025dd34b010b3e9c9c39ef2f850331e486b5d0adbf5c86f554259b04'
- 'c463654a73ecfbc242ff109726fb4faecdbfb3d91affafe919b24bea65afb563'
- 'fa0073dee8fc0519b84ed6af6fa9769b88abb24e694c314344c4606478101547'
- 'd0be8099cbee3c9dfda694a828149b881c345b204ab68826f317580aafb50879'
- 'b43ed267643fc5ced803dca010427b12b1f10db485173ccb19efb3395e60c82e'
- '66f2cb5d2ff9909ee9633aea73d5306fc8c4ff358fa526f45d9994210d3e23ff')
-
-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
-
- # https://gerrit.libreoffice.org/c/core/+/143343
- patch -Np1 -i "${srcdir}"/libreoffice-boost-1.81.0-locale.patch
-
- # fix not upstreamable pyuno paths - FS#54250
- patch -Np1 -i
"${srcdir}"/make-pyuno-work-with-system-wide-module-install.diff
-
- # allow build with recent syytem xzing
- patch -Np1 -i
"${srcdir}"/0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch
-
- #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/}
-
- # Build only minimal debug info to reduce size (~1.2GB -> ~225MB)
- CFLAGS=${CFLAGS/-g /-g1 }
- CXXFLAGS=${CXXFLAGS/-g /-g1 }
-
- # http://site.icu-project.org/download/61#TOC-Migration-Issues
- CPPFLAGS+=' -DU_USING_ICU_NAMESPACE=1'
-
- # fix build with qt6 expecting libexec path
- export qt6_libexec_dirs="/usr/lib/qt6"
-
- ./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-qt6 \
- --enable-gtk3 \
- --enable-gtk4 \
- --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-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 \
- --with-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-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 \
- --without-system-dragonbox \
- --without-system-libfixmath \
- --with-gdrive-client-id=${_google_default_client_id} \
- --with-gdrive-client-secret=${_google_default_client_secret} \
- --disable-dependency-tracking
-
- touch src.downloaded
- make build
-
- 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' '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' 'liborcus' 'libwebp' #
'libfbclient' 'libcmis'
- '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'
- 'gtk4: for GTK4 integration (experimental)'
- 'kio: for KF5 KDE desktop integration'
- 'qt6-base: for QT6 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
- local site_packages=$(python -c "import site;
print(site.getsitepackages()[0])")
-
- install -dm755 "${pkgdir}"/$site_packages
- ln -svf /usr/lib/libreoffice/program/uno.py \
- "${pkgdir}"/$site_packages/uno.py
- ln -svf /usr/lib/libreoffice/program/unohelper.py \
- "${pkgdir}"/$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/extra-x86_64/PKGBUILD (from rev 477623,
libreoffice-still/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2023-05-11 18:08:29 UTC (rev 477624)
@@ -0,0 +1,410 @@
+# Maintainer: AndyRTR <[email protected]>
+# Contributor: Bartłomiej Piotrowski <[email protected]>
+
+# 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 [email protected] 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.4.7.2
+pkgver=7.4.7
+pkgrel=1
+arch=('x86_64')
+license=('LGPL3')
+url="https://www.libreoffice.org/"
+makedepends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python' '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' 'gtk4' 'qt5-base' 'plasma-framework' 'qt6-base'
'cppunit' 'beanshell' 'clucene'
+ 'junit' 'libmythes' 'libwpg' 'java-environment=11' 'postgresql-libs'
'mariadb-libs' 'libgl'
+ 'bluez-libs' 'gdb' 'doxygen' 'libatomic_ops' 'mdds'
+ 'ttf-liberation' 'ttf-dejavu' 'ttf-carlito' 'libxinerama'
'libpagemaker' 'glm'
+ 'libabw' 'libmwaw' 'libe-book' 'coin-or-mp' 'liblangtag' 'liborcus'
+ 'libexttextcat' 'gobject-introspection' # 'libfbclient' 'libcmis'
+ 'libtommath' 'libzmf' 'xmlsec' 'rxvt-unicode' 'gpgme' 'libwebp'
+ 'libepubgen' 'libfreehand' 'libqxp' 'libstaroffice' 'boost'
'libnumbertext'
+ '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-5058.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-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz
+ ${_additional_source_url}/libcmis-0.5.2.tar.xz
+ ${_additional_source_url}/dragonbox-1.1.3.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
+
libreoffice-boost-1.81.0-locale.patch::https://github.com/LibreOffice/core/commit/23dcd4339428.patch
+ make-pyuno-work-with-system-wide-module-install.diff
+ 0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.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-5058.tar.bz2
+ dtoa-20180411.tgz
+ lxml-4.1.1.tgz
+ Firebird-3.0.7.33374-0.tar.bz2
+ skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz
+ libcmis-0.5.2.tar.xz
+ dragonbox-1.1.3.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) <[email protected]>
+sha256sums=('743d91f2a138a678380fa7a8ecb5b2401d994b067b330750f03ad8f523a2fb20'
+ 'SKIP'
+ 'bdc416137981671dac050f4acd387acccef6efb98af6dc1fbf21124f34e2208f'
+ 'SKIP'
+ 'ef079ad040a59afc1c3ef8100c66a090e17b78156f613652702104a62add5e71'
+ 'SKIP'
+ '64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1'
+ '1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753'
+ '75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870'
+ '983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776'
+ 'ce80e8face06bf2ada363e0c159e3f990c4116fdae9232ca43e6369aa82bf16a'
+ 'd30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370'
+ '1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133'
+ '233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd'
+ 'eaf4ce9fad32b5d951c524139df23119b66c67720057defb97acab2dfb2582ac'
+ '0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4'
+ '940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e'
+ 'acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76'
+ 'c094a6247e44104beaaa0d00c825beb6baf1a8e532dc22214747495317a65bd9'
+ 'd7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2'
+ '09d63b05e9c594ec423778ab59b7a5aa1d76fdd71d25c7048b0258c4ec9c3384'
+ 'f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770'
+ '984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504'
+ 'f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140'
+ 'eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6'
+ '9754c1c9025dd34b010b3e9c9c39ef2f850331e486b5d0adbf5c86f554259b04'
+ 'c463654a73ecfbc242ff109726fb4faecdbfb3d91affafe919b24bea65afb563'
+ 'fa0073dee8fc0519b84ed6af6fa9769b88abb24e694c314344c4606478101547'
+ 'd0be8099cbee3c9dfda694a828149b881c345b204ab68826f317580aafb50879'
+ 'b43ed267643fc5ced803dca010427b12b1f10db485173ccb19efb3395e60c82e'
+ '66f2cb5d2ff9909ee9633aea73d5306fc8c4ff358fa526f45d9994210d3e23ff')
+
+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
+
+ # https://gerrit.libreoffice.org/c/core/+/143343
+ patch -Np1 -i "${srcdir}"/libreoffice-boost-1.81.0-locale.patch
+
+ # fix not upstreamable pyuno paths - FS#54250
+ patch -Np1 -i
"${srcdir}"/make-pyuno-work-with-system-wide-module-install.diff
+
+ # allow build with recent syytem xzing
+ patch -Np1 -i
"${srcdir}"/0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch
+
+ #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/}
+
+ # Build only minimal debug info to reduce size (~1.2GB -> ~225MB)
+ CFLAGS=${CFLAGS/-g /-g1 }
+ CXXFLAGS=${CXXFLAGS/-g /-g1 }
+
+ # http://site.icu-project.org/download/61#TOC-Migration-Issues
+ CPPFLAGS+=' -DU_USING_ICU_NAMESPACE=1'
+
+ # fix build with qt6 expecting libexec path
+ export qt6_libexec_dirs="/usr/lib/qt6"
+
+ ./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-qt6 \
+ --enable-gtk3 \
+ --enable-gtk4 \
+ --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-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 \
+ --with-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-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 \
+ --without-system-dragonbox \
+ --without-system-libfixmath \
+ --with-gdrive-client-id=${_google_default_client_id} \
+ --with-gdrive-client-secret=${_google_default_client_secret} \
+ --disable-dependency-tracking
+
+ touch src.downloaded
+ make build
+
+ 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' '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' 'liborcus' 'libwebp' #
'libfbclient' 'libcmis'
+ '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'
+ 'gtk4: for GTK4 integration (experimental)'
+ 'kio: for KF5 KDE desktop integration'
+ 'qt6-base: for QT6 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
+ local site_packages=$(python -c "import site;
print(site.getsitepackages()[0])")
+
+ install -dm755 "${pkgdir}"/$site_packages
+ ln -svf /usr/lib/libreoffice/program/uno.py \
+ "${pkgdir}"/$site_packages/uno.py
+ ln -svf /usr/lib/libreoffice/program/unohelper.py \
+ "${pkgdir}"/$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 2023-05-11 18:08:08 UTC (rev 477623)
+++ firebird-icu70.patch 2023-05-11 18:08:29 UTC (rev 477624)
@@ -1,553 +0,0 @@
-From 6a63c3bf47aa190138a696a1e524949eeba031c8 Mon Sep 17 00:00:00 2001
-From: Alex Peshkoff <[email protected]>
-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 <[email protected]>
-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/extra-x86_64/firebird-icu70.patch (from rev
477623, libreoffice-still/trunk/firebird-icu70.patch)
===================================================================
--- firebird-icu70.patch (rev 0)
+++ firebird-icu70.patch 2023-05-11 18:08:29 UTC (rev 477624)
@@ -0,0 +1,553 @@
+From 6a63c3bf47aa190138a696a1e524949eeba031c8 Mon Sep 17 00:00:00 2001
+From: Alex Peshkoff <[email protected]>
+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 <[email protected]>
+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 2023-05-11 18:08:08 UTC (rev 477623)
+++ libreoffice-still.csh 2023-05-11 18:08:29 UTC (rev 477624)
@@ -1,9 +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 qt6
-#setenv SAL_USE_VCLPLUGIN gtk3
-#setenv SAL_USE_VCLPLUGIN gtk4
Copied: libreoffice-still/repos/extra-x86_64/libreoffice-still.csh (from rev
477623, libreoffice-still/trunk/libreoffice-still.csh)
===================================================================
--- libreoffice-still.csh (rev 0)
+++ libreoffice-still.csh 2023-05-11 18:08:29 UTC (rev 477624)
@@ -0,0 +1,9 @@
+# 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 qt6
+#setenv SAL_USE_VCLPLUGIN gtk3
+#setenv SAL_USE_VCLPLUGIN gtk4
Deleted: libreoffice-still.sh
===================================================================
--- libreoffice-still.sh 2023-05-11 18:08:08 UTC (rev 477623)
+++ libreoffice-still.sh 2023-05-11 18:08:29 UTC (rev 477624)
@@ -1,9 +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=qt6
-#export SAL_USE_VCLPLUGIN=gtk3
-#export SAL_USE_VCLPLUGIN=gtk4
Copied: libreoffice-still/repos/extra-x86_64/libreoffice-still.sh (from rev
477623, libreoffice-still/trunk/libreoffice-still.sh)
===================================================================
--- libreoffice-still.sh (rev 0)
+++ libreoffice-still.sh 2023-05-11 18:08:29 UTC (rev 477624)
@@ -0,0 +1,9 @@
+# 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=qt6
+#export SAL_USE_VCLPLUGIN=gtk3
+#export SAL_USE_VCLPLUGIN=gtk4
Deleted: make-pyuno-work-with-system-wide-module-install.diff
===================================================================
--- make-pyuno-work-with-system-wide-module-install.diff 2023-05-11
18:08:08 UTC (rev 477623)
+++ make-pyuno-work-with-system-wide-module-install.diff 2023-05-11
18:08:29 UTC (rev 477624)
@@ -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/extra-x86_64/make-pyuno-work-with-system-wide-module-install.diff
(from rev 477623,
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 2023-05-11
18:08:29 UTC (rev 477624)
@@ -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 2023-05-11 18:08:08 UTC (rev 477623)
+++ soffice-template.desktop.in 2023-05-11 18:08:29 UTC (rev 477624)
@@ -1,7 +0,0 @@
-[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@
Copied: libreoffice-still/repos/extra-x86_64/soffice-template.desktop.in (from
rev 477623, libreoffice-still/trunk/soffice-template.desktop.in)
===================================================================
--- soffice-template.desktop.in (rev 0)
+++ soffice-template.desktop.in 2023-05-11 18:08:29 UTC (rev 477624)
@@ -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@