Date: Thursday, April 15, 2021 @ 18:14:30 Author: felixonmars Revision: 412604
archrelease: copy trunk to staging-x86_64 Added: libreoffice-still/repos/staging-x86_64/ libreoffice-still/repos/staging-x86_64/PKGBUILD (from rev 412603, libreoffice-still/trunk/PKGBUILD) libreoffice-still/repos/staging-x86_64/liborcus-0.16.diff (from rev 412603, libreoffice-still/trunk/liborcus-0.16.diff) libreoffice-still/repos/staging-x86_64/libreoffice-still.csh (from rev 412603, libreoffice-still/trunk/libreoffice-still.csh) libreoffice-still/repos/staging-x86_64/libreoffice-still.sh (from rev 412603, libreoffice-still/trunk/libreoffice-still.sh) libreoffice-still/repos/staging-x86_64/make-pyuno-work-with-system-wide-module-install.diff (from rev 412603, libreoffice-still/trunk/make-pyuno-work-with-system-wide-module-install.diff) libreoffice-still/repos/staging-x86_64/soffice-template.desktop.in (from rev 412603, libreoffice-still/trunk/soffice-template.desktop.in) ------------------------------------------------------+ PKGBUILD | 386 +++++ liborcus-0.16.diff | 1255 +++++++++++++++++ libreoffice-still.csh | 7 libreoffice-still.sh | 7 make-pyuno-work-with-system-wide-module-install.diff | 18 soffice-template.desktop.in | 7 6 files changed, 1680 insertions(+) Copied: libreoffice-still/repos/staging-x86_64/PKGBUILD (from rev 412603, libreoffice-still/trunk/PKGBUILD) =================================================================== --- staging-x86_64/PKGBUILD (rev 0) +++ staging-x86_64/PKGBUILD 2021-04-15 18:14:30 UTC (rev 412604) @@ -0,0 +1,386 @@ +# Maintainer: AndyRTR <andy...@archlinux.org> +# Maintainer: Bartłomiej Piotrowski <bpiotrow...@archlinux.org> + +# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) +# Note: These are for Arch Linux use ONLY. For your own distribution, please +# get your own set of keys. Feel free to contact foutre...@archlinux.org for +# more information. +_google_default_client_id=413772536636.apps.googleusercontent.com +_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4 + +pkgbase=libreoffice-still +pkgname=('libreoffice-still-sdk' 'libreoffice-still') +_LOver=7.0.5.2 +pkgver=7.0.5 +pkgrel=3 +arch=('x86_64') +license=('LGPL3') +url="https://www.libreoffice.org/" +makedepends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python>=3.7' 'libwpd>=0.9.2' 'libwps' + 'neon>=0.28.6' 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib' + 'libxslt' 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'graphite' 'icu' + 'lcms2' 'poppler>=0.24.0' 'libvisio' 'libetonyek' 'libodfgen' 'libcdr' + 'libmspub' 'harfbuzz-icu' 'nss' 'hicolor-icon-theme' + 'desktop-file-utils' 'shared-mime-info' 'gst-plugins-base-libs' + 'sane' 'perl-archive-zip' 'zip' 'unzip' 'unixodbc' 'ant' + 'gperf' 'gtk3' 'qt5-base' 'plasma-framework' 'cppunit' 'beanshell' 'clucene' + 'junit' 'libmythes' 'libwpg' 'java-environment=11' 'postgresql-libs' 'mariadb-libs' 'libgl' + 'bluez-libs' 'gdb' 'doxygen' 'libatomic_ops' 'mdds' + 'apr' 'serf' 'ttf-liberation' 'ttf-dejavu' 'ttf-carlito' 'libxinerama' 'libpagemaker' 'glm' + 'libabw' 'libmwaw' 'libe-book' 'coin-or-mp' 'liblangtag' 'liborcus' + 'libexttextcat' 'libcmis' 'gobject-introspection' # 'libfbclient' + 'libtommath' 'libzmf' 'gpgme' 'xmlsec' 'rxvt-unicode' + 'libepubgen' 'libfreehand' 'libqxp' 'libstaroffice' 'boost' 'libnumbertext' + 'libffi' +) + +_mirror="https://download.documentfoundation.org/libreoffice/src/${pkgver}" +#_mirror="https://dev-builds.libreoffice.org/pre-releases/src" +_additional_source_url="https://dev-www.libreoffice.org/src" +_additional_source_url2="https://dev-www.libreoffice.org/extern" +source=(${_mirror}/libreoffice{,-help,-translations}-${_LOver}.tar.xz{,.asc} + ${_additional_source_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip + ${_additional_source_url}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip # keep old bundled version, new system version ftbs + ${_additional_source_url}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip + ${_additional_source_url}/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz + ${_additional_source_url}/language-subtag-registry-2019-04-03.tar.bz2 + ${_additional_source_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip + ${_additional_source_url}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip + ${_additional_source_url}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip + ${_additional_source_url}/pdfium-4306.tar.bz2 + ${_additional_source_url}/dtoa-20180411.tgz + ${_additional_source_url}/lxml-4.1.1.tgz + ${_additional_source_url}/Firebird-3.0.0.32483-0.tar.bz2 + ${_additional_source_url}/QR-Code-generator-1.4.0.tar.gz + ${_additional_source_url}/skia-m85-e684c6daef6bfb774a325a069eda1f76ca6ac26c.tar.xz + ${_additional_source_url2}/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar # for test suite + ${_additional_source_url2}/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar # for test suite + ${_additional_source_url2}/884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf + ${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll + make-pyuno-work-with-system-wide-module-install.diff + soffice-template.desktop.in + libreoffice-still.sh libreoffice-still.csh + liborcus-0.16.diff) +noextract=(35c94d2df8893241173de1d16b6034c0-swingExSrc.zip + 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip + a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip + 0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz + language-subtag-registry-2019-04-03.tar.bz2 + 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip + d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip + ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip + pdfium-4306.tar.bz2 + dtoa-20180411.tgz + lxml-4.1.1.tgz + Firebird-3.0.0.32483-0.tar.bz2 + QR-Code-generator-1.4.0.tar.gz + skia-m85-e684c6daef6bfb774a325a069eda1f76ca6ac26c.tar.xz + 8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar # for test suite + odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar # for test suite + 884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf + 185d60944ea767075d27247c3162b3bc-unowinreg.dll +) +validpgpkeys=('C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3') # LibreOffice Build Team (CODE SIGNING KEY) <bu...@documentfoundation.org> +sha256sums=('75cb85c10759812d0c38bbd4572750bcb6627245659ced2f2a9ac8680ab912b9' + 'SKIP' + '17f6c52c045f3d9f63310302857f1a97f2de56c370460f9102ddca7060bd1d17' + 'SKIP' + 'b72c791d80f6b5a1ba4538e5e3c429d295b12050309612a6e9fa9f947cb2b234' + 'SKIP' + '64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1' + '1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753' + '75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870' + '983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776' + 'a1d7fb901764bb8f251d4f686cdf565764f9987d0fb5d9315d54a7366a84822d' + 'd30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370' + '1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133' + '233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd' + 'eca406d47ac7e2a84dcc86f93c08f96e591d409589e881477fa75e488e4851d8' + '0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4' + '940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e' + '6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860' + 'fcdf9fd69fde07ae4dca2351d84271a9de8093002f733b77c70f52f1630f6e4a' + '3294877fa2b61b220d98a0f7bfc11325429b13edd2cf455444c703ee3a14d760' + 'f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770' + '984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504' + '884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc' + 'eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6' + 'c463654a73ecfbc242ff109726fb4faecdbfb3d91affafe919b24bea65afb563' + 'd0be8099cbee3c9dfda694a828149b881c345b204ab68826f317580aafb50879' + 'cd1b25ff390e436c6bffa65c6e12382236e3ccbf8d3aae51b1b59bcaed79fd8a' + 'de20f36d45f0fecc2d94176dd3ec7226ab07fa8ffb9b0bc73c200349a9273de1' + '2611055af15c498b95f7fca0dedba4d18875bd29b358fd1d5ab4135d746ed606') + +prepare() { + + cd libreoffice-$_LOver + + # move external sources into place + mkdir "${srcdir}"/ext_sources && pushd "${srcdir}"/ext_sources + for source in "${noextract[@]}"; do + ln -s "${srcdir}"/$source . + done + popd + + # unowinreg.dll must be a file not a symlink or the result will become a broken symlink + # /usr/share/libreoffice/sdk/classes/win/unowinreg.dll -> /build/libreoffice/src/185d60944ea767075d27247c3162b3bc-unowinreg.dll + rm "${srcdir}"/ext_sources/185d60944ea767075d27247c3162b3bc-unowinreg.dll + cp -f "${srcdir}"/185d60944ea767075d27247c3162b3bc-unowinreg.dll "${srcdir}"/ext_sources + + # fix not upstreamable pyuno paths - FS#54250 + patch -Np1 -i "${srcdir}"/make-pyuno-work-with-system-wide-module-install.diff + + # allow to build with recent liborcus/libixion/mdds stack - Debian patch + patch -Np1 -i ../liborcus-0.16.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-openssl \ + --enable-odk\ + --enable-python=system \ + --enable-scripting-beanshell \ + --enable-scripting-javascript \ + --disable-dconf \ + --disable-report-builder \ + --enable-ext-wiki-publisher \ + --enable-ext-nlpsolver \ + --without-fonts\ + --with-system-apr \ + --with-system-libcdr \ + --with-system-mdds\ + --without-myspell-dicts \ + --with-system-libvisio \ + --with-system-libcmis \ + --with-system-libmspub \ + --with-system-libexttextcat \ + --with-system-orcus \ + --with-system-liblangtag \ + --with-system-libodfgen \ + --with-system-libmwaw \ + --with-system-libetonyek \ + --with-system-libfreehand \ + --without-system-firebird \ + --without-system-qrcodegen \ + --with-system-libtommath \ + --with-system-libatomic-ops \ + --with-system-libebook \ + --with-system-libabw \ + --with-system-coinmp \ + --with-system-dicts \ + --with-external-dict-dir=/usr/share/hunspell \ + --with-external-hyph-dir=/usr/share/hyphen \ + --with-external-thes-dir=/usr/share/mythes \ + --with-system-beanshell \ + --with-system-cppunit\ + --with-system-graphite\ + --with-system-glm \ + --with-system-libnumbertext \ + --with-system-libwpg \ + --with-system-libwps \ + --with-system-redland\ + --with-system-libzmf \ + --with-system-gpgmepp \ + --with-system-libstaroffice \ + --with-system-serf \ + --with-jdk-home="/usr/lib/jvm/default" \ + --with-ant-home="/usr/share/ant"\ + --with-system-boost\ + --with-system-icu \ + --with-system-cairo \ + --with-system-libs \ + --with-system-mythes \ + --with-system-headers \ + --without-system-hsqldb \ + --with-system-clucene \ + --with-gdrive-client-id=${_google_default_client_id} \ + --with-gdrive-client-secret=${_google_default_client_secret} \ + --disable-dependency-tracking + + touch src.downloaded + make build-nocheck + + mkdir "${srcdir}"/fakeinstall + make DESTDIR="${srcdir}"/fakeinstall distro-pack-install +} + +#check() { +# cd "${srcdir}"/build +# make check +#} + +package_libreoffice-still-sdk() { + pkgdesc="Software Development Kit for LibreOffice maintenance branch" + depends=('libreoffice-still' 'gcc-libs' 'sh' 'make' 'zip' 'gcc' 'java-environment') + provides=('libreoffice-sdk') + conflicts=('libreoffice-fresh-sdk') + + for dir in $(grep -h ^%dir libreoffice-$_LOver/file-lists/sdk{,_doc}_list.txt); do + install -dm755 "${pkgdir}"/${dir/\%dir/} + done + + for file in $(grep -h -v ^%dir libreoffice-$_LOver/file-lists/sdk{,_doc}_list.txt); do + dirname=$(dirname $file) + [[ -d "${pkgdir}"/$dirname ]] || install -dm755 "${pkgdir}"/$dirname + mv "${srcdir}"/fakeinstall/${file} "${pkgdir}"/$file + done + + # fix environment path to keep compatibility with other java-environments + sed -i -e "s:\/usr\/lib\/jvm\/java-7-openjdk:\$J2SDKDIR:" \ + "${pkgdir}"/usr/lib/libreoffice/sdk/setsdkenv_unix.sh + + # fix permissions + find "${pkgdir}"/usr/lib/libreoffice/sdk/examples -type f -exec chmod -x {} + + + # add LibreOfficeKit headers; FS#48066 + install -dm755 "${pkgdir}"/usr/include/LibreOfficeKit + install -v -m644 "${srcdir}"/libreoffice-$_LOver/include/LibreOfficeKit/* "${pkgdir}"/usr/include/LibreOfficeKit +} + +package_libreoffice-still() { + pkgdesc="LibreOffice maintenance branch" + depends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python>=3.7' 'libwpd>=0.9.2' 'libwps' + 'neon>=0.28.6' 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' + 'libxslt' 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'graphite' 'icu' + 'lcms2' 'poppler>=0.24.0' 'libvisio' 'libetonyek' 'libodfgen' 'libcdr' + 'libmspub' 'harfbuzz-icu' 'nss' 'clucene' 'hicolor-icon-theme' + 'desktop-file-utils' 'shared-mime-info' 'libpagemaker' + 'libxinerama' 'libabw' 'libmwaw' 'libe-book' 'libcups' + 'liblangtag' 'libexttextcat' 'libcmis' 'liborcus' # 'libfbclient' + 'libtommath' 'libzmf' 'libatomic_ops' 'xmlsec' 'gpgme' 'libnumbertext' + 'libfreehand' 'libstaroffice' 'libepubgen' 'libqxp' 'libepoxy' + '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.9/site-packages + ln -svf /usr/lib/libreoffice/program/uno.py \ + "${pkgdir}"/usr/lib/python3.9/site-packages/uno.py + ln -svf /usr/lib/libreoffice/program/unohelper.py \ + "${pkgdir}"/usr/lib/python3.9/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/liborcus-0.16.diff (from rev 412603, libreoffice-still/trunk/liborcus-0.16.diff) =================================================================== --- staging-x86_64/liborcus-0.16.diff (rev 0) +++ staging-x86_64/liborcus-0.16.diff 2021-04-15 18:14:30 UTC (rev 412604) @@ -0,0 +1,1255 @@ +From 109ed8f775dddfede012d56d078abd70b45490c0 Mon Sep 17 00:00:00 2001 +From: Kohei Yoshida <ko...@libreoffice.org> +Date: Wed, 9 Sep 2020 21:23:48 -0400 +Subject: Upgrade liborcus to 0.16.0. + +Change-Id: Iae29fb26417dfc161698a81bee84e81545969065 +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102502 +Tested-by: Jenkins +Reviewed-by: Kohei Yoshida <ko...@libreoffice.org> +--- + RepositoryExternal.mk | 4 +- + configure.ac | 2 +- + download.lst | 4 +- + ...1-Mark-all-untentionally-unused-variables.patch | 376 +++++++++++++++++++++ + external/liborcus/ExternalPackage_liborcus.mk | 8 +- + external/liborcus/ExternalProject_liborcus.mk | 4 +- + external/liborcus/Library_orcus-parser.mk | 1 + + external/liborcus/Library_orcus.mk | 4 + + external/liborcus/UnpackedTarball_liborcus.mk | 1 + + external/liborcus/libtool.patch.0 | 10 +- + external/liborcus/windows-constants-hack.patch | 2 +- + sc/source/filter/inc/orcusinterface.hxx | 21 +- + sc/source/filter/orcus/interface.cxx | 82 +++-- + sc/source/filter/orcus/xmlcontext.cxx | 7 +- + sc/source/ui/xmlsource/xmlsourcedlg.cxx | 6 +- + 15 files changed, 480 insertions(+), 52 deletions(-) + create mode 100644 external/liborcus/0001-Mark-all-untentionally-unused-variables.patch + +diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk +index d9fa980d7f24..1f0a91de142a 100644 +--- a/RepositoryExternal.mk ++++ b/RepositoryExternal.mk +@@ -3270,7 +3270,7 @@ $(call gb_LinkTarget_set_include,$(1),\ + ) + + $(call gb_LinkTarget_add_libs,$(1),\ +- -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.15 \ ++ -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.16 \ + ) + + $(if $(SYSTEM_BOOST), \ +@@ -3289,7 +3289,7 @@ $(call gb_LinkTarget_set_include,$(1),\ + ) + + $(call gb_LinkTarget_add_libs,$(1),\ +- -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.15 \ ++ -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.16 \ + ) + + endef +diff --git a/configure.ac b/configure.ac +index 8e8d5eb662d9..06398bfa99a7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -10126,7 +10126,7 @@ AC_SUBST(ENABLE_FUZZERS) + dnl =================================================================== + dnl Orcus + dnl =================================================================== +-libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.15 >= 0.15.0]) ++libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.16 >= 0.16.0]) + if test "$with_system_orcus" != "yes"; then + if test "$SYSTEM_BOOST" = "TRUE"; then + # =========================================================== +diff --git a/download.lst b/download.lst +index ee4ba8a1c83b..345ddd19537b 100644 +--- a/download.lst ++++ b/download.lst +@@ -206,8 +206,8 @@ export OPENLDAP_SHA256SUM := cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb89 + export OPENLDAP_TARBALL := openldap-2.4.45.tgz + export OPENSSL_SHA256SUM := 14cb464efe7ac6b54799b34456bd69558a749a4931ecfd9cf9f71d7881cac7bc + export OPENSSL_TARBALL := openssl-1.0.2t.tar.gz +-export ORCUS_SHA256SUM := cfb2aa60825f2a78589ed030c07f46a1ee16ef8a2d1bf2279192fbc1ae5a5f61 +-export ORCUS_TARBALL := liborcus-0.15.4.tar.bz2 ++export ORCUS_SHA256SUM := 854c6ec167ace59baa2984e175bac7b5b2af91bfde4bb10d2088b87a51ed76ec ++export ORCUS_TARBALL := liborcus-0.16.0.tar.bz2 + export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb + export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz + export PAGEMAKER_SHA256SUM := 66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d +diff --git a/external/liborcus/0001-Mark-all-untentionally-unused-variables.patch b/external/liborcus/0001-Mark-all-untentionally-unused-variables.patch +new file mode 100644 +index 000000000000..b0f6a572aff7 +--- /dev/null ++++ b/external/liborcus/0001-Mark-all-untentionally-unused-variables.patch +@@ -0,0 +1,376 @@ ++From 6d34c41b661a9e8dddf6d08bf1f3c1fd4f5581da Mon Sep 17 00:00:00 2001 ++From: Kohei Yoshida <kohei.yosh...@gmail.com> ++Date: Fri, 11 Sep 2020 21:39:09 -0400 ++Subject: [PATCH] Mark all untentionally unused variables. ++ ++--- ++ include/orcus/css_parser.hpp | 70 ++++++++++++++++++++++++------ ++ include/orcus/csv_parser.hpp | 5 ++- ++ include/orcus/json_parser.hpp | 15 +++++-- ++ include/orcus/sax_parser.hpp | 35 ++++++++++++--- ++ include/orcus/sax_token_parser.hpp | 20 +++++++-- ++ include/orcus/yaml_parser.hpp | 10 ++++- ++ 6 files changed, 124 insertions(+), 31 deletions(-) ++ ++diff --git a/include/orcus/css_parser.hpp b/include/orcus/css_parser.hpp ++index cdfae5e0..3e96980b 100644 ++--- a/include/orcus/css_parser.hpp +++++ b/include/orcus/css_parser.hpp ++@@ -31,23 +31,44 @@ namespace orcus { ++ class css_handler ++ { ++ public: ++- void at_rule_name(const char* p, size_t n) {} +++ void at_rule_name(const char* p, size_t n) +++ { +++ (void)p; (void)n; +++ } ++ ++- void simple_selector_type(const char* p, size_t n) {} +++ void simple_selector_type(const char* p, size_t n) +++ { +++ (void)p; (void)n; +++ } ++ ++- void simple_selector_class(const char* p, size_t n) {} +++ void simple_selector_class(const char* p, size_t n) +++ { +++ (void)p; (void)n; +++ } ++ ++- void simple_selector_pseudo_element(orcus::css::pseudo_element_t pe) {} +++ void simple_selector_pseudo_element(orcus::css::pseudo_element_t pe) +++ { +++ (void)pe; +++ } ++ ++- void simple_selector_pseudo_class(orcus::css::pseudo_class_t pc) {} +++ void simple_selector_pseudo_class(orcus::css::pseudo_class_t pc) +++ { +++ (void)pc; +++ } ++ ++- void simple_selector_id(const char* p, size_t n) {} +++ void simple_selector_id(const char* p, size_t n) +++ { +++ (void)p; (void)n; +++ } ++ ++ void end_simple_selector() {} ++ ++ void end_selector() {} ++ ++- void combinator(orcus::css::combinator_t combinator) {} +++ void combinator(orcus::css::combinator_t combinator) +++ { +++ (void)combinator; +++ } ++ ++ /** ++ * Called at each property name. ++@@ -55,7 +76,10 @@ public: ++ * @param p pointer to the char-array containing the property name string. ++ * @param n length of the property name string. ++ */ ++- void property_name(const char* p, size_t n) {} +++ void property_name(const char* p, size_t n) +++ { +++ (void)p; (void)n; +++ } ++ ++ /** ++ * Called at each ordinary property value string. ++@@ -63,7 +87,10 @@ public: ++ * @param p pointer to the char-array containing the value string. ++ * @param n length of the value string. ++ */ ++- void value(const char* p, size_t n) {} +++ void value(const char* p, size_t n) +++ { +++ (void)p; (void)n; +++ } ++ ++ /** ++ * Called at each RGB color value of a property. ++@@ -72,7 +99,10 @@ public: ++ * @param green value of green (0-255) ++ * @param blue value of blue (0-255) ++ */ ++- void rgb(uint8_t red, uint8_t green, uint8_t blue) {} +++ void rgb(uint8_t red, uint8_t green, uint8_t blue) +++ { +++ (void)red; (void)green; (void)blue; +++ } ++ ++ /** ++ * Called at each RGB color value of a property with alpha transparency ++@@ -83,7 +113,10 @@ public: ++ * @param blue value of blue (0-255) ++ * @param alpha alpha transparency value ++ */ ++- void rgba(uint8_t red, uint8_t green, uint8_t blue, double alpha) {} +++ void rgba(uint8_t red, uint8_t green, uint8_t blue, double alpha) +++ { +++ (void)red; (void)green; (void)blue; (void)alpha; +++ } ++ ++ /** ++ * Called at each HSL color value of a property. ++@@ -92,7 +125,10 @@ public: ++ * @param sat saturation ++ * @param light lightness ++ */ ++- void hsl(uint8_t hue, uint8_t sat, uint8_t light) {} +++ void hsl(uint8_t hue, uint8_t sat, uint8_t light) +++ { +++ (void)hue; (void)sat; (void)light; +++ } ++ ++ /** ++ * Called at each HSL color value of a property with alpha transparency ++@@ -103,7 +139,10 @@ public: ++ * @param light lightness ++ * @param alpha alpha value ++ */ ++- void hsla(uint8_t hue, uint8_t sat, uint8_t light, double alpha) {} +++ void hsla(uint8_t hue, uint8_t sat, uint8_t light, double alpha) +++ { +++ (void)hue; (void)sat; (void)light; (void)alpha; +++ } ++ ++ /** ++ * Called at each URL value of a property. ++@@ -111,7 +150,10 @@ public: ++ * @param p pointer to the char-array containing the URL value string. ++ * @param n length of the URL value string. ++ */ ++- void url(const char* p, size_t n) {} +++ void url(const char* p, size_t n) +++ { +++ (void)p; (void)n; +++ } ++ ++ /** ++ * Called when the parsing begins. ++diff --git a/include/orcus/csv_parser.hpp b/include/orcus/csv_parser.hpp ++index a873b0f2..27b4f924 100644 ++--- a/include/orcus/csv_parser.hpp +++++ b/include/orcus/csv_parser.hpp ++@@ -47,7 +47,10 @@ public: ++ * the text content is guaranteed to be valid so long as ++ * the original CSV stream content is valid. ++ */ ++- void cell(const char* p, size_t n, bool transient) {} +++ void cell(const char* p, size_t n, bool transient) +++ { +++ (void)p; (void)n; (void)transient; +++ } ++ }; ++ ++ template<typename _Handler> ++diff --git a/include/orcus/json_parser.hpp b/include/orcus/json_parser.hpp ++index 51a3d7cc..ef22b3a8 100644 ++--- a/include/orcus/json_parser.hpp +++++ b/include/orcus/json_parser.hpp ++@@ -54,7 +54,10 @@ public: ++ * pointer points to somewhere in the JSON stream being ++ * parsed. ++ */ ++- void object_key(const char* p, size_t len, bool transient) {} +++ void object_key(const char* p, size_t len, bool transient) +++ { +++ (void)p; (void)len; (void)transient; +++ } ++ ++ /** ++ * Called when the closing curly brace of an object is encountered. ++@@ -87,14 +90,20 @@ public: ++ * pointer points to somewhere in the JSON stream being ++ * parsed. ++ */ ++- void string(const char* p, size_t len, bool transient) {} +++ void string(const char* p, size_t len, bool transient) +++ { +++ (void)p; (void)len; (void)transient; +++ } ++ ++ /** ++ * Called when a numeric value is encountered. ++ * ++ * @param val numeric value. ++ */ ++- void number(double val) {} +++ void number(double val) +++ { +++ (void)val; +++ } ++ }; ++ ++ /** ++diff --git a/include/orcus/sax_parser.hpp b/include/orcus/sax_parser.hpp ++index 73c17d06..3b21bfdf 100644 ++--- a/include/orcus/sax_parser.hpp +++++ b/include/orcus/sax_parser.hpp ++@@ -30,7 +30,10 @@ public: ++ * ++ * @param param struct containing doctype declaration data. ++ */ ++- void doctype(const orcus::sax::doctype_declaration& param) {} +++ void doctype(const orcus::sax::doctype_declaration& param) +++ { +++ (void)param; +++ } ++ ++ /** ++ * Called when <?... is encountered, where the '...' may be an ++@@ -39,28 +42,40 @@ public: ++ * ++ * @param decl name of the identifier. ++ */ ++- void start_declaration(const orcus::pstring& decl) {} +++ void start_declaration(const orcus::pstring& decl) +++ { +++ (void)decl; +++ } ++ ++ /** ++ * Called when the closing tag (>) of a <?... ?> is encountered. ++ * ++ * @param decl name of the identifier. ++ */ ++- void end_declaration(const orcus::pstring& decl) {} +++ void end_declaration(const orcus::pstring& decl) +++ { +++ (void)decl; +++ } ++ ++ /** ++ * Called at the start of each element. ++ * ++ * @param elem information of the element being parsed. ++ */ ++- void start_element(const orcus::sax::parser_element& elem) {} +++ void start_element(const orcus::sax::parser_element& elem) +++ { +++ (void)elem; +++ } ++ ++ /** ++ * Called at the end of each element. ++ * ++ * @param elem information of the element being parsed. ++ */ ++- void end_element(const orcus::sax::parser_element& elem) {} +++ void end_element(const orcus::sax::parser_element& elem) +++ { +++ (void)elem; +++ } ++ ++ /** ++ * Called when a segment of a text content is parsed. Each text content ++@@ -76,7 +91,10 @@ public: ++ * a non-text value or be interned within the scope of ++ * the callback</em>. ++ */ ++- void characters(const orcus::pstring& val, bool transient) {} +++ void characters(const orcus::pstring& val, bool transient) +++ { +++ (void)val; (void)transient; +++ } ++ ++ /** ++ * Called upon parsing of an attribute of an element. Note that <em>when ++@@ -86,7 +104,10 @@ public: ++ * ++ * @param attr struct containing attribute information. ++ */ ++- void attribute(const orcus::sax::parser_attribute& attr) {} +++ void attribute(const orcus::sax::parser_attribute& attr) +++ { +++ (void)attr; +++ } ++ }; ++ ++ /** ++diff --git a/include/orcus/sax_token_parser.hpp b/include/orcus/sax_token_parser.hpp ++index 1452bc27..6b1b1de4 100644 ++--- a/include/orcus/sax_token_parser.hpp +++++ b/include/orcus/sax_token_parser.hpp ++@@ -71,7 +71,10 @@ public: ++ * ++ * @param decl struct containing the attributes of the XML declaration. ++ */ ++- void declaration(const orcus::xml_declaration_t& decl) {} +++ void declaration(const orcus::xml_declaration_t& decl) +++ { +++ (void)decl; +++ } ++ ++ /** ++ * Called at the start of each element. ++@@ -79,7 +82,10 @@ public: ++ * @param elem struct containing the element's information as well as all ++ * the attributes that belong to the element. ++ */ ++- void start_element(const orcus::xml_token_element_t& elem) {} +++ void start_element(const orcus::xml_token_element_t& elem) +++ { +++ (void)elem; +++ } ++ ++ /** ++ * Called at the end of each element. ++@@ -87,7 +93,10 @@ public: ++ * @param elem struct containing the element's information as well as all ++ * the attributes that belong to the element. ++ */ ++- void end_element(const orcus::xml_token_element_t& elem) {} +++ void end_element(const orcus::xml_token_element_t& elem) +++ { +++ (void)elem; +++ } ++ ++ /** ++ * Called when a segment of a text content is parsed. Each text content ++@@ -103,7 +112,10 @@ public: ++ * a non-text value or be interned within the scope of ++ * the callback</em>. ++ */ ++- void characters(const orcus::pstring& val, bool transient) {} +++ void characters(const orcus::pstring& val, bool transient) +++ { +++ (void)val; (void)transient; +++ } ++ }; ++ ++ /** ++diff --git a/include/orcus/yaml_parser.hpp b/include/orcus/yaml_parser.hpp ++index 797ebbec..8d16fbc7 100644 ++--- a/include/orcus/yaml_parser.hpp +++++ b/include/orcus/yaml_parser.hpp ++@@ -72,14 +72,20 @@ public: ++ * @param p pointer to the first character of the string value. ++ * @param len length of the string value. ++ */ ++- void string(const char* p, size_t n) {} +++ void string(const char* p, size_t n) +++ { +++ (void)p; (void)n; +++ } ++ ++ /** ++ * Called when a numeric value is encountered. ++ * ++ * @param val numeric value. ++ */ ++- void number(double val) {} +++ void number(double val) +++ { +++ (void)val; +++ } ++ ++ /** ++ * Called when a boolean 'true' keyword is encountered. ++-- ++2.25.1 ++ +diff --git a/external/liborcus/ExternalPackage_liborcus.mk b/external/liborcus/ExternalPackage_liborcus.mk +index 21dd1bfb1ce5..747691809d2e 100644 +--- a/external/liborcus/ExternalPackage_liborcus.mk ++++ b/external/liborcus/ExternalPackage_liborcus.mk +@@ -12,11 +12,11 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,liborcus,liborcus)) + $(eval $(call gb_ExternalPackage_use_external_project,liborcus,liborcus)) + + ifeq ($(OS),MACOSX) +-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.15.0.dylib,src/liborcus/.libs/liborcus-0.15.0.dylib)) +-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.15.0.dylib,src/parser/.libs/liborcus-parser-0.15.0.dylib)) ++$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.16.0.dylib,src/liborcus/.libs/liborcus-0.16.0.dylib)) ++$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.16.0.dylib,src/parser/.libs/liborcus-parser-0.16.0.dylib)) + else ifeq ($(DISABLE_DYNLOADING),) +-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.15.so.0,src/liborcus/.libs/liborcus-0.15.so.0.0.0)) +-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.15.so.0,src/parser/.libs/liborcus-parser-0.15.so.0.0.0)) ++$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.16.so.0,src/liborcus/.libs/liborcus-0.16.so.0.0.0)) ++$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.16.so.0,src/parser/.libs/liborcus-parser-0.16.so.0.0.0)) + endif + + # vim: set noet sw=4 ts=4: +diff --git a/external/liborcus/ExternalProject_liborcus.mk b/external/liborcus/ExternalProject_liborcus.mk +index 136fa538397e..c2a8cdcbe4a3 100644 +--- a/external/liborcus/ExternalProject_liborcus.mk ++++ b/external/liborcus/ExternalProject_liborcus.mk +@@ -123,8 +123,8 @@ $(call gb_ExternalProject_get_state_target,liborcus,build) : + $(MAKE) \ + $(if $(filter MACOSX,$(OS)),\ + && $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \ +- $(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.15.0.dylib \ +- $(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.15.0.dylib \ ++ $(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.16.0.dylib \ ++ $(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.16.0.dylib \ + ) \ + ) + $(call gb_Trace_EndRange,liborcus,EXTERNAL) +diff --git a/external/liborcus/Library_orcus-parser.mk b/external/liborcus/Library_orcus-parser.mk +index d3cbddbb8cec..4e46591b98fe 100644 +--- a/external/liborcus/Library_orcus-parser.mk ++++ b/external/liborcus/Library_orcus-parser.mk +@@ -63,6 +63,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus-parser,\ + UnpackedTarball/liborcus/src/parser/tokens \ + UnpackedTarball/liborcus/src/parser/types \ + UnpackedTarball/liborcus/src/parser/xml_namespace \ ++ UnpackedTarball/liborcus/src/parser/xml_writer \ + UnpackedTarball/liborcus/src/parser/yaml_parser_base \ + UnpackedTarball/liborcus/src/parser/zip_archive \ + UnpackedTarball/liborcus/src/parser/zip_archive_stream \ +diff --git a/external/liborcus/Library_orcus.mk b/external/liborcus/Library_orcus.mk +index ea99e7509fbf..0a0ca582882a 100644 +--- a/external/liborcus/Library_orcus.mk ++++ b/external/liborcus/Library_orcus.mk +@@ -85,6 +85,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\ + UnpackedTarball/liborcus/src/liborcus/odf_tokens \ + UnpackedTarball/liborcus/src/liborcus/ods_content_xml_context \ + UnpackedTarball/liborcus/src/liborcus/ods_content_xml_handler \ ++ UnpackedTarball/liborcus/src/liborcus/ods_dde_links_context \ + UnpackedTarball/liborcus/src/liborcus/ods_session_data \ + UnpackedTarball/liborcus/src/liborcus/ooxml_content_types \ + UnpackedTarball/liborcus/src/liborcus/ooxml_global \ +@@ -103,6 +104,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\ + UnpackedTarball/liborcus/src/liborcus/orcus_xls_xml \ + UnpackedTarball/liborcus/src/liborcus/orcus_xlsx \ + UnpackedTarball/liborcus/src/liborcus/orcus_xml \ ++ UnpackedTarball/liborcus/src/liborcus/orcus_xml_impl \ + UnpackedTarball/liborcus/src/liborcus/orcus_xml_map_def \ + UnpackedTarball/liborcus/src/liborcus/session_context \ + UnpackedTarball/liborcus/src/liborcus/spreadsheet_iface_util \ +@@ -134,7 +136,9 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\ + UnpackedTarball/liborcus/src/liborcus/xml_simple_stream_handler \ + UnpackedTarball/liborcus/src/liborcus/xml_stream_handler \ + UnpackedTarball/liborcus/src/liborcus/xml_stream_parser \ ++ UnpackedTarball/liborcus/src/liborcus/xml_structure_mapper \ + UnpackedTarball/liborcus/src/liborcus/xml_structure_tree \ ++ UnpackedTarball/liborcus/src/liborcus/xpath_parser \ + UnpackedTarball/liborcus/src/liborcus/yaml_document_tree \ + )) + +diff --git a/external/liborcus/UnpackedTarball_liborcus.mk b/external/liborcus/UnpackedTarball_liborcus.mk +index e5e33b0b1249..4736dbccab4b 100644 +--- a/external/liborcus/UnpackedTarball_liborcus.mk ++++ b/external/liborcus/UnpackedTarball_liborcus.mk +@@ -20,6 +20,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,liborcus,\ + external/liborcus/gcc9.patch.0 \ + external/liborcus/libtool.patch.0 \ + external/liborcus/fix-pch.patch.0 \ ++ external/liborcus/0001-Mark-all-untentionally-unused-variables.patch \ + )) + + ifeq ($(OS),WNT) +diff --git a/external/liborcus/libtool.patch.0 b/external/liborcus/libtool.patch.0 +index aa6ffa908ec3..663dbd8099d7 100644 +--- a/external/liborcus/libtool.patch.0 ++++ b/external/liborcus/libtool.patch.0 +@@ -1,11 +1,11 @@ +---- ltmain.sh.sav 2018-09-14 23:47:13.000000000 +0200 +-+++ ltmain.sh 2019-05-05 23:11:30.406904472 +0200 +-@@ -7278,7 +7278,7 @@ func_mode_link () ++--- ltmain.sh.orig 2020-09-09 21:20:23.069433984 -0400 +++++ ltmain.sh 2020-09-09 21:27:13.168073996 -0400 ++@@ -7373,7 +7373,7 @@ + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ +-- -specs=*|-fsanitize=*) +-+ -specs=*|-fsanitize=*|-fuse-ld=*) ++- -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus) +++ -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus) + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + func_append compile_command " $arg" +diff --git a/external/liborcus/windows-constants-hack.patch b/external/liborcus/windows-constants-hack.patch +index 876bc1688a31..51aabfa1fb47 100644 +--- a/external/liborcus/windows-constants-hack.patch ++++ b/external/liborcus/windows-constants-hack.patch +@@ -8,7 +8,7 @@ index ae571f5..539ce18 100644 + + -#include "constants.inl" + +#define ORCUS_MAJOR_VERSION 0 +-+#define ORCUS_MINOR_VERSION 11 +++#define ORCUS_MINOR_VERSION 16 + +#define ORCUS_MICRO_VERSION 0 + + namespace orcus { +diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx +index b298c711d234..00aea6764957 100644 +--- a/sc/source/filter/inc/orcusinterface.hxx ++++ b/sc/source/filter/inc/orcusinterface.hxx +@@ -62,6 +62,11 @@ public: + { + return mnTextEncoding; + } ++ ++ ScDocumentImport& getDoc() const ++ { ++ return mrDoc; ++ } + }; + + class ScOrcusRefResolver : public orcus::spreadsheet::iface::import_reference_resolver +@@ -71,20 +76,28 @@ class ScOrcusRefResolver : public orcus::spreadsheet::iface::import_reference_re + public: + ScOrcusRefResolver( const ScOrcusGlobalSettings& rGS ); + +- orcus::spreadsheet::address_t resolve_address(const char* p, size_t n) override; +- orcus::spreadsheet::range_t resolve_range(const char* p, size_t n) override; ++ orcus::spreadsheet::src_address_t resolve_address(const char* p, size_t n) override; ++ orcus::spreadsheet::src_range_t resolve_range(const char* p, size_t n) override; + }; + + class ScOrcusNamedExpression : public orcus::spreadsheet::iface::import_named_expression + { + ScDocumentImport& mrDoc; + const ScOrcusGlobalSettings& mrGlobalSettings; +- SCTAB mnTab; //< negative if global, else >= 0 for sheet-local named expressions. ++ ScAddress maBasePos; ++ OUString maName; ++ OUString maExpr; ++ const SCTAB mnTab; //< negative if global, else >= 0 for sheet-local named expressions. + + public: + ScOrcusNamedExpression( ScDocumentImport& rDoc, const ScOrcusGlobalSettings& rGS, SCTAB nTab = -1 ); + +- virtual void define_name(const char* p_name, size_t n_name, const char* p_exp, size_t n_exp) override; ++ void reset(); ++ ++ virtual void set_base_position(const orcus::spreadsheet::src_address_t& pos) override; ++ virtual void set_named_expression(const char* p_name, size_t n_name, const char* p_exp, size_t n_exp) override; ++ virtual void set_named_range(const char* p_name, size_t n_name, const char* p_range, size_t n_range) override; ++ virtual void commit() override; + }; + + class ScOrcusSharedStrings : public orcus::spreadsheet::iface::import_shared_strings +diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx +index 220f7ce057f9..aa96eb21d405 100644 +--- a/sc/source/filter/orcus/interface.cxx ++++ b/sc/source/filter/orcus/interface.cxx +@@ -46,6 +46,7 @@ + #include <sal/log.hxx> + + #include <stylesbuffer.hxx> ++#include <orcus/exception.hpp> + + using namespace com::sun::star; + +@@ -158,51 +159,54 @@ orcus::spreadsheet::formula_grammar_t ScOrcusGlobalSettings::get_default_formula + ScOrcusRefResolver::ScOrcusRefResolver( const ScOrcusGlobalSettings& rGS ) : + mrGlobalSettings(rGS) {} + +-os::address_t ScOrcusRefResolver::resolve_address(const char* p, size_t n) ++os::src_address_t ScOrcusRefResolver::resolve_address(const char* p, size_t n) + { + OUString aStr(p, n, mrGlobalSettings.getTextEncoding()); + + ScAddress aAddr; +- aAddr.Parse(aStr, nullptr, ++ aAddr.Parse(aStr, &mrGlobalSettings.getDoc().getDoc(), + formula::FormulaGrammar::extractRefConvention( + mrGlobalSettings.getCalcGrammar())); + +- os::address_t ret; +- ret.column = 0; +- ret.row = 0; +- +- if (aAddr.IsValid()) ++ if (!aAddr.IsValid()) + { +- ret.column = aAddr.Col(); +- ret.row = aAddr.Row(); ++ std::ostringstream os; ++ os << "'" << std::string(p, n) << "' is not a valid address expression."; ++ throw orcus::invalid_arg_error(os.str()); + } + ++ os::src_address_t ret; ++ ret.sheet = aAddr.Tab(); ++ ret.column = aAddr.Col(); ++ ret.row = aAddr.Row(); ++ + return ret; + } + +-os::range_t ScOrcusRefResolver::resolve_range(const char* p, size_t n) ++os::src_range_t ScOrcusRefResolver::resolve_range(const char* p, size_t n) + { + OUString aStr(p, n, mrGlobalSettings.getTextEncoding()); + + ScRange aRange; +- aRange.Parse(aStr, nullptr, ++ aRange.Parse(aStr, &mrGlobalSettings.getDoc().getDoc(), + formula::FormulaGrammar::extractRefConvention( + mrGlobalSettings.getCalcGrammar())); + +- os::range_t ret; +- ret.first.column = 0; +- ret.first.row = 0; +- ret.last.column = 0; +- ret.last.row = 0; +- +- if (aRange.IsValid()) ++ if (!aRange.IsValid()) + { +- ret.first.column = aRange.aStart.Col(); +- ret.first.row = aRange.aStart.Row(); +- ret.last.column = aRange.aEnd.Col(); +- ret.last.row = aRange.aEnd.Row(); ++ std::ostringstream os; ++ os << "'" << std::string(p, n) << "' is not a valid range expression."; ++ throw orcus::invalid_arg_error(os.str()); + } + ++ os::src_range_t ret; ++ ret.first.sheet = aRange.aStart.Tab(); ++ ret.first.column = aRange.aStart.Col(); ++ ret.first.row = aRange.aStart.Row(); ++ ret.last.sheet = aRange.aEnd.Tab(); ++ ret.last.column = aRange.aEnd.Col(); ++ ret.last.row = aRange.aEnd.Row(); ++ + return ret; + } + +@@ -210,20 +214,46 @@ ScOrcusNamedExpression::ScOrcusNamedExpression( + ScDocumentImport& rDoc, const ScOrcusGlobalSettings& rGS, SCTAB nTab ) : + mrDoc(rDoc), mrGlobalSettings(rGS), mnTab(nTab) {} + +-void ScOrcusNamedExpression::define_name(const char* p_name, size_t n_name, const char* p_exp, size_t n_exp) ++void ScOrcusNamedExpression::reset() ++{ ++ maBasePos.SetTab(0); ++ maBasePos.SetCol(0); ++ maBasePos.SetRow(0); ++ maName.clear(); ++ maExpr.clear(); ++} ++ ++void ScOrcusNamedExpression::set_base_position(const orcus::spreadsheet::src_address_t& pos) ++{ ++ maBasePos.SetTab(pos.sheet); ++ maBasePos.SetCol(pos.column); ++ maBasePos.SetRow(pos.row); ++} ++ ++void ScOrcusNamedExpression::set_named_expression(const char* p_name, size_t n_name, const char* p_exp, size_t n_exp) ++{ ++ maName = OUString(p_name, n_name, mrGlobalSettings.getTextEncoding()); ++ maExpr = OUString(p_exp, n_exp, mrGlobalSettings.getTextEncoding()); ++} ++ ++void ScOrcusNamedExpression::set_named_range(const char* /*p_name*/, size_t /*n_name*/, const char* /*p_range*/, size_t /*n_range*/) + { +- OUString aName(p_name, n_name, mrGlobalSettings.getTextEncoding()); +- OUString aExpr(p_exp, n_exp, mrGlobalSettings.getTextEncoding()); ++ throw std::runtime_error("ScOrcusNamedExpression::set_named_range not implemented yet."); ++} + ++void ScOrcusNamedExpression::commit() ++{ + ScRangeName* pNames = mnTab >= 0 ? mrDoc.getDoc().GetRangeName(mnTab) : mrDoc.getDoc().GetRangeName(); + if (!pNames) + return; + + ScRangeData* pRange = new ScRangeData( +- &mrDoc.getDoc(), aName, aExpr, ScAddress(), ScRangeData::Type::Name, ++ &mrDoc.getDoc(), maName, maExpr, maBasePos, ScRangeData::Type::Name, + mrGlobalSettings.getCalcGrammar()); + + pNames->insert(pRange, false); ++ ++ reset(); // make sure to reset the state for the next run. + } + + ScOrcusFactory::CellStoreToken::CellStoreToken(const ScAddress& rPos, Type eType) +diff --git a/sc/source/filter/orcus/xmlcontext.cxx b/sc/source/filter/orcus/xmlcontext.cxx +index f886dd555a66..1f3ee58220a0 100644 +--- a/sc/source/filter/orcus/xmlcontext.cxx ++++ b/sc/source/filter/orcus/xmlcontext.cxx +@@ -89,10 +89,9 @@ void populateTree( + rTreeCtrl.set_image(*xEntry, rParam.maImgElementRepeat, -1); + } + +- orcus::xml_structure_tree::entity_names_type aNames; ++ orcus::xml_structure_tree::entity_names_type aNames = rWalker.get_attributes(); + + // Insert attributes. +- rWalker.get_attributes(aNames); + for (const orcus::xml_structure_tree::entity_name& rAttrName : aNames) + { + OUString sAttr(toString(rAttrName, rWalker)); +@@ -106,7 +105,7 @@ void populateTree( + rTreeCtrl.set_image(*xAttr, rParam.maImgAttribute, -1); + } + +- rWalker.get_children(aNames); ++ aNames = rWalker.get_children(); + + // Non-leaf if it has child elements, leaf otherwise. + rEntryData.mbLeafNode = aNames.empty(); +@@ -266,7 +265,7 @@ void ScOrcusXMLContextImpl::importXML(const ScOrcusImportXMLParam& rParam) + std::for_each(rLink.maFieldPaths.begin(), rLink.maFieldPaths.end(), + [&filter](const OString& rFieldPath) + { +- filter.append_field_link(rFieldPath.getStr()); ++ filter.append_field_link(rFieldPath.getStr(), orcus::pstring()); + } + ); + +diff --git a/sc/source/ui/xmlsource/xmlsourcedlg.cxx b/sc/source/ui/xmlsource/xmlsourcedlg.cxx +index 1eb2e4b06077..167ecae315ae 100644 +--- a/sc/source/ui/xmlsource/xmlsourcedlg.cxx ++++ b/sc/source/ui/xmlsource/xmlsourcedlg.cxx +@@ -49,8 +49,12 @@ OUString getXPath( + if (pData) + rNamespaces.push_back(pData->mnNamespaceID); + ++ // element separator is '/' whereas attribute separator is '/@' in xpath. + aBuf.insert(0, rTree.get_text(*xEntry, 0)); +- aBuf.insert(0, isAttribute(rTree, *xEntry) ? '@' : '/'); ++ if (isAttribute(rTree, *xEntry)) ++ aBuf.insert(0, "/@"); ++ else ++ aBuf.insert(0, '/'); + } + while (rTree.iter_parent(*xEntry)); + +-- +cgit v1.2.1 + +From 1821dde6601193cc0ddf87fc020de708544d9700 Mon Sep 17 00:00:00 2001 +From: Kohei Yoshida <ko...@libreoffice.org> +Date: Mon, 28 Sep 2020 16:19:54 -0400 +Subject: Update liborcus to 0.16.1. + +Change-Id: I27e87278545c1d41381b1ab8a49f6f6a07681bfb +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103590 +Tested-by: Jenkins +Reviewed-by: Kohei Yoshida <ko...@libreoffice.org> +--- + download.lst | 4 +- + ...1-Mark-all-untentionally-unused-variables.patch | 376 --------------------- + external/liborcus/UnpackedTarball_liborcus.mk | 1 - + 3 files changed, 2 insertions(+), 379 deletions(-) + delete mode 100644 external/liborcus/0001-Mark-all-untentionally-unused-variables.patch + +diff --git a/download.lst b/download.lst +index a4782bb2b9ef..48af3c5e9198 100644 +--- a/download.lst ++++ b/download.lst +@@ -206,8 +206,8 @@ export OPENLDAP_SHA256SUM := cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb89 + export OPENLDAP_TARBALL := openldap-2.4.45.tgz + export OPENSSL_SHA256SUM := 14cb464efe7ac6b54799b34456bd69558a749a4931ecfd9cf9f71d7881cac7bc + export OPENSSL_TARBALL := openssl-1.0.2t.tar.gz +-export ORCUS_SHA256SUM := 854c6ec167ace59baa2984e175bac7b5b2af91bfde4bb10d2088b87a51ed76ec +-export ORCUS_TARBALL := liborcus-0.16.0.tar.bz2 ++export ORCUS_SHA256SUM := c700d1325f744104d9fca0d5a019434901e9d51a16eedfb05792f90a298587a4 ++export ORCUS_TARBALL := liborcus-0.16.1.tar.bz2 + export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb + export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz + export PAGEMAKER_SHA256SUM := 66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d +diff --git a/external/liborcus/0001-Mark-all-untentionally-unused-variables.patch b/external/liborcus/0001-Mark-all-untentionally-unused-variables.patch +deleted file mode 100644 +index b0f6a572aff7..000000000000 +--- a/external/liborcus/0001-Mark-all-untentionally-unused-variables.patch ++++ /dev/null +@@ -1,376 +0,0 @@ +-From 6d34c41b661a9e8dddf6d08bf1f3c1fd4f5581da Mon Sep 17 00:00:00 2001 +-From: Kohei Yoshida <kohei.yosh...@gmail.com> +-Date: Fri, 11 Sep 2020 21:39:09 -0400 +-Subject: [PATCH] Mark all untentionally unused variables. +- +---- +- include/orcus/css_parser.hpp | 70 ++++++++++++++++++++++++------ +- include/orcus/csv_parser.hpp | 5 ++- +- include/orcus/json_parser.hpp | 15 +++++-- +- include/orcus/sax_parser.hpp | 35 ++++++++++++--- +- include/orcus/sax_token_parser.hpp | 20 +++++++-- +- include/orcus/yaml_parser.hpp | 10 ++++- +- 6 files changed, 124 insertions(+), 31 deletions(-) +- +-diff --git a/include/orcus/css_parser.hpp b/include/orcus/css_parser.hpp +-index cdfae5e0..3e96980b 100644 +---- a/include/orcus/css_parser.hpp +-+++ b/include/orcus/css_parser.hpp +-@@ -31,23 +31,44 @@ namespace orcus { +- class css_handler +- { +- public: +-- void at_rule_name(const char* p, size_t n) {} +-+ void at_rule_name(const char* p, size_t n) +-+ { +-+ (void)p; (void)n; +-+ } +- +-- void simple_selector_type(const char* p, size_t n) {} +-+ void simple_selector_type(const char* p, size_t n) +-+ { +-+ (void)p; (void)n; +-+ } +- +-- void simple_selector_class(const char* p, size_t n) {} +-+ void simple_selector_class(const char* p, size_t n) +-+ { +-+ (void)p; (void)n; +-+ } +- +-- void simple_selector_pseudo_element(orcus::css::pseudo_element_t pe) {} +-+ void simple_selector_pseudo_element(orcus::css::pseudo_element_t pe) +-+ { +-+ (void)pe; +-+ } +- +-- void simple_selector_pseudo_class(orcus::css::pseudo_class_t pc) {} +-+ void simple_selector_pseudo_class(orcus::css::pseudo_class_t pc) +-+ { +-+ (void)pc; +-+ } +- +-- void simple_selector_id(const char* p, size_t n) {} +-+ void simple_selector_id(const char* p, size_t n) +-+ { +-+ (void)p; (void)n; +-+ } +- +- void end_simple_selector() {} +- +- void end_selector() {} +- +-- void combinator(orcus::css::combinator_t combinator) {} +-+ void combinator(orcus::css::combinator_t combinator) +-+ { +-+ (void)combinator; +-+ } +- +- /** +- * Called at each property name. +-@@ -55,7 +76,10 @@ public: +- * @param p pointer to the char-array containing the property name string. +- * @param n length of the property name string. +- */ +-- void property_name(const char* p, size_t n) {} +-+ void property_name(const char* p, size_t n) +-+ { +-+ (void)p; (void)n; +-+ } +- +- /** +- * Called at each ordinary property value string. +-@@ -63,7 +87,10 @@ public: +- * @param p pointer to the char-array containing the value string. +- * @param n length of the value string. +- */ +-- void value(const char* p, size_t n) {} +-+ void value(const char* p, size_t n) +-+ { +-+ (void)p; (void)n; +-+ } +- +- /** +- * Called at each RGB color value of a property. +-@@ -72,7 +99,10 @@ public: +- * @param green value of green (0-255) +- * @param blue value of blue (0-255) +- */ +-- void rgb(uint8_t red, uint8_t green, uint8_t blue) {} +-+ void rgb(uint8_t red, uint8_t green, uint8_t blue) +-+ { +-+ (void)red; (void)green; (void)blue; +-+ } +- +- /** +- * Called at each RGB color value of a property with alpha transparency +-@@ -83,7 +113,10 @@ public: +- * @param blue value of blue (0-255) +- * @param alpha alpha transparency value +- */ +-- void rgba(uint8_t red, uint8_t green, uint8_t blue, double alpha) {} +-+ void rgba(uint8_t red, uint8_t green, uint8_t blue, double alpha) +-+ { +-+ (void)red; (void)green; (void)blue; (void)alpha; +-+ } +- +- /** +- * Called at each HSL color value of a property. +-@@ -92,7 +125,10 @@ public: +- * @param sat saturation +- * @param light lightness +- */ +-- void hsl(uint8_t hue, uint8_t sat, uint8_t light) {} +-+ void hsl(uint8_t hue, uint8_t sat, uint8_t light) +-+ { +-+ (void)hue; (void)sat; (void)light; +-+ } +- +- /** +- * Called at each HSL color value of a property with alpha transparency +-@@ -103,7 +139,10 @@ public: +- * @param light lightness +- * @param alpha alpha value +- */ +-- void hsla(uint8_t hue, uint8_t sat, uint8_t light, double alpha) {} +-+ void hsla(uint8_t hue, uint8_t sat, uint8_t light, double alpha) +-+ { +-+ (void)hue; (void)sat; (void)light; (void)alpha; +-+ } +- +- /** +- * Called at each URL value of a property. +-@@ -111,7 +150,10 @@ public: +- * @param p pointer to the char-array containing the URL value string. +- * @param n length of the URL value string. +- */ +-- void url(const char* p, size_t n) {} +-+ void url(const char* p, size_t n) +-+ { +-+ (void)p; (void)n; +-+ } +- +- /** +- * Called when the parsing begins. +-diff --git a/include/orcus/csv_parser.hpp b/include/orcus/csv_parser.hpp +-index a873b0f2..27b4f924 100644 +---- a/include/orcus/csv_parser.hpp +-+++ b/include/orcus/csv_parser.hpp +-@@ -47,7 +47,10 @@ public: +- * the text content is guaranteed to be valid so long as +- * the original CSV stream content is valid. +- */ +-- void cell(const char* p, size_t n, bool transient) {} +-+ void cell(const char* p, size_t n, bool transient) +-+ { +-+ (void)p; (void)n; (void)transient; +-+ } +- }; +- +- template<typename _Handler> +-diff --git a/include/orcus/json_parser.hpp b/include/orcus/json_parser.hpp +-index 51a3d7cc..ef22b3a8 100644 +---- a/include/orcus/json_parser.hpp +-+++ b/include/orcus/json_parser.hpp +-@@ -54,7 +54,10 @@ public: +- * pointer points to somewhere in the JSON stream being +- * parsed. +- */ +-- void object_key(const char* p, size_t len, bool transient) {} +-+ void object_key(const char* p, size_t len, bool transient) +-+ { +-+ (void)p; (void)len; (void)transient; +-+ } +- +- /** +- * Called when the closing curly brace of an object is encountered. +-@@ -87,14 +90,20 @@ public: +- * pointer points to somewhere in the JSON stream being +- * parsed. +- */ +-- void string(const char* p, size_t len, bool transient) {} +-+ void string(const char* p, size_t len, bool transient) +-+ { +-+ (void)p; (void)len; (void)transient; +-+ } +- +- /** +- * Called when a numeric value is encountered. +- * +- * @param val numeric value. +- */ +-- void number(double val) {} +-+ void number(double val) +-+ { +-+ (void)val; +-+ } +- }; +- +- /** +-diff --git a/include/orcus/sax_parser.hpp b/include/orcus/sax_parser.hpp +-index 73c17d06..3b21bfdf 100644 +---- a/include/orcus/sax_parser.hpp +-+++ b/include/orcus/sax_parser.hpp +-@@ -30,7 +30,10 @@ public: +- * +- * @param param struct containing doctype declaration data. +- */ +-- void doctype(const orcus::sax::doctype_declaration& param) {} +-+ void doctype(const orcus::sax::doctype_declaration& param) +-+ { +-+ (void)param; +-+ } +- +- /** +- * Called when <?... is encountered, where the '...' may be an +-@@ -39,28 +42,40 @@ public: +- * +- * @param decl name of the identifier. +- */ +-- void start_declaration(const orcus::pstring& decl) {} +-+ void start_declaration(const orcus::pstring& decl) +-+ { +-+ (void)decl; +-+ } +- +- /** +- * Called when the closing tag (>) of a <?... ?> is encountered. +- * +- * @param decl name of the identifier. +- */ +-- void end_declaration(const orcus::pstring& decl) {} +-+ void end_declaration(const orcus::pstring& decl) +-+ { +-+ (void)decl; +-+ } +- +- /** +- * Called at the start of each element. +- * +- * @param elem information of the element being parsed. +- */ +-- void start_element(const orcus::sax::parser_element& elem) {} +-+ void start_element(const orcus::sax::parser_element& elem) +-+ { +-+ (void)elem; +-+ } +- +- /** +- * Called at the end of each element. +- * +- * @param elem information of the element being parsed. +- */ +-- void end_element(const orcus::sax::parser_element& elem) {} +-+ void end_element(const orcus::sax::parser_element& elem) +-+ { +-+ (void)elem; +-+ } +- +- /** +- * Called when a segment of a text content is parsed. Each text content +-@@ -76,7 +91,10 @@ public: +- * a non-text value or be interned within the scope of +- * the callback</em>. +- */ +-- void characters(const orcus::pstring& val, bool transient) {} +-+ void characters(const orcus::pstring& val, bool transient) +-+ { +-+ (void)val; (void)transient; +-+ } +- +- /** +- * Called upon parsing of an attribute of an element. Note that <em>when +-@@ -86,7 +104,10 @@ public: +- * +- * @param attr struct containing attribute information. +- */ +-- void attribute(const orcus::sax::parser_attribute& attr) {} +-+ void attribute(const orcus::sax::parser_attribute& attr) +-+ { +-+ (void)attr; +-+ } +- }; +- +- /** +-diff --git a/include/orcus/sax_token_parser.hpp b/include/orcus/sax_token_parser.hpp +-index 1452bc27..6b1b1de4 100644 +---- a/include/orcus/sax_token_parser.hpp +-+++ b/include/orcus/sax_token_parser.hpp +-@@ -71,7 +71,10 @@ public: +- * +- * @param decl struct containing the attributes of the XML declaration. +- */ +-- void declaration(const orcus::xml_declaration_t& decl) {} +-+ void declaration(const orcus::xml_declaration_t& decl) +-+ { +-+ (void)decl; +-+ } +- +- /** +- * Called at the start of each element. +-@@ -79,7 +82,10 @@ public: +- * @param elem struct containing the element's information as well as all +- * the attributes that belong to the element. +- */ +-- void start_element(const orcus::xml_token_element_t& elem) {} +-+ void start_element(const orcus::xml_token_element_t& elem) +-+ { +-+ (void)elem; +-+ } +- +- /** +- * Called at the end of each element. +-@@ -87,7 +93,10 @@ public: +- * @param elem struct containing the element's information as well as all +- * the attributes that belong to the element. +- */ +-- void end_element(const orcus::xml_token_element_t& elem) {} +-+ void end_element(const orcus::xml_token_element_t& elem) +-+ { +-+ (void)elem; +-+ } +- +- /** +- * Called when a segment of a text content is parsed. Each text content +-@@ -103,7 +112,10 @@ public: +- * a non-text value or be interned within the scope of +- * the callback</em>. +- */ +-- void characters(const orcus::pstring& val, bool transient) {} +-+ void characters(const orcus::pstring& val, bool transient) +-+ { +-+ (void)val; (void)transient; +-+ } +- }; +- +- /** +-diff --git a/include/orcus/yaml_parser.hpp b/include/orcus/yaml_parser.hpp +-index 797ebbec..8d16fbc7 100644 +---- a/include/orcus/yaml_parser.hpp +-+++ b/include/orcus/yaml_parser.hpp +-@@ -72,14 +72,20 @@ public: +- * @param p pointer to the first character of the string value. +- * @param len length of the string value. +- */ +-- void string(const char* p, size_t n) {} +-+ void string(const char* p, size_t n) +-+ { +-+ (void)p; (void)n; +-+ } +- +- /** +- * Called when a numeric value is encountered. +- * +- * @param val numeric value. +- */ +-- void number(double val) {} +-+ void number(double val) +-+ { +-+ (void)val; +-+ } +- +- /** +- * Called when a boolean 'true' keyword is encountered. +--- +-2.25.1 +- +diff --git a/external/liborcus/UnpackedTarball_liborcus.mk b/external/liborcus/UnpackedTarball_liborcus.mk +index 4736dbccab4b..e5e33b0b1249 100644 +--- a/external/liborcus/UnpackedTarball_liborcus.mk ++++ b/external/liborcus/UnpackedTarball_liborcus.mk +@@ -20,7 +20,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,liborcus,\ + external/liborcus/gcc9.patch.0 \ + external/liborcus/libtool.patch.0 \ + external/liborcus/fix-pch.patch.0 \ +- external/liborcus/0001-Mark-all-untentionally-unused-variables.patch \ + )) + + ifeq ($(OS),WNT) +-- +cgit v1.2.1 + Copied: libreoffice-still/repos/staging-x86_64/libreoffice-still.csh (from rev 412603, libreoffice-still/trunk/libreoffice-still.csh) =================================================================== --- staging-x86_64/libreoffice-still.csh (rev 0) +++ staging-x86_64/libreoffice-still.csh 2021-04-15 18:14:30 UTC (rev 412604) @@ -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 412603, libreoffice-still/trunk/libreoffice-still.sh) =================================================================== --- staging-x86_64/libreoffice-still.sh (rev 0) +++ staging-x86_64/libreoffice-still.sh 2021-04-15 18:14:30 UTC (rev 412604) @@ -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 412603, 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 2021-04-15 18:14:30 UTC (rev 412604) @@ -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 412603, libreoffice-still/trunk/soffice-template.desktop.in) =================================================================== --- staging-x86_64/soffice-template.desktop.in (rev 0) +++ staging-x86_64/soffice-template.desktop.in 2021-04-15 18:14:30 UTC (rev 412604) @@ -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@