diff --git a/extra/libreoffice-still/0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch b/extra/libreoffice-still/0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch new file mode 100644 index 000000000..52b383a9d --- /dev/null +++ b/extra/libreoffice-still/0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch @@ -0,0 +1,59 @@ +From 15e5d86cc55ad94ac946e04d5e25b84be5810970 Mon Sep 17 00:00:00 2001 +From: "Brett T. Warden" +Date: Fri, 30 Dec 2022 08:43:25 +0100 +Subject: Remove dependency on BitArray.h from zxing-1.2.0 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In zxing-1.4.0, numerous headers are no longer public. Rework the +ConvertToSVGFormat method so it uses bitmatrix.get instead of +bitmatrix.getRow, similar to the ToSVG method in zxing itself. + +See https://github.com/zxing-cpp/zxing-cpp/issues/361 + +Change-Id: Ie25eb8f782e8799fbd57c24ef79bba92acf0f9ff +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144874 +Tested-by: René Engelhard +Reviewed-by: René Engelhard +Tested-by: Jenkins +Reviewed-by: Caolán McNamara +--- + cui/source/dialogs/QrCodeGenDialog.cxx | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/cui/source/dialogs/QrCodeGenDialog.cxx b/cui/source/dialogs/QrCodeGenDialog.cxx +index f8cbac1d758d..817be7f21ede 100644 +--- a/cui/source/dialogs/QrCodeGenDialog.cxx ++++ b/cui/source/dialogs/QrCodeGenDialog.cxx +@@ -27,7 +27,6 @@ + #endif + + #include +-#include + #include + #include + #include +@@ -79,7 +78,6 @@ OString ConvertToSVGFormat(const ZXing::BitMatrix& bitmatrix) + OStringBuffer sb; + const int width = bitmatrix.width(); + const int height = bitmatrix.height(); +- ZXing::BitArray row(width); + sb.append("\n" + " +Date: Thu, 12 Jan 2023 20:55:27 +0000 +Subject: [PATCH] Related: tdf#151898 fix gtk4 build in 7-4 + +Change-Id: I71b59b7d2eac406817c79bf6911736ad4510771c +--- + +diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx +index 8ba6409..b697b0b 100644 +--- a/vcl/unx/gtk3/gtkinst.cxx ++++ b/vcl/unx/gtk3/gtkinst.cxx +@@ -5114,7 +5114,7 @@ + + void picture_set_from_xgraphic(GtkPicture* pPicture, const css::uno::Reference& rPicture) + { +- if (auto xTempFile = getImageFile(rPicture, false)) ++ if (auto xTempFile = getImageFile(rPicture)) + gtk_picture_set_filename(pPicture, OUStringToOString(xTempFile->GetFileName(), osl_getThreadTextEncoding()).getStr()); + else + gtk_picture_set_pixbuf(pPicture, nullptr); diff --git a/extra/libreoffice-still/PKGBUILD b/extra/libreoffice-still/PKGBUILD index 81d56c3f8..b55c8c96d 100644 --- a/extra/libreoffice-still/PKGBUILD +++ b/extra/libreoffice-still/PKGBUILD @@ -17,9 +17,9 @@ _google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4 pkgbase=libreoffice-still pkgname=('libreoffice-still-sdk' 'libreoffice-still') -_LOver=7.3.7.2 -pkgver=7.3.7 -pkgrel=3 +_LOver=7.4.5.1 +pkgver=7.4.5 +pkgrel=1 arch=('x86_64') license=('LGPL3') url="https://www.libreoffice.org/" @@ -30,15 +30,15 @@ makedepends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python' 'libwpd>=0.9.2' 'libwps' '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' + 'gperf' 'gtk3' 'gtk4' 'qt5-base' 'plasma-framework' 'qt6-base' 'cppunit' 'beanshell' 'clucene' 'junit' 'libmythes' 'libwpg' 'java-environment=11' 'postgresql-libs' 'mariadb-libs' 'libgl' 'bluez-libs' 'gdb' 'doxygen' 'libatomic_ops' 'mdds' - 'apr' 'serf' 'ttf-liberation' 'ttf-dejavu' 'ttf-carlito' 'libxinerama' 'libpagemaker' 'glm' + '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' + 'libtommath' 'libzmf' 'xmlsec' 'rxvt-unicode' 'gpgme' 'libwebp' 'libepubgen' 'libfreehand' 'libqxp' 'libstaroffice' 'boost' 'libnumbertext' - 'abseil-cpp' 'clang' #'zxing-cpp' + 'abseil-cpp' 'clang' 'zxing-cpp' 'libffi' 'box2d' 'git' ) options=('!lto') # using --enable-lto (for parallel link-time optimization) @@ -55,19 +55,21 @@ source=(${_mirror}/libreoffice{,-help,-translations}-${_LOver}.tar.xz{,.asc} ${_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}/pdfium-5058.tar.bz2 ${_additional_source_url}/dtoa-20180411.tgz ${_additional_source_url}/lxml-4.1.1.tgz - ${_additional_source_url}/skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz + ${_additional_source_url}/skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz ${_additional_source_url}/libcmis-0.5.2.tar.xz - ${_additional_source_url}/zxing-cpp-1.2.0.tar.gz + ${_additional_source_url}/dragonbox-1.1.3.tar.gz ${_additional_source_url2}/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar # for test suite ${_additional_source_url2}/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar # for test suite ${_additional_source_url2}/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf ${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll libreoffice-boost-1.81.0-locale.patch::https://github.com/LibreOffice/core/commit/23dcd4339428.patch make-pyuno-work-with-system-wide-module-install.diff - soffice-template.desktop.in + 0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch + 623ea5c.diff + soffice-template.desktop.in libreoffice-still.sh libreoffice-still.csh) noextract=(35c94d2df8893241173de1d16b6034c0-swingExSrc.zip 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip @@ -77,25 +79,25 @@ noextract=(35c94d2df8893241173de1d16b6034c0-swingExSrc.zip 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip - pdfium-4699.tar.bz2 + pdfium-5058.tar.bz2 dtoa-20180411.tgz lxml-4.1.1.tgz - skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz + skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz libcmis-0.5.2.tar.xz - zxing-cpp-1.2.0.tar.gz + dragonbox-1.1.3.tar.gz 8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar # for test suite odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar # for test suite f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf 185d60944ea767075d27247c3162b3bc-unowinreg.dll ) validpgpkeys=('C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3') # LibreOffice Build Team (CODE SIGNING KEY) -sha256sums=('52986602495f6d97561a54e09811ac5efe77bd83d8fa8c91a4529f061057f4bb' +sha256sums=('380ecf12cb37b94a2f5f210d277fc2d1e14b9f14d1d39e09d49135194e6ce18d' 'SKIP' - 'c819e74749937b19325a726749fdb30bac3e0ec7414c753c7eb39398f7c479d0' + '9e6badb999b686fd511db529b85f5e3e31ad991bffa06fb243e4685956bce681' 'SKIP' '59180fccb1b2c1f408eae15104d84f6761b59e186259af166da098a765d100b9' 'SKIP' - '64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1' + 'a49a58e8070ec111cc40efc9cdab32e8a1894d6a7788319306ccc461128e87c0' '1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753' '75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870' '983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776' @@ -103,30 +105,30 @@ sha256sums=('52986602495f6d97561a54e09811ac5efe77bd83d8fa8c91a4529f061057f4bb' 'd30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370' '1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133' '233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd' - 'ee80fe0a3b20ef5c5babc494cd655d1b1a0bdec710acb04524789df500c563bf' + 'eaf4ce9fad32b5d951c524139df23119b66c67720057defb97acab2dfb2582ac' '0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4' '940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e' 'acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76' - '97e859e8467eca9d2441cd23079b61c2c3863b5687620f18cc31a9f966740177' + 'c094a6247e44104beaaa0d00c825beb6baf1a8e532dc22214747495317a65bd9' 'd7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2' - '653d9e44195d86cf64a36af9ff3a1978ec5599df3882439fefa56e7064f55e8a' + '09d63b05e9c594ec423778ab59b7a5aa1d76fdd71d25c7048b0258c4ec9c3384' 'f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770' '984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504' 'f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140' 'eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6' '9754c1c9025dd34b010b3e9c9c39ef2f850331e486b5d0adbf5c86f554259b04' 'c463654a73ecfbc242ff109726fb4faecdbfb3d91affafe919b24bea65afb563' + 'fa0073dee8fc0519b84ed6af6fa9769b88abb24e694c314344c4606478101547' + '440c9af5f3d1213d8ed7177282380f25cbc981cabc8b590dcb777aaae84178e5' 'd0be8099cbee3c9dfda694a828149b881c345b204ab68826f317580aafb50879' 'cd1b25ff390e436c6bffa65c6e12382236e3ccbf8d3aae51b1b59bcaed79fd8a' - 'de20f36d45f0fecc2d94176dd3ec7226ab07fa8ffb9b0bc73c200349a9273de1') + 'b43ed267643fc5ced803dca010427b12b1f10db485173ccb19efb3395e60c82e' + '66f2cb5d2ff9909ee9633aea73d5306fc8c4ff358fa526f45d9994210d3e23ff') prepare() { cd libreoffice-$_LOver - # Workaround to fix build with gpgme 1.18.0 - export ac_cv_lib_gpgmepp_progress_callback=yes - # move external sources into place mkdir "${srcdir}"/ext_sources && pushd "${srcdir}"/ext_sources for source in "${noextract[@]}"; do @@ -145,6 +147,12 @@ prepare() { # fix not upstreamable pyuno paths - FS#54250 patch -Np1 -i "${srcdir}"/make-pyuno-work-with-system-wide-module-install.diff + # allow build with recent syytem xzing + patch -Np1 -i "${srcdir}"/0001_Remove_dependency_on_BitArray.h_from_zxing-1.2.0.patch + + # fix build - https://gerrit.libreoffice.org/c/core/+/145421 + patch -Np1 -i "${srcdir}"/623ea5c.diff + #use the CFLAGS but remove the LibO overridden ones for i in $CFLAGS; do case "$i" in @@ -160,9 +168,16 @@ build() { # strip -s from Makeflags in case you use it to shorten build logs _MAKEFLAGS=${MAKEFLAGS/-s/} + # Build only minimal debug info to reduce size (~1.2GB -> ~225MB) + CFLAGS=${CFLAGS/-g /-g1 } + CXXFLAGS=${CXXFLAGS/-g /-g1 } + # http://site.icu-project.org/download/61#TOC-Migration-Issues CPPFLAGS+=' -DU_USING_ICU_NAMESPACE=1' + # fix build with qt6 expecting libexec path + export qt6_libexec_dirs="/usr/lib/qt6" + ./autogen.sh --with-extra-buildid="${pkgver}-${pkgrel}" \ --with-vendor="Arch Linux" \ --enable-split-app-modules \ @@ -181,7 +196,9 @@ build() { --enable-gtk3-kde5 \ --enable-kf5 \ --enable-qt5 \ + --enable-qt6 \ --enable-gtk3 \ + --enable-gtk4 \ --enable-introspection \ --enable-openssl \ --enable-odk\ @@ -193,7 +210,6 @@ build() { --enable-ext-wiki-publisher \ --enable-ext-nlpsolver \ --without-fonts\ - --with-system-apr \ --with-system-libcdr \ --with-system-mdds\ --without-myspell-dicts \ @@ -208,7 +224,7 @@ build() { --with-system-libetonyek \ --with-system-libfreehand \ --disable-firebird-sdbc \ - --without-system-zxing \ + --with-system-zxing \ --with-system-libtommath \ --with-system-libatomic-ops \ --with-system-libebook \ @@ -229,7 +245,6 @@ build() { --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\ @@ -240,12 +255,14 @@ build() { --with-system-headers \ --without-system-hsqldb \ --with-system-clucene \ + --without-system-dragonbox \ + --without-system-libfixmath \ --with-gdrive-client-id=${_google_default_client_id} \ --with-gdrive-client-secret=${_google_default_client_secret} \ --disable-dependency-tracking touch src.downloaded - make build-nocheck + make build mkdir "${srcdir}"/fakeinstall make DESTDIR="${srcdir}"/fakeinstall distro-pack-install @@ -293,10 +310,10 @@ package_libreoffice-still() { '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' + 'liblangtag' 'libexttextcat' 'liborcus' 'libwebp' # 'libfbclient' 'libcmis' 'libtommath' 'libzmf' 'libatomic_ops' 'xmlsec' 'libnumbertext' 'gpgme' 'libfreehand' 'libstaroffice' 'libepubgen' 'libqxp' 'libepoxy' 'box2d' - #'zxing-cpp' + 'zxing-cpp' 'xdg-utils') optdepends=('java-runtime: adds java support' 'java-environment: required by extension-wiki-publisher and extension-nlpsolver' @@ -312,7 +329,9 @@ package_libreoffice-still() { 'mariadb-libs: for mysql-connector' 'coin-or-mp: required by the Calc solver' 'gtk3: for GTK3 integration' - 'kio: for KF5 KDE desktop integration') + 'gtk4: for GTK4 integration (experimental)' + 'kio: for KF5 KDE desktop integration' + 'qt6-base: for QT6 desktop integration') backup=(etc/libreoffice/sofficerc etc/libreoffice/bootstraprc etc/libreoffice/psprint.conf diff --git a/extra/libreoffice-still/libreoffice-still.csh b/extra/libreoffice-still/libreoffice-still.csh index 05392bba7..a278dc4bc 100644 --- a/extra/libreoffice-still/libreoffice-still.csh +++ b/extra/libreoffice-still/libreoffice-still.csh @@ -4,4 +4,6 @@ #setenv SAL_USE_VCLPLUGIN gtk3_kde5 #setenv SAL_USE_VCLPLUGIN kf5 #setenv SAL_USE_VCLPLUGIN qt5 +#setenv SAL_USE_VCLPLUGIN qt6 #setenv SAL_USE_VCLPLUGIN gtk3 +#setenv SAL_USE_VCLPLUGIN gtk4 diff --git a/extra/libreoffice-still/libreoffice-still.sh b/extra/libreoffice-still/libreoffice-still.sh index 2f4db7947..563cd7f45 100644 --- a/extra/libreoffice-still/libreoffice-still.sh +++ b/extra/libreoffice-still/libreoffice-still.sh @@ -4,4 +4,6 @@ #export SAL_USE_VCLPLUGIN=gtk3_kde5 #export SAL_USE_VCLPLUGIN=kf5 #export SAL_USE_VCLPLUGIN=qt5 +#export SAL_USE_VCLPLUGIN=qt6 #export SAL_USE_VCLPLUGIN=gtk3 +#export SAL_USE_VCLPLUGIN=gtk4