Date: Sunday, September 18, 2022 @ 03:25:22 Author: foutrelis Revision: 456395
archrelease: copy trunk to staging-x86_64 Added: libreoffice-still/repos/staging-x86_64/ libreoffice-still/repos/staging-x86_64/PKGBUILD (from rev 456394, libreoffice-still/trunk/PKGBUILD) libreoffice-still/repos/staging-x86_64/firebird-icu70.patch (from rev 456394, libreoffice-still/trunk/firebird-icu70.patch) libreoffice-still/repos/staging-x86_64/keys/ libreoffice-still/repos/staging-x86_64/libreoffice-poppler-22.09.0.patch (from rev 456394, libreoffice-still/trunk/libreoffice-poppler-22.09.0.patch) libreoffice-still/repos/staging-x86_64/libreoffice-still.csh (from rev 456394, libreoffice-still/trunk/libreoffice-still.csh) libreoffice-still/repos/staging-x86_64/libreoffice-still.sh (from rev 456394, libreoffice-still/trunk/libreoffice-still.sh) libreoffice-still/repos/staging-x86_64/make-pyuno-work-with-system-wide-module-install.diff (from rev 456394, libreoffice-still/trunk/make-pyuno-work-with-system-wide-module-install.diff) libreoffice-still/repos/staging-x86_64/soffice-template.desktop.in (from rev 456394, libreoffice-still/trunk/soffice-template.desktop.in) ------------------------------------------------------+ PKGBUILD | 395 ++++++++++++ firebird-icu70.patch | 553 +++++++++++++++++ libreoffice-poppler-22.09.0.patch | 46 + libreoffice-still.csh | 7 libreoffice-still.sh | 7 make-pyuno-work-with-system-wide-module-install.diff | 18 soffice-template.desktop.in | 7 7 files changed, 1033 insertions(+) Copied: libreoffice-still/repos/staging-x86_64/PKGBUILD (from rev 456394, libreoffice-still/trunk/PKGBUILD) =================================================================== --- staging-x86_64/PKGBUILD (rev 0) +++ staging-x86_64/PKGBUILD 2022-09-18 03:25:22 UTC (rev 456395) @@ -0,0 +1,395 @@ +# Maintainer: AndyRTR <andy...@archlinux.org> +# Contributor: Bartłomiej Piotrowski <bpiotrow...@archlinux.org> + +# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) +# Note: These are for Arch Linux use ONLY. For your own distribution, please +# get your own set of keys. Feel free to contact foutre...@archlinux.org for +# more information. +_google_default_client_id=413772536636.apps.googleusercontent.com +_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4 + +pkgbase=libreoffice-still +pkgname=('libreoffice-still-sdk' 'libreoffice-still') +_LOver=7.3.6.2 +pkgver=7.3.6 +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' 'gobject-introspection' # 'libfbclient' 'libcmis' + 'libtommath' 'libzmf' 'xmlsec' 'rxvt-unicode' 'gpgme' + '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-4699.tar.bz2 + ${_additional_source_url}/dtoa-20180411.tgz + ${_additional_source_url}/lxml-4.1.1.tgz + ${_additional_source_url}/Firebird-3.0.7.33374-0.tar.bz2 + ${_additional_source_url}/skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz + ${_additional_source_url}/libcmis-0.5.2.tar.xz + ${_additional_source_url}/zxing-cpp-1.2.0.tar.gz + ${_additional_source_url2}/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar # for test suite + ${_additional_source_url2}/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar # for test suite + ${_additional_source_url2}/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf + ${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll + make-pyuno-work-with-system-wide-module-install.diff + libreoffice-poppler-22.09.0.patch + soffice-template.desktop.in + libreoffice-still.sh libreoffice-still.csh) +noextract=(35c94d2df8893241173de1d16b6034c0-swingExSrc.zip + 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip + a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip + 0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz + language-subtag-registry-2021-03-05.tar.bz2 + 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip + d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip + ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip + pdfium-4699.tar.bz2 + dtoa-20180411.tgz + lxml-4.1.1.tgz + Firebird-3.0.7.33374-0.tar.bz2 + skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz + libcmis-0.5.2.tar.xz + zxing-cpp-1.2.0.tar.gz + 8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar # for test suite + odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar # for test suite + f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf + 185d60944ea767075d27247c3162b3bc-unowinreg.dll +) +validpgpkeys=('C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3') # LibreOffice Build Team (CODE SIGNING KEY) <bu...@documentfoundation.org> +sha256sums=('3303d6af6ffbbc58345051a0090c1336f8b93c49c7861c6534bceea205aed5a3' + 'SKIP' + '6f756f68d11f9f2b56a897a401638aa243680a779f5dd420601ec7a69b6b6b4b' + 'SKIP' + 'be3b615df04feaf458de5301962b6124cedbe525f7baf0701298b7d08796fc38' + 'SKIP' + '64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1' + '1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753' + '75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870' + '983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776' + 'ce80e8face06bf2ada363e0c159e3f990c4116fdae9232ca43e6369aa82bf16a' + 'd30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370' + '1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133' + '233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd' + 'ee80fe0a3b20ef5c5babc494cd655d1b1a0bdec710acb04524789df500c563bf' + '0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4' + '940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e' + 'acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76' + '97e859e8467eca9d2441cd23079b61c2c3863b5687620f18cc31a9f966740177' + 'd7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2' + '653d9e44195d86cf64a36af9ff3a1978ec5599df3882439fefa56e7064f55e8a' + 'f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770' + '984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504' + 'f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140' + 'eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6' + 'c463654a73ecfbc242ff109726fb4faecdbfb3d91affafe919b24bea65afb563' + '95716d255aae9d8795eb76c634541f82a094b87dfeaa6ffcdbd97c0f19c14ac4' + 'd0be8099cbee3c9dfda694a828149b881c345b204ab68826f317580aafb50879' + 'cd1b25ff390e436c6bffa65c6e12382236e3ccbf8d3aae51b1b59bcaed79fd8a' + 'de20f36d45f0fecc2d94176dd3ec7226ab07fa8ffb9b0bc73c200349a9273de1') + +prepare() { + + cd libreoffice-$_LOver + + # Workaround to fix build with gpgme 1.18.0 + export ac_cv_lib_gpgmepp_progress_callback=yes + + # poppler 22.09.0 + patch -Np1 -i ../libreoffice-poppler-22.09.0.patch + + # move external sources into place + mkdir "${srcdir}"/ext_sources && pushd "${srcdir}"/ext_sources + for source in "${noextract[@]}"; do + ln -s "${srcdir}"/$source . + done + popd + + # unowinreg.dll must be a file not a symlink or the result will become a broken symlink + # /usr/share/libreoffice/sdk/classes/win/unowinreg.dll -> /build/libreoffice/src/185d60944ea767075d27247c3162b3bc-unowinreg.dll + rm "${srcdir}"/ext_sources/185d60944ea767075d27247c3162b3bc-unowinreg.dll + cp -f "${srcdir}"/185d60944ea767075d27247c3162b3bc-unowinreg.dll "${srcdir}"/ext_sources + + # fix not upstreamable pyuno paths - FS#54250 + patch -Np1 -i "${srcdir}"/make-pyuno-work-with-system-wide-module-install.diff + + #use the CFLAGS but remove the LibO overridden ones + for i in $CFLAGS; do + case "$i" in + -O?|-pipe|-Wall|-g|-fexceptions) continue;; + esac + ARCH_FLAGS="$ARCH_FLAGS $i" + done +} + +build() { + cd libreoffice-$_LOver + + # strip -s from Makeflags in case you use it to shorten build logs + _MAKEFLAGS=${MAKEFLAGS/-s/} + + # http://site.icu-project.org/download/61#TOC-Migration-Issues + CPPFLAGS+=' -DU_USING_ICU_NAMESPACE=1' + + ./autogen.sh --with-extra-buildid="${pkgver}-${pkgrel}" \ + --with-vendor="Arch Linux" \ + --enable-split-app-modules \ + --with-parallelism=${_MAKEFLAGS/-j/} \ + --with-external-tar="${srcdir}/ext_sources" \ + --disable-fetch-external \ + --enable-release-build \ + --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc \ + --libdir=/usr/lib --mandir=/usr/share/man \ + --with-lang="" \ + --with-help=html \ + --disable-avahi \ + --enable-dbus \ + --enable-evolution2\ + --enable-gio\ + --enable-gtk3-kde5 \ + --enable-kf5 \ + --enable-qt5 \ + --enable-gtk3 \ + --enable-introspection \ + --enable-lto \ + --enable-openssl \ + --enable-odk\ + --enable-python=system \ + --enable-scripting-beanshell \ + --enable-scripting-javascript \ + --disable-dconf \ + --disable-report-builder \ + --enable-ext-wiki-publisher \ + --enable-ext-nlpsolver \ + --without-fonts\ + --with-system-apr \ + --with-system-libcdr \ + --with-system-mdds\ + --without-myspell-dicts \ + --with-system-libvisio \ + --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-zxing \ + --with-system-libtommath \ + --with-system-libatomic-ops \ + --with-system-libebook \ + --with-system-libabw \ + --with-system-coinmp \ + --with-system-dicts \ + --with-external-dict-dir=/usr/share/hunspell \ + --with-external-hyph-dir=/usr/share/hyphen \ + --with-external-thes-dir=/usr/share/mythes \ + --with-system-beanshell \ + --with-system-cppunit\ + --with-system-graphite\ + --with-system-glm \ + --with-system-libnumbertext \ + --with-system-libwpg \ + --with-system-libwps \ + --with-system-redland\ + --with-system-libzmf \ + --with-system-gpgmepp \ + --with-system-libstaroffice \ + --with-system-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' 'liborcus' # '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' + 'kio: for KF5 KDE desktop integration') + backup=(etc/libreoffice/sofficerc + etc/libreoffice/bootstraprc + etc/libreoffice/psprint.conf + etc/profile.d/libreoffice-still.sh + etc/profile.d/libreoffice-still.csh) + provides=('libreoffice' 'libreoffice-en-US') + conflicts=('libreoffice-fresh') + + mv fakeinstall/* "${pkgdir}"/ + + # put configuration files into place + install -dm755 "${pkgdir}"/etc/libreoffice + install -m644 "${pkgdir}"/usr/lib/libreoffice/program/{bootstraprc,sofficerc} \ + "${pkgdir}"/etc/libreoffice/ + install -m644 "${pkgdir}"/usr/lib/libreoffice/share/psprint/psprint.conf \ + "${pkgdir}"/etc/libreoffice/ + + # install dummy links to make them found by LibO + cd "${pkgdir}"/usr/lib/libreoffice/program/ + ln -vsf /etc/libreoffice/{bootstraprc,sofficerc} . + cd "${pkgdir}"/usr/lib/libreoffice/share/psprint/ + ln -vsf /etc/libreoffice/psprint.conf . + + # allow to preset desired VLC + install -dm755 "${pkgdir}"/etc/profile.d + install -m644 "${srcdir}"/libreoffice-still.{sh,csh} "${pkgdir}"/etc/profile.d/ + + # make pyuno find its modules + install -dm755 "${pkgdir}"/usr/lib/python3.10/site-packages + ln -svf /usr/lib/libreoffice/program/uno.py \ + "${pkgdir}"/usr/lib/python3.10/site-packages/uno.py + ln -svf /usr/lib/libreoffice/program/unohelper.py \ + "${pkgdir}"/usr/lib/python3.10/site-packages/unohelper.py + + # add a symlink required for gnome-documents; FS#51887 + # https://lists.freedesktop.org/archives/libreoffice/2016-March/073787.html + ln -svf /usr/lib/libreoffice/program/liblibreofficekitgtk.so \ + "${pkgdir}"/usr/lib/liblibreofficekitgtk.so + + # cleanup + rm -rf "${pkgdir}"/usr/share/libreoffice/sdk + + # add application descriptions + install -dm755 "${pkgdir}"/usr/share/metainfo + install -v -m644 "${srcdir}"/libreoffice-$_LOver/sysui/desktop/appstream-appdata/*.xml \ + "${pkgdir}"/usr/share/metainfo + + # add kde filemanager templates; FS#61662 - file taken from Debian + install -dm755 "${pkgdir}"/usr/share/templates/.source + install -v -m644 "${srcdir}"/libreoffice-$_LOver/extras/source/shellnew/soffice.* \ + "${pkgdir}"/usr/share/templates/.source + + cat "${srcdir}"/soffice-template.desktop.in \ + | sed -e "s/@APP@/Writer/" \ + | sed -e "s/@EXT@/odt/" \ + | sed -e "s/@TYPE@/text/" \ + > "${pkgdir}"/usr/share/templates/soffice.odt.desktop + cat "${srcdir}"/soffice-template.desktop.in \ + | sed -e "s/@APP@/Calc/" \ + | sed -e "s/@EXT@/ods/" \ + | sed -e "s/@TYPE@/spreadsheet/" \ + > "${pkgdir}"/usr/share/templates/soffice.ods.desktop + cat "${srcdir}"/soffice-template.desktop.in \ + | sed -e "s/@APP@/Impress/" \ + | sed -e "s/@EXT@/odp/" \ + | sed -e "s/@TYPE@/presentation/" \ + > "${pkgdir}"/usr/share/templates/soffice.odp.desktop + cat "${srcdir}"/soffice-template.desktop.in \ + | sed -e "s/@APP@/Draw/" \ + | sed -e "s/@EXT@/odg/" \ + | sed -e "s/@TYPE@/drawing/" \ + > "${pkgdir}"/usr/share/templates/soffice.odg.desktop + + # make all i18n lang packages with help section ('1') available to + # fix "F1" not opening translated offline help opening in browser + # see also /usr/lib/libreoffice/help/en-US/langnames.js + echo "var languagesSet = new Set(['en-US','am','ar','ast','bg','bn',\ + 'bn-IN','bo','bs','ca','ca-valencia','cs','da','de','dz','el',\ + 'en-GB','en-ZA','eo','es','et','eu','fi','fr','gl','gu','he',\ + 'hi','hr','hu','id','is','it','ja','ka','km','ko','lo','lt','lv',\ + 'mk','nb','ne','nl','nn','om','pl','pt','pt-BR','ro','ru','si',\ + 'sid','sk','sl','sq','sv','ta','tg','tr','ug','uk','vi','zh-CN','zh-TW'])" \ + > "${pkgdir}"/usr/lib/libreoffice/help/languages.js +} Copied: libreoffice-still/repos/staging-x86_64/firebird-icu70.patch (from rev 456394, libreoffice-still/trunk/firebird-icu70.patch) =================================================================== --- staging-x86_64/firebird-icu70.patch (rev 0) +++ staging-x86_64/firebird-icu70.patch 2022-09-18 03:25:22 UTC (rev 456395) @@ -0,0 +1,553 @@ +From 6a63c3bf47aa190138a696a1e524949eeba031c8 Mon Sep 17 00:00:00 2001 +From: Alex Peshkoff <alexander.peshk...@gmail.com> +Date: Fri, 7 Sep 2018 17:05:42 +0300 +Subject: [PATCH] Backported CORE-5908: Enhance dynamic libraries loading + related error messages + +--- + src/common/os/darwin/mod_loader.cpp | 13 +++++-- + src/common/os/mod_loader.h | 14 +++---- + src/common/os/posix/mod_loader.cpp | 17 ++++++--- + src/common/os/win32/mod_loader.cpp | 9 ++++- + src/common/unicode_util.cpp | 6 +-- + src/jrd/IntlManager.cpp | 9 +++-- + src/jrd/flu.cpp | 2 +- + src/jrd/fun.epp | 2 +- + src/plugins/udr_engine/UdrEngine.cpp | 55 +++++++++++++--------------- + src/remote/remote.cpp | 2 +- + src/yvalve/PluginManager.cpp | 11 ++++-- + 11 files changed, 79 insertions(+), 61 deletions(-) + +diff --git a/src/common/os/darwin/mod_loader.cpp b/src/common/os/darwin/mod_loader.cpp +index b7b6acac09..1556d02cd6 100644 +--- a/src/common/os/darwin/mod_loader.cpp ++++ b/src/common/os/darwin/mod_loader.cpp +@@ -87,14 +87,19 @@ void ModuleLoader::doctorModuleExtension(Firebird::PathName& name) + #define FB_RTLD_MODE RTLD_LAZY + #endif + +-ModuleLoader::Module* ModuleLoader::loadModule(const Firebird::PathName& modPath) ++ModuleLoader::Module* ModuleLoader::loadModule(ISC_STATUS* status, const Firebird::PathName& modPath) + { + void* module = dlopen(modPath.c_str(), FB_RTLD_MODE); + if (module == NULL) + { +-#ifdef DEBUG_LOADER +- fprintf(stderr, "load error: %s: %s\n", modPath.c_str(), dlerror()); +-#endif // DEBUG_LOADER ++ if (status) ++ { ++ status[0] = isc_arg_gds; ++ status[1] = isc_random; ++ status[2] = isc_arg_string; ++ status[3] = (ISC_STATUS) dlerror(); ++ status[4] = isc_arg_end; ++ } + return 0; + } + +diff --git a/src/common/os/mod_loader.h b/src/common/os/mod_loader.h +index b57af4ac9f..069ab23039 100644 +--- a/src/common/os/mod_loader.h ++++ b/src/common/os/mod_loader.h +@@ -90,11 +90,11 @@ class ModuleLoader + /** loadModule is given as a string the path to the module to load. It + attempts to load the module. If successful it returns the ModuleLoader::Module + object that represents the loaded module in memory and can be used to +- perform symbol lookups on the module. If unsuccessful it returns NULL. +- It is the callers responsibility to delete the returned module object +- when it is no longer needed. ++ perform symbol lookups on the module. It is the callers responsibility to delete ++ the returned module object when it is no longer needed. ++ If unsuccessful it returns NULL. OS-specific error is returned in status parameter. + **/ +- static Module* loadModule(const Firebird::PathName&); ++ static Module* loadModule(ISC_STATUS* status, const Firebird::PathName&); + + /** doctorModuleExtension modifies the given path name to add the platform + specific module extention. This allows the user to provide the root name +@@ -107,14 +107,14 @@ class ModuleLoader + /** Almost like loadModule(), but in case of failure invokes doctorModuleExtension() + and retries. + **/ +- static Module* fixAndLoadModule(const Firebird::PathName& modName) ++ static Module* fixAndLoadModule(ISC_STATUS* status, const Firebird::PathName& modName) + { +- Module* mod = loadModule(modName); ++ Module* mod = loadModule(NULL, modName); + if (!mod) + { + Firebird::PathName fixed(modName); + doctorModuleExtension(fixed); +- mod = loadModule(fixed); ++ mod = loadModule(status, fixed); + } + return mod; + } +diff --git a/src/common/os/posix/mod_loader.cpp b/src/common/os/posix/mod_loader.cpp +index 2b42c59a5c..9c8ba38ddd 100644 +--- a/src/common/os/posix/mod_loader.cpp ++++ b/src/common/os/posix/mod_loader.cpp +@@ -72,7 +72,9 @@ void ModuleLoader::doctorModuleExtension(Firebird::PathName& name) + Firebird::PathName::size_type pos = name.rfind("." SHRLIB_EXT); + if (pos != name.length() - 3) + { +- name += "." SHRLIB_EXT; ++ pos = name.rfind("." SHRLIB_EXT "."); ++ if (pos == Firebird::PathName::npos) ++ name += "." SHRLIB_EXT; + } + pos = name.rfind('/'); + pos = (pos == Firebird::PathName::npos) ? 0 : pos + 1; +@@ -88,14 +90,19 @@ void ModuleLoader::doctorModuleExtension(Firebird::PathName& name) + #define FB_RTLD_MODE RTLD_LAZY // save time when loading library + #endif + +-ModuleLoader::Module* ModuleLoader::loadModule(const Firebird::PathName& modPath) ++ModuleLoader::Module* ModuleLoader::loadModule(ISC_STATUS* status, const Firebird::PathName& modPath) + { + void* module = dlopen(modPath.nullStr(), FB_RTLD_MODE); + if (module == NULL) + { +-#ifdef DEV_BUILD +-// gds__log("loadModule failed loading %s: %s", modPath.c_str(), dlerror()); +-#endif ++ if (status) ++ { ++ status[0] = isc_arg_gds; ++ status[1] = isc_random; ++ status[2] = isc_arg_string; ++ status[3] = (ISC_STATUS) dlerror(); ++ status[4] = isc_arg_end; ++ } + return 0; + } + +diff --git a/src/common/os/win32/mod_loader.cpp b/src/common/os/win32/mod_loader.cpp +index 909de85026..2ffdbdfbeb 100644 +--- a/src/common/os/win32/mod_loader.cpp ++++ b/src/common/os/win32/mod_loader.cpp +@@ -191,7 +191,7 @@ void ModuleLoader::doctorModuleExtension(PathName& name) + name += ".dll"; + } + +-ModuleLoader::Module* ModuleLoader::loadModule(const PathName& modPath) ++ModuleLoader::Module* ModuleLoader::loadModule(ISC_STATUS* status, const PathName& modPath) + { + ContextActivator ctx; + +@@ -214,6 +214,13 @@ ModuleLoader::Module* ModuleLoader::loadModule(const PathName& modPath) + if (!module) + module = LoadLibraryEx(modPath.c_str(), 0, LOAD_WITH_ALTERED_SEARCH_PATH); + ++ if (!module && status) ++ { ++ status[0] = isc_arg_win32; ++ status[1] = GetLastError(); ++ status[2] = isc_arg_end; ++ } ++ + // Restore old mode in case we are embedded into user application + SetErrorMode(oldErrorMode); + +diff --git a/src/common/unicode_util.cpp b/src/common/unicode_util.cpp +index 1850ea2e96..a33f495910 100644 +--- a/src/common/unicode_util.cpp ++++ b/src/common/unicode_util.cpp +@@ -233,7 +233,7 @@ class ImplementConversionICU : public UnicodeUtil::ConversionICU, BaseICU + PathName filename; + formatFilename(filename, ucTemplate, aMajorVersion, aMinorVersion); + +- module = ModuleLoader::fixAndLoadModule(filename); ++ module = ModuleLoader::fixAndLoadModule(NULL, filename); + if (!module) + return; + +@@ -998,7 +998,7 @@ UnicodeUtil::ICU* UnicodeUtil::loadICU(const string& icuVersion, const string& c + + icu = FB_NEW_POOL(*getDefaultMemoryPool()) ICU(majorVersion, minorVersion); + +- icu->ucModule = ModuleLoader::fixAndLoadModule(filename); ++ icu->ucModule = ModuleLoader::fixAndLoadModule(NULL, filename); + + if (!icu->ucModule) + { +@@ -1009,7 +1009,7 @@ UnicodeUtil::ICU* UnicodeUtil::loadICU(const string& icuVersion, const string& c + + formatFilename(filename, inTemplate, majorVersion, minorVersion); + +- icu->inModule = ModuleLoader::fixAndLoadModule(filename); ++ icu->inModule = ModuleLoader::fixAndLoadModule(NULL, filename); + + if (!icu->inModule) + { +diff --git a/src/jrd/IntlManager.cpp b/src/jrd/IntlManager.cpp +index b3e37afb61..4c8368ed22 100644 +--- a/src/jrd/IntlManager.cpp ++++ b/src/jrd/IntlManager.cpp +@@ -471,15 +471,16 @@ bool IntlManager::initialize() + ModuleLoader::Module* mod = NULL; + bool exists = modules->exist(filename); + ++ ISC_STATUS_ARRAY status; + if (!exists) + { +- mod = ModuleLoader::loadModule(filename); ++ mod = ModuleLoader::loadModule(status, filename); + if (!mod) + { + ModuleLoader::doctorModuleExtension(filename); + exists = modules->exist(filename); + if (!exists) +- mod = ModuleLoader::loadModule(filename); ++ mod = ModuleLoader::loadModule(status, filename); + } + } + +@@ -512,8 +513,8 @@ bool IntlManager::initialize() + } + else + { +- gds__log((string("Can't load INTL module '") + +- filename.c_str() + "'").c_str()); ++ iscLogStatus((string("Can't load INTL module '") + ++ filename.c_str() + "'").c_str(), status); + ok = false; + } + } +diff --git a/src/jrd/flu.cpp b/src/jrd/flu.cpp +index c0b9c453a0..e8a5bd7878 100644 +--- a/src/jrd/flu.cpp ++++ b/src/jrd/flu.cpp +@@ -245,7 +245,7 @@ namespace Jrd + Arg::Str(initialModule)); + } + +- ModuleLoader::Module* mlm = ModuleLoader::loadModule(fixedModule); ++ ModuleLoader::Module* mlm = ModuleLoader::loadModule(NULL, fixedModule); + if (mlm) + { + im = FB_NEW_POOL(*getDefaultMemoryPool()) +diff --git a/src/jrd/fun.epp b/src/jrd/fun.epp +index ca964be72b..44fd5dde67 100644 +--- a/src/jrd/fun.epp ++++ b/src/jrd/fun.epp +@@ -105,7 +105,7 @@ namespace + { + ModuleLoader::doctorModuleExtension(libName); + +- ModuleLoader::Module* module = ModuleLoader::loadModule(libName); ++ ModuleLoader::Module* module = ModuleLoader::loadModule(NULL, libName); + if (!module) + { + message.printf("%s library has not been found", libName.c_str()); +diff --git a/src/plugins/udr_engine/UdrEngine.cpp b/src/plugins/udr_engine/UdrEngine.cpp +index 9c64ebee9a..a49ecf4120 100644 +--- a/src/plugins/udr_engine/UdrEngine.cpp ++++ b/src/plugins/udr_engine/UdrEngine.cpp +@@ -567,47 +567,42 @@ UdrPluginImpl* Engine::loadModule(ThrowStatusWrapper* status, IRoutineMetadata* + PathName path; + PathUtils::concatPath(path, *i, *moduleName); + +- ModuleLoader::Module* module = ModuleLoader::fixAndLoadModule(path); +- +- if (module) +- { +- FB_BOOLEAN* (*entryPoint)(IStatus*, FB_BOOLEAN*, IUdrPlugin*); +- +- if (!module->findSymbol(STRINGIZE(FB_UDR_PLUGIN_ENTRY_POINT), entryPoint)) +- { +- static const ISC_STATUS statusVector[] = { +- isc_arg_gds, isc_random, +- isc_arg_string, (ISC_STATUS) "UDR plugin entry point not found", +- isc_arg_end +- }; ++ static ISC_STATUS_ARRAY statusArray = { ++ isc_arg_gds, isc_random, ++ isc_arg_string, (ISC_STATUS) "UDR module not loaded", ++ isc_arg_end ++ }; ++ const unsigned ARG_END = 4; + +- throw FbException(status, statusVector); +- } ++ ModuleLoader::Module* module = ModuleLoader::fixAndLoadModule(&statusArray[ARG_END], path); ++ if (!module) ++ throw FbException(status, statusArray); + +- UdrPluginImpl* udrPlugin = FB_NEW UdrPluginImpl(*moduleName, module); +- udrPlugin->theirUnloadFlag = entryPoint(status, &udrPlugin->myUnloadFlag, udrPlugin); ++ FB_BOOLEAN* (*entryPoint)(IStatus*, FB_BOOLEAN*, IUdrPlugin*); + +- if (status->getState() & IStatus::STATE_ERRORS) +- { +- delete udrPlugin; +- ThrowStatusWrapper::checkException(status); +- } +- +- modules->put(*moduleName, udrPlugin); +- +- return udrPlugin; +- } +- else ++ if (!module->findSymbol(STRINGIZE(FB_UDR_PLUGIN_ENTRY_POINT), entryPoint)) + { + static const ISC_STATUS statusVector[] = { + isc_arg_gds, isc_random, +- isc_arg_string, (ISC_STATUS) "Module not found", +- //// TODO: isc_arg_gds, isc_random, isc_arg_string, (ISC_STATUS) moduleName->c_str(), ++ isc_arg_string, (ISC_STATUS) "UDR plugin entry point not found", + isc_arg_end + }; + + throw FbException(status, statusVector); + } ++ ++ UdrPluginImpl* udrPlugin = FB_NEW UdrPluginImpl(*moduleName, module); ++ udrPlugin->theirUnloadFlag = entryPoint(status, &udrPlugin->myUnloadFlag, udrPlugin); ++ ++ if (status->getState() & IStatus::STATE_ERRORS) ++ { ++ delete udrPlugin; ++ ThrowStatusWrapper::checkException(status); ++ } ++ ++ modules->put(*moduleName, udrPlugin); ++ ++ return udrPlugin; + } + + static const ISC_STATUS statusVector[] = { +diff --git a/src/remote/remote.cpp b/src/remote/remote.cpp +index 9b99080c0c..dc2bc0c9bc 100644 +--- a/src/remote/remote.cpp ++++ b/src/remote/remote.cpp +@@ -1335,7 +1335,7 @@ namespace { + #else + const char* name = "libz." SHRLIB_EXT ".1"; + #endif +- z.reset(ModuleLoader::fixAndLoadModule(name)); ++ z.reset(ModuleLoader::fixAndLoadModule(NULL, name)); + if (z) + symbols(); + } +diff --git a/src/yvalve/PluginManager.cpp b/src/yvalve/PluginManager.cpp +index b0067a0c36..2875f62983 100644 +--- a/src/yvalve/PluginManager.cpp ++++ b/src/yvalve/PluginManager.cpp +@@ -928,24 +928,27 @@ namespace + RefPtr<PluginModule> PluginSet::loadModule(const PluginLoadInfo& info) + { + PathName fixedModuleName(info.curModule); ++ ISC_STATUS_ARRAY statusArray; + +- ModuleLoader::Module* module = ModuleLoader::loadModule(fixedModuleName); ++ ModuleLoader::Module* module = ModuleLoader::loadModule(statusArray, fixedModuleName); + + if (!module && !ModuleLoader::isLoadableModule(fixedModuleName)) + { + ModuleLoader::doctorModuleExtension(fixedModuleName); +- module = ModuleLoader::loadModule(fixedModuleName); ++ module = ModuleLoader::loadModule(statusArray, fixedModuleName); + } + + if (!module) + { + if (ModuleLoader::isLoadableModule(fixedModuleName)) + { +- loadError(Arg::Gds(isc_pman_module_bad) << fixedModuleName); ++ loadError(Arg::Gds(isc_pman_module_bad) << fixedModuleName << ++ Arg::StatusVector(statusArray)); + } + if (info.required) + { +- loadError(Arg::Gds(isc_pman_module_notfound) << fixedModuleName); ++ loadError(Arg::Gds(isc_pman_module_notfound) << fixedModuleName << ++ Arg::StatusVector(statusArray)); + } + + return RefPtr<PluginModule>(NULL); + +From 4df43606a293ff3a9a6883a638b4559375449055 Mon Sep 17 00:00:00 2001 +From: AlexPeshkoff <alexander.peshk...@gmail.com> +Date: Tue, 18 Sep 2018 10:33:18 +0300 +Subject: [PATCH] Backported CORE-5764: Installation of Firebird 3.0.3 on SLES + 12 SP3 fails with "Could not find acceptable ICU library" + +--- + src/common/unicode_util.cpp | 75 +++++++++++++++++-------------------- + 1 file changed, 34 insertions(+), 41 deletions(-) + +diff --git a/src/common/unicode_util.cpp b/src/common/unicode_util.cpp +index a33f495910..d24eba9432 100644 +--- a/src/common/unicode_util.cpp ++++ b/src/common/unicode_util.cpp +@@ -50,9 +50,6 @@ + # include <unicode/utf_old.h> + #endif + +-// The next major ICU version after 4.8 is 49. +-#define ICU_NEW_VERSION_MEANING 49 +- + + using namespace Firebird; + +@@ -122,7 +119,7 @@ struct BaseICU + + namespace Jrd { + +-static void formatFilename(PathName& filename, const char* templateName, ++static ModuleLoader::Module* formatAndLoad(const char* templateName, + int majorVersion, int minorVersion); + + +@@ -230,10 +227,7 @@ class ImplementConversionICU : public UnicodeUtil::ConversionICU, BaseICU + ImplementConversionICU(int aMajorVersion, int aMinorVersion) + : BaseICU(aMajorVersion, aMinorVersion) + { +- PathName filename; +- formatFilename(filename, ucTemplate, aMajorVersion, aMinorVersion); +- +- module = ModuleLoader::fixAndLoadModule(NULL, filename); ++ module = formatAndLoad(ucTemplate, aMajorVersion, aMinorVersion); + if (!module) + return; + +@@ -343,16 +337,27 @@ static const char* const COLL_30_VERSION = "41.128.4.4"; // ICU 3.0 collator ver + static GlobalPtr<UnicodeUtil::ICUModules> icuModules; + + +-static void formatFilename(PathName& filename, const char* templateName, ++static ModuleLoader::Module* formatAndLoad(const char* templateName, + int majorVersion, int minorVersion) + { +- string s; +- if (majorVersion >= ICU_NEW_VERSION_MEANING) +- s.printf("%d", majorVersion); +- else +- s.printf("%d%d", majorVersion, minorVersion); ++ // ICU has several schemas for placing version into file name ++ const char* patterns[] = ++ { ++ "%d", "%d_%d", "%d%d", NULL ++ }; ++ ++ PathName s, filename; ++ for (const char** p = patterns; *p; ++p) ++ { ++ s.printf(*p, majorVersion, minorVersion); ++ filename.printf(templateName, s.c_str()); + +- filename.printf(templateName, s.c_str()); ++ ModuleLoader::Module* module = ModuleLoader::fixAndLoadModule(NULL, filename); ++ if (module) ++ return module; ++ } ++ ++ return NULL; + } + + +@@ -975,17 +980,14 @@ UnicodeUtil::ICU* UnicodeUtil::loadICU(const string& icuVersion, const string& c + continue; + + string configVersion; +- +- if (majorVersion >= ICU_NEW_VERSION_MEANING) ++ configVersion.printf("%d.%d", majorVersion, minorVersion); ++ if (version != configVersion) + { + minorVersion = 0; + configVersion.printf("%d", majorVersion); ++ if (version != configVersion) ++ continue; + } +- else +- configVersion.printf("%d.%d", majorVersion, minorVersion); +- +- if (version != configVersion) +- continue; + + ReadLockGuard readGuard(icuModules->lock, "UnicodeUtil::loadICU"); + +@@ -993,27 +995,19 @@ UnicodeUtil::ICU* UnicodeUtil::loadICU(const string& icuVersion, const string& c + if (icuModules->modules.get(version, icu)) + return icu; + +- PathName filename; +- formatFilename(filename, ucTemplate, majorVersion, minorVersion); +- + icu = FB_NEW_POOL(*getDefaultMemoryPool()) ICU(majorVersion, minorVersion); +- +- icu->ucModule = ModuleLoader::fixAndLoadModule(NULL, filename); +- ++ icu->ucModule = formatAndLoad(ucTemplate, majorVersion, minorVersion); + if (!icu->ucModule) + { +- gds__log("failed to load module %s", filename.c_str()); ++ gds__log("failed to load UC icu module version %s", configVersion.c_str()); + delete icu; + continue; + } + +- formatFilename(filename, inTemplate, majorVersion, minorVersion); +- +- icu->inModule = ModuleLoader::fixAndLoadModule(NULL, filename); +- ++ icu->inModule = formatAndLoad(inTemplate, majorVersion, minorVersion); + if (!icu->inModule) + { +- gds__log("failed to load module %s", filename.c_str()); ++ gds__log("failed to load IN icu module version %s", configVersion.c_str()); + delete icu; + continue; + } +@@ -1138,26 +1132,25 @@ UnicodeUtil::ConversionICU& UnicodeUtil::getConversionICU() + LocalStatus ls; + CheckStatusWrapper lastError(&ls); + string version; +- const int majorArray[] = {5, 4, 3, 6, 0}; + +- for (const int* major = majorArray; *major; ++major) ++ for (int major = 4; major <= 79; ++major) + { + for (int minor = 20; minor--; ) // from 19 down to 0 + { +- if ((*major == favMaj) && (minor == favMin)) ++ if ((major == favMaj) && (minor == favMin)) + { + continue; + } + + try + { +- if ((convIcu = ImplementConversionICU::create(*major, minor))) ++ if ((convIcu = ImplementConversionICU::create(major, minor))) + return *convIcu; + } + catch (const Exception& ex) + { + ex.stuffException(&lastError); +- version.printf("Error loading ICU library version %d.%d", *major, minor); ++ version.printf("Error loading ICU library version %d.%d", major, minor); + } + } + } +@@ -1180,7 +1173,7 @@ string UnicodeUtil::getDefaultIcuVersion() + string rc; + UnicodeUtil::ConversionICU& icu(UnicodeUtil::getConversionICU()); + +- if (icu.vMajor >= ICU_NEW_VERSION_MEANING) ++ if (icu.vMajor >= 10 && icu.vMinor == 0) + rc.printf("%d", icu.vMajor); + else + rc.printf("%d.%d", icu.vMajor, icu.vMinor); +@@ -1425,7 +1418,7 @@ USHORT UnicodeUtil::Utf16Collation::stringToKey(USHORT srcLen, const USHORT* src + UErrorCode status = U_ZERO_ERROR; + int len = icu->usetGetItem(contractions, i, NULL, NULL, str, sizeof(str), &status); + +- if (len > srcLenLong) ++ if (len > SLONG(srcLenLong)) + len = srcLenLong; + else + --len; Copied: libreoffice-still/repos/staging-x86_64/libreoffice-poppler-22.09.0.patch (from rev 456394, libreoffice-still/trunk/libreoffice-poppler-22.09.0.patch) =================================================================== --- staging-x86_64/libreoffice-poppler-22.09.0.patch (rev 0) +++ staging-x86_64/libreoffice-poppler-22.09.0.patch 2022-09-18 03:25:22 UTC (rev 456395) @@ -0,0 +1,46 @@ +https://gerrit.libreoffice.org/c/core/+/139249 + +From 8bad83bf044661357b02b695e6f53e2e19dea396 Mon Sep 17 00:00:00 2001 +From: Sam James <s...@gentoo.org> +Date: Fri, 2 Sep 2022 04:31:18 +0100 +Subject: [PATCH] Fix build with Poppler 22.09.0 + +With Poppler 22.09.0, LO fails to build with: +``` +/var/tmp/portage/app-office/libreoffice-7.3.5.2/work/libreoffice-7.3.5.2/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx:682:36: error: too many arguments to function call, expected single argument 'start', have 3 arguments + state->getLineDash(&dashArray, &arrayLen, &startOffset); + ~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~ +/usr/include/poppler/GfxState.h:1506:32: note: 'getLineDash' declared here + const std::vector<double> &getLineDash(double *start) + ^ +1 error generated. +``` + +Poppler changed the getLineDash interface: +``` +- void getLineDash(double **dash, int *length, double *start) ++ const std::vector<double> &getLineDash(double *start) +``` + +Signed-off-by: Sam James <s...@gentoo.org> +Change-Id: I29e18f20d7650a7fcac1bc8ab4aaa04aaa2ab8fb +--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx ++++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +@@ -678,8 +678,16 @@ void PDFOutDev::updateLineDash(GfxState *state) + return; + assert(state); + +- double* dashArray; int arrayLen; double startOffset; ++ int arrayLen; double startOffset; ++#if POPPLER_CHECK_VERSION(22, 9, 0) ++ const double* dashArray; ++ const std::vector<double> &dash = state->getLineDash(&startOffset); ++ dashArray = dash.data(); ++ arrayLen = dash.size(); ++#else ++ double* dashArray; + state->getLineDash(&dashArray, &arrayLen, &startOffset); ++#endif + + printf( "updateLineDash" ); + if( arrayLen && dashArray ) Copied: libreoffice-still/repos/staging-x86_64/libreoffice-still.csh (from rev 456394, libreoffice-still/trunk/libreoffice-still.csh) =================================================================== --- staging-x86_64/libreoffice-still.csh (rev 0) +++ staging-x86_64/libreoffice-still.csh 2022-09-18 03:25:22 UTC (rev 456395) @@ -0,0 +1,7 @@ +# to force a certain look'n feel + +#setenv SAL_USE_VCLPLUGIN gen +#setenv SAL_USE_VCLPLUGIN gtk3_kde5 +#setenv SAL_USE_VCLPLUGIN kf5 +#setenv SAL_USE_VCLPLUGIN qt5 +#setenv SAL_USE_VCLPLUGIN gtk3 Copied: libreoffice-still/repos/staging-x86_64/libreoffice-still.sh (from rev 456394, libreoffice-still/trunk/libreoffice-still.sh) =================================================================== --- staging-x86_64/libreoffice-still.sh (rev 0) +++ staging-x86_64/libreoffice-still.sh 2022-09-18 03:25:22 UTC (rev 456395) @@ -0,0 +1,7 @@ +# to force a certain look'n feel + +#export SAL_USE_VCLPLUGIN=gen +#export SAL_USE_VCLPLUGIN=gtk3_kde5 +#export SAL_USE_VCLPLUGIN=kf5 +#export SAL_USE_VCLPLUGIN=qt5 +#export SAL_USE_VCLPLUGIN=gtk3 Copied: libreoffice-still/repos/staging-x86_64/make-pyuno-work-with-system-wide-module-install.diff (from rev 456394, libreoffice-still/trunk/make-pyuno-work-with-system-wide-module-install.diff) =================================================================== --- staging-x86_64/make-pyuno-work-with-system-wide-module-install.diff (rev 0) +++ staging-x86_64/make-pyuno-work-with-system-wide-module-install.diff 2022-09-18 03:25:22 UTC (rev 456395) @@ -0,0 +1,18 @@ +--- a/pyuno/source/module/uno.py 2017-05-03 18:46:29.000000000 +0200 ++++ b/pyuno/source/module/uno.py.new 2017-06-06 17:11:27.585959637 +0200 +@@ -16,8 +16,14 @@ + # except in compliance with the License. You may obtain a copy of + # the License at http://www.apache.org/licenses/LICENSE-2.0 . + # +-import pyuno ++ ++# Special modification to make uno load on Arch ++import os + import sys ++sys.path.append("/usr/lib/libreoffice/program/") ++os.putenv("URE_BOOTSTRAP", "vnd.sun.star.pathname:/usr/lib/libreoffice/program/fundamentalrc") ++ ++import pyuno + import traceback + import warnings + Copied: libreoffice-still/repos/staging-x86_64/soffice-template.desktop.in (from rev 456394, libreoffice-still/trunk/soffice-template.desktop.in) =================================================================== --- staging-x86_64/soffice-template.desktop.in (rev 0) +++ staging-x86_64/soffice-template.desktop.in 2022-09-18 03:25:22 UTC (rev 456395) @@ -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@