commit:     3d6f3eec3d12d7875acbd7742ea237e873fc535b
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Mar  2 13:11:12 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Mar  2 13:58:23 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d6f3eec

app-office/libreoffice: Fix PDF import w/ poppler >= 25.02.0; LLVM-19

- Add missing USEdep on dev-qt/qtbase:6[opengl]
- Backport various Clang/LLVM 19 build fixes
- Fix PDF import: https://bugs.documentfoundation.org/show_bug.cgi?id=1654331

Additional backports over 24.2.7.2-r1:

Michael Weghorn (1):
      qt: Set desktop file name without ".desktop" suffix

Mike Kaganski (1):
      Fix GNU C++ version check

Rene Engelhard (1):
      fix poppler < 25.02 builds again

Robin Candau (1):
      tdf#165433 Fix PDF imports with (system) poppler >= 25.02.0

Stephan Bergmann (14):
      Silence Clang 19 trunk -Werror,-Wcast-function-type-mismatch
      -Werror,-Wdeprecated-declarations
      Adapt compilerplugins to Clang 18 trunk isPure -> isPureVirtual rename
      Adapt to Clang 19 trunk isUnnamedBitfield -> isUnnamedBitField rename
      Avoid loplugin:casttovoid with recent Clang 19 trunk
      Avoid loplugin:noexceptmove failure with recent Clang 19 trunk
      Remaining GCC -Wcast-function-type issues
      double operator < is not a strict weak ordering due to NaN
      double operator < is not a strict weak ordering due to NaN
      Adapt to modified clang::PPCallbacks::InclusionDirective
      external/skia: Fix a std::sort comparison function's assertion assumptions
      Silence -Wdeprecated-pragma
      No need to define ETIME
      False loplugin:staticmethods with LLVM 19 trunk

Closes: https://bugs.gentoo.org/946627
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 app-office/libreoffice/Manifest                    |   1 +
 ...-9999.ebuild => libreoffice-24.2.7.2-r2.ebuild} | 130 +++++++--------------
 app-office/libreoffice/libreoffice-9999.ebuild     |   2 +-
 3 files changed, 43 insertions(+), 90 deletions(-)

diff --git a/app-office/libreoffice/Manifest b/app-office/libreoffice/Manifest
index 5e53caa64e34..4df367d719fd 100644
--- a/app-office/libreoffice/Manifest
+++ b/app-office/libreoffice/Manifest
@@ -20,6 +20,7 @@ DIST eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip 
427800 BLAKE2B d3ac085a3
 DIST f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip 211919 BLAKE2B 
2c72493e44d3ad1714d294fb7baaa85d33fef2eb4ce75bf507b65f78f1d9d399bb5eb72cee188a8abc4b234eb2845a26755791fb3ac104ffe6e55013ab41ca8b
 SHA512 
c1a15ebbfe817ec79d4b3f1c97d096bf8511737d7d35d97302856ccfb3de14a1cd16bd31000415d9ab24bbd9ef770d37855cee4b819ff0e8fca2f2766920a114
 DIST frozen-1.1.1.tar.gz 186589 BLAKE2B 
5f103311c49777d0d284cabe026fae55f09bd24b2227d56133c48b9f9f0542361f3e007687089145939c12fc6a1af8baf1c76ba76176bdddec3d726e45d705d1
 SHA512 
e22561a4e634e388e11f95b3005bc711e543013d314f6aaeda34befb2c673aea2d71a717d8822bc8fa85bdc8409945ba2ad91a1bac4f8cb5303080de01a5f60e
 DIST frozen-1.2.0.tar.gz 187169 BLAKE2B 
24844542dda345faad45ee9dd35a6fe165998f6aa2c4e16021567982fcaff7b7b5d25b53ff1f7207c67c3cd47b321233dab56c4bbe53738fbaaa3c2334771cf4
 SHA512 
644b29f60458fc5193a3fb16a347c190f9694d1bdbc75202aafe8d43eb72ce0433bbeaeb692f8ca485000d68b451ddc0236a1880ebbd64477f73198043d046b3
+DIST libreoffice-24.2.7.2-patchset-1.tar.xz 57396 BLAKE2B 
e110d7d832306009446fd172105e8e42d8be262e332eb2d87567b690b70a72fe85bb16b2545ffd5ba662a07a01cd3cb22ba0175bf109caac37aa73049ea69902
 SHA512 
729723cda299d75e79a9f2d2b54978c1bddfaacfd659b79bc33e32502fa3d4f835da9e6cf000963cff2a0c2e4115a821bc7669604f8aa0b8e84d4ea33abb2b09
 DIST libreoffice-24.2.7.2-patchset.tar.xz 37528 BLAKE2B 
5b486fdd47cf46a01a2dd0b404ffb6eba2428c5365b4a7097d7058bb655999039f411a095e3d756a3aa6c63f6746375b06ca9fb45dc6335684094fab9bb86ee0
 SHA512 
71f5b0bcbfefdbfceb776b8237304ad24b15d5ed0ccad614ea7e2d58d0cbddecc896d329563631e73ca846fdbfa864417bb2dfce348ea516f7ed2f62c24abcda
 DIST libreoffice-24.2.7.2.tar.xz 279885536 BLAKE2B 
850afbe1ca6bfec23e9fec6d323980e4a66e7789aaa388fb56f2195d9d498e696ef209675ab3adb56336db357835e48f9c1e3b6d5713b8e79bab85f1cfb02563
 SHA512 
f5e9cfc9d37d4890f691fbdf424e68623bbb37d8a9910aad1dc1e26cb4d38f6e5ca15f5bceb08d1cac6cbc37a3ddb0e50b873405e9f277e199bf08d0838346da
 DIST libreoffice-25.2.1.1.tar.xz 281724020 BLAKE2B 
a9c297309329d639ff05cd7cd8b7af8349a0fe562ceccd8ae99758535f55a27464d073fc6a8595078c5bd3d012c4b0d45af590efdd8c4b663bcb165c5d01fe06
 SHA512 
705600229d7aaf2f681a6a6ee71bbc9920251747781770eb5fef0ed79342b031ec10630fd0ae7f5613cca238ac512639739fc31134424b04f6ab52bf389f902b

diff --git a/app-office/libreoffice/libreoffice-9999.ebuild 
b/app-office/libreoffice/libreoffice-24.2.7.2-r2.ebuild
similarity index 85%
copy from app-office/libreoffice/libreoffice-9999.ebuild
copy to app-office/libreoffice/libreoffice-24.2.7.2-r2.ebuild
index bde82a65e131..755e3c07c18c 100644
--- a/app-office/libreoffice/libreoffice-9999.ebuild
+++ b/app-office/libreoffice/libreoffice-24.2.7.2-r2.ebuild
@@ -18,7 +18,7 @@ DEV_URI="
 ADDONS_URI="https://dev-www.libreoffice.org/src/";
 
 BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
-# PATCHSET="${P}-patchset-01.tar.xz"
+PATCHSET="${P}-patchset-1.tar.xz"
 
 [[ ${MY_PV} == *9999* ]] && inherit git-r3
 inherit autotools bash-completion-r1 check-reqs flag-o-matic java-pkg-opt-2 
multiprocessing python-single-r1 qmake-utils toolchain-funcs xdg-utils
@@ -49,13 +49,13 @@ ADDONS_SRC=(
        # not packaged in Gentoo, https://www.netlib.org/fp/dtoa.c
        "${ADDONS_URI}/dtoa-20180411.tgz"
        # not packaged in Gentoo, https://github.com/serge-sans-paille/frozen
-       "${ADDONS_URI}/frozen-1.2.0.tar.gz"
+       "${ADDONS_URI}/frozen-1.1.1.tar.gz"
        # not packaged in Gentoo, https://skia.org/
-       
"${ADDONS_URI}/skia-m130-3c64459d5df2fa9794b277f0959ed8a92552bf4c.tar.xz"
+       
"${ADDONS_URI}/skia-m116-2ddcf183eb260f63698aa74d1bb380f247ad7ccd.tar.xz"
        # not packaged in Gentoo, https://github.com/tsyrogit/zxcvbn-c
        "${ADDONS_URI}/zxcvbn-c-2.5.tar.gz"
-
        "base? (
+               ${ADDONS_URI}/commons-logging-1.2-src.tar.gz
                
${ADDONS_URI}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
                ${ADDONS_URI}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
                ${ADDONS_URI}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
@@ -70,11 +70,15 @@ ADDONS_SRC=(
        )"
        # Java-WebSocket: not packaged in Gentoo, 
https://github.com/TooTallNate/Java-WebSocket
        "java? (
-               ${ADDONS_URI}/Java-WebSocket-1.6.0.tar.gz
+               ${ADDONS_URI}/Java-WebSocket-1.5.4.tar.gz
                ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
        )"
        # no release for 8 years, should we package it?
        "libreoffice_extensions_wiki-publisher? ( 
${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )"
+       # Does not build with 1.6 rhino at all
+       "libreoffice_extensions_scripting-javascript? ( 
${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )"
+       # requirement of rhino
+       "libreoffice_extensions_scripting-javascript? ( 
${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )"
 )
 SRC_URI+=" ${ADDONS_SRC[*]}"
 
@@ -93,7 +97,7 @@ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 
~amd64-linux"
 LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
 
 IUSE="accessibility base bluetooth +branding clang coinmp +cups custom-cflags 
+dbus debug eds
-googledrive gstreamer gtk kde ldap +mariadb odk pdfimport postgres qt6 test 
valgrind vulkan
+googledrive gstreamer +gtk kde ldap +mariadb odk pdfimport postgres qt6 test 
valgrind vulkan
 $(printf 'libreoffice_extensions_%s ' ${LO_EXTS})"
 
 REQUIRED_USE="${PYTHON_REQUIRED_USE}
@@ -166,7 +170,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
        media-libs/libzmf
        media-libs/openjpeg:=
        media-libs/tiff:=
-       >=media-libs/zxing-cpp-2.3.0:=
+       media-libs/zxing-cpp:=
        net-misc/curl
        sci-mathematics/lpsolve:=
        sys-libs/zlib
@@ -197,9 +201,10 @@ COMMON_DEPEND="${PYTHON_DEPS}
        gtk? (
                app-accessibility/at-spi2-core:2
                dev-libs/glib:2
+               dev-libs/gobject-introspection
                gnome-base/dconf
                media-libs/mesa[egl(+)]
-               gui-libs/gtk[X]
+               x11-libs/gtk+:3[X]
                x11-libs/pango
        )
        kde? (
@@ -216,7 +221,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
        !mariadb? ( dev-db/mysql-connector-c:= )
        pdfimport? ( >=app-text/poppler-22.06:=[cxx] )
        postgres? ( >=dev-db/postgresql-9.0:*[kerberos] )
-       qt6? ( dev-qt/qtbase:6[gui,widgets] )
+       qt6? ( dev-qt/qtbase:6[gui,opengl,widgets] )
 "
 # FIXME: cppunit should be moved to test conditional
 #        after everything upstream is under gbuild
@@ -227,7 +232,7 @@ DEPEND="${COMMON_DEPEND}
        dev-perl/Archive-Zip
        >=dev-util/cppunit-1.14.0
        >=dev-util/gperf-3.1
-       dev-util/mdds:1/3.0
+       dev-util/mdds:1/2.1
        media-libs/glm
        x11-base/xorg-proto
        x11-libs/libXt
@@ -289,15 +294,16 @@ else
 fi
 
 PATCHES=(
-       # "${WORKDIR}"/${PATCHSET/.tar.xz/}
-
        # not upstreamable stuff
        "${FILESDIR}/${PN}-6.1-nomancompress.patch"
        "${FILESDIR}/${PN}-24.2-qtdetect.patch"
-       "${FILESDIR}/${PN}-25.2-cflags.patch"
 
        # TODO: upstream
-       "${FILESDIR}/${PN}-25.2-unused-qt6network.patch"
+       "${FILESDIR}/${PN}-7.6-unused-qt5network.patch"
+       "${FILESDIR}/${PN}-24.2-unused-qt6network.patch"
+
+       # from 24.8 branch: bugs #923950, #943695, #917618, #948825
+       "${WORKDIR}"/${PATCHSET/.tar.xz/}
 )
 
 _check_reqs() {
@@ -357,6 +363,15 @@ src_prepare() {
        # hack in the autogen.sh
        touch autogen.lastrun
 
+       # sed in the tests
+       sed -i \
+               -e "s#all : build unitcheck#all : build#g" \
+               solenv/gbuild/Module.mk || die
+       sed -i \
+               -e "s#check: dev-install subsequentcheck#check: unitcheck 
slowcheck dev-install subsequentcheck#g" \
+               -e "s#Makefile.gbuild all slowcheck#Makefile.gbuild all#g" \
+               Makefile.in || die
+
        sed -i \
                -e 
"s,/usr/share/bash-completion/completions,$(get_bashcompdir)," \
                -e "s,\$INSTALLDIRNAME.sh,${PN}," \
@@ -374,57 +389,6 @@ src_prepare() {
                        -e ":Keywords: s:pdf;::" \
                        sysui/desktop/menus/draw.desktop || die
        fi
-
-       # These test failures are largely added blindly in 25.2.1.1 to
-       # give us a baseline and then chip away at, rather than disregarding
-       # tests entirely.
-       #
-       # Various test skips from Fedora
-       #
-       # "Failing on multiple arches"
-       # "https://bugzilla.redhat.com/show_bug.cgi?id=2334719
-       # started to fail in 25.2.0.0"
-       sed -i -e '/CppunitTest_svgio/d' svgio/Module_svgio.mk || die
-       sed -i \
-               -e '/CppunitTest_sw_layoutwriter3/d' \
-               -e '/CppunitTest_sw_layoutwriter4/d' \
-               sw/Module_sw.mk || die
-       # "testStatusBarPageNumber it is said to "fail from time to time"...
-       # started to fail in 25.2.0.0"
-       # Skip tests failing with latest app-text/poppler (25.02.0?)
-       sed -i -e '/CppunitTest_sw_tiledrendering2/d' sw/Module_sw.mk || die
-       sed -i -e '/CppunitTest_sc_pdf_export/d' sc/Module_sc.mk || die
-       sed -i -e '/CppunitTest_sdext_pdfimport/d' sdext/Module_sdext.mk || die
-       sed -i -e '/CppunitTest_sfx2_view/d' sfx2/Module_sfx2.mk || die
-       sed -i -e '/CppunitTest_sw_pdf_test/d' sw/Module_sw.mk || die
-       #
-       # Fails w/ 25.2.1.1 on amd64
-       sed -i -e '/CppunitTest_sd_layout_tests/d' sd/Module_sd.mk || die
-       sed -i -e '/CppunitTest_vcl_text/d' vcl/Module_vcl.mk || die
-       sed -i -e '/CppunitTest_svx_unit/d' svx/Module_svx.mk || die
-       sed -i \
-               -e '/CppunitTest_chart2_import/d' \
-               -e '/CppunitTest_chart2_export2/d' \
-               chart2/Module_chart2.mk || die
-       sed -i \
-               -e '/CppunitTest_sc_array_functions_test/d' \
-               -e '/CppunitTest_sc_jumbosheets_test/d' \
-               -e '/CppunitTest_sc_subsequent_export_test4/d' \
-               -e '/CppunitTest_sc_subsequent_filters_test3/d' \
-               -e '/CppunitTest_sc_ucalc_formula/d' \
-               -e '/CppunitTest_sc_uicalc2/d' \
-               -e '/CppunitTest_sc_vba_macro_test/d' \
-               sc/Module_sc.mk || die
-       sed -i \
-               -e '/CppunitTest_sw_ooxmlexport/d' \
-               -e '/CppunitTest_sw_ooxmlimport/d' \
-               -e '/CppunitTest_sw_ww8export/d' \
-               -e '/CppunitTest_sw_core_layout/d' \
-               -e '/CppunitTest_sw_core_objectpositioning/d' \
-               -e '/CppunitTest_sw_core_text/d' \
-               -e '/CppunitTest_sw_layoutwriter/d' \
-               -e '/CppunitTest_sw_uiwriter/d' \
-               sw/Module_sw.mk || die
 }
 
 src_configure() {
@@ -515,8 +479,6 @@ src_configure() {
        # --without-system-sane: just sane.h header that is used for scan in 
writer,
        #   not linked or anything else, worthless to depend on
        # --disable-pdfium: not yet packaged
-       # --disable-qt6-multimedia: TODO
-       # --disable-cpdb: not yet packaged
        local myeconfargs=(
                --with-system-dicts
                --with-system-epoxy
@@ -534,22 +496,14 @@ src_configure() {
                --disable-breakpad
                --disable-bundle-mariadb
                --disable-ccache
-               --disable-cpdb
                --disable-epm
                --disable-fetch-external
                --disable-firebird-sdbc
-               --disable-gtk3
                --disable-gtk3-kde5
-               # Covered by our own toolchain defaults
-               --disable-hardening-flags
                --disable-online-update
                --disable-openssl
                --disable-pdfium
                --disable-qt5
-               --disable-qt6-multimedia
-               # Don't try to call coredumpctl in the testsuite
-               --without-coredumpctl
-               --without-dotnet
                --with-extra-buildid="${gentoo_buildid}"
                --enable-extension-integration
                --with-external-dict-dir="${EPREFIX}/usr/share/myspell"
@@ -574,7 +528,6 @@ src_configure() {
                --without-system-libfixmath
                --without-system-sane
                --without-system-zxcvbn
-               --without-system-java-websocket
                $(use_enable base report-builder)
                $(use_enable bluetooth sdremote-bluetooth)
                $(use_enable coinmp)
@@ -583,7 +536,7 @@ src_configure() {
                $(use_enable debug)
                $(use_enable eds evolution2)
                $(use_enable gstreamer gstreamer-1-0)
-               $(use_enable gtk gtk4)
+               $(use_enable gtk gtk3)
                $(use_enable kde kf6)
                $(use_enable ldap)
                $(use_enable odk)
@@ -600,7 +553,7 @@ src_configure() {
                $(use_with valgrind)
        )
 
-       if use eds || use gtk ; then
+       if use eds || use gtk; then
                myeconfargs+=( --enable-dconf --enable-gio )
        else
                myeconfargs+=( --disable-dconf --disable-gio )
@@ -644,23 +597,22 @@ src_compile() {
        addpredict /dev/ati
        addpredict /dev/nvidiactl
 
-       emake -Onone
+       default
 }
 
 src_test() {
-       emake -Onone -k unitcheck
-       emake -Onone -k slowcheck
+       emake unitcheck
+       emake slowcheck
 }
 
 src_install() {
-       emake -Onone DESTDIR="${D}" distro-pack-install
-
-       # TODO: still relevant for gtk4?
-       # bug #593514
-       #if use gtk3; then
-       #       dosym libreoffice/program/liblibreofficekitgtk.so \
-       #               /usr/$(get_libdir)/liblibreofficekitgtk.so
-       #fi
+       emake DESTDIR="${D}" distro-pack-install -o build -o check
+
+       # bug 593514
+       if use gtk; then
+               dosym libreoffice/program/liblibreofficekitgtk.so \
+                       /usr/$(get_libdir)/liblibreofficekitgtk.so
+       fi
 
        # bash completion aliases
        bashcomp_alias \

diff --git a/app-office/libreoffice/libreoffice-9999.ebuild 
b/app-office/libreoffice/libreoffice-9999.ebuild
index bde82a65e131..c8f5ca6c4f78 100644
--- a/app-office/libreoffice/libreoffice-9999.ebuild
+++ b/app-office/libreoffice/libreoffice-9999.ebuild
@@ -216,7 +216,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
        !mariadb? ( dev-db/mysql-connector-c:= )
        pdfimport? ( >=app-text/poppler-22.06:=[cxx] )
        postgres? ( >=dev-db/postgresql-9.0:*[kerberos] )
-       qt6? ( dev-qt/qtbase:6[gui,widgets] )
+       qt6? ( dev-qt/qtbase:6[gui,opengl,widgets] )
 "
 # FIXME: cppunit should be moved to test conditional
 #        after everything upstream is under gbuild

Reply via email to