MINGW-packages icon indicating copy to clipboard operation
MINGW-packages copied to clipboard

kiconthemes-qt5: disable dbus support

Open lb90 opened this issue 3 years ago • 6 comments

Fixes #13198

lb90 avatar Sep 21 '22 16:09 lb90

Need to bump pkgrel variable. This did not solve the kate issue in my system. How did you test the new package with kate?

Biswa96 avatar Sep 21 '22 17:09 Biswa96

Need to bump pkgrel variable.

Ouch, I keep forgetting that!

This did not solve the kate issue in my system. How did you test the new package with kate?

Ah, let's see. I have re-tested and it seems to be working here. I have an MSYS2 shell for compiling / installing packages on one side and a MINGW32 shell to launch kate on another side. I have tried re-installing the upstream package and launching kate, and I experience the issue. Then I have re-installed the local package and launched kate, the issue went away.

lucab@DESKTOP-LOA8DP2 MSYS ~
$ pacman -S mingw-w64-i686-kiconthemes-qt5
warning: downgrading package mingw-w64-i686-kiconthemes-qt5 (5.98.0-2 => 5.98.0-1)
resolving dependencies...
looking for conflicting packages...

Packages (1) mingw-w64-i686-kiconthemes-qt5-5.98.0-1

Total Installed Size:  0.99 MiB
Net Upgrade Size:      0.01 MiB

:: Proceed with installation? [Y/n] Y
(1/1) checking keys in keyring                               [###############################] 100%
(1/1) checking package integrity                             [###############################] 100%
(1/1) loading package files                                  [###############################] 100%
(1/1) checking for file conflicts                            [###############################] 100%
(1/1) checking available disk space                          [###############################] 100%
:: Processing package changes...
(1/1) downgrading mingw-w64-i686-kiconthemes-qt5             [###############################] 100%

lucab@DESKTOP-LOA8DP2 MSYS ~
$ /mingw32/bin/kate # <-- hangs on exit

lucab@DESKTOP-LOA8DP2 MSYS ~
$ pacman -U /d/MINGW-packages/mingw-w64-kiconthemes-qt5/mingw-w64-i686-kiconthemes-qt5-5.98.0-2-any.pkg.tar.zst
loading packages...
resolving dependencies...
looking for conflicting packages...

Packages (1) mingw-w64-i686-kiconthemes-qt5-5.98.0-2

Total Installed Size:   0.98 MiB
Net Upgrade Size:      -0.01 MiB

:: Proceed with installation? [Y/n] Y
(1/1) checking keys in keyring                               [###############################] 100%
(1/1) checking package integrity                             [###############################] 100%
(1/1) loading package files                                  [###############################] 100%
(1/1) checking for file conflicts                            [###############################] 100%
(1/1) checking available disk space                          [###############################] 100%
:: Processing package changes...
(1/1) upgrading mingw-w64-i686-kiconthemes-qt5               [###############################] 100%

lucab@DESKTOP-LOA8DP2 MSYS ~
$ /mingw32/bin/kate # <-- exits cleanly

lucab@DESKTOP-LOA8DP2 MSYS ~
$

The local package was built from an MSYS2 shell that way:

lucab@DESKTOP-LOA8DP2 MSYS ~
$ cd /d/MINGW-packages/mingw-w64-kiconthemes-qt5/

lucab@DESKTOP-LOA8DP2 MSYS /d/MINGW-packages/mingw-w64-kiconthemes-qt5
$ MINGW_ARCH=mingw32 makepkg-mingw --install
==>  MINGW_ARCH: mingw32
  -> Building mingw32...
==> Making package: mingw-w64-kiconthemes-qt5 5.98.0-2 (Wed Sep 21 21:09:23 2022)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading kiconthemes-5.98.0.tar.xz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  222k  100  222k    0     0   412k      0 --:--:-- --:--:-- --:--:--  412k
  -> Found 0001-Opt-DBus-support-out.patch
==> Validating source files with sha256sums...
    kiconthemes-5.98.0.tar.xz ... Passed
    0001-Opt-DBus-support-out.patch ... Passed
==> Extracting sources...
  -> Extracting kiconthemes-5.98.0.tar.xz with bsdtar
==> Starting prepare()...
  -> Applying 0001-Opt-DBus-support-out.patch
patching file CMakeLists.txt
==> Starting build()...
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: D:/msys64/mingw32/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: D:/msys64/mingw32/bin/g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
--

Installing in /mingw32. Run D:/MINGW-packages/mingw-w64-kiconthemes-qt5/src/build-MINGW32-shared/prefix.sh to set the environment for KIconThemes.
-- Looking for __GLIBC__
-- Looking for __GLIBC__ - not found
-- Performing Test HAVE_DATE_TIME
-- Performing Test HAVE_DATE_TIME - Success
-- Performing Test BSYMBOLICFUNCTIONS_AVAILABLE
-- Performing Test BSYMBOLICFUNCTIONS_AVAILABLE - Success
-- Found Gettext: D:/msys64/mingw32/bin/msgmerge.exe (found version "0.21")
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- The following features have been enabled:

 * DESIGNERPLUGIN, Build plugin for Qt Designer

-- The following REQUIRED packages have been found:

 * ECM (required version >= 5.98.0), Extra CMake Modules., <https://commits.kde.org/extra-cmake-modules>
 * Qt5Gui (required version >= 5.15.6)
 * Qt5Svg (required version >= 5.15.2)
 * KF5Archive (required version >= 5.98.0)
 * Gettext
 * KF5I18n (required version >= 5.98.0)
 * KF5CoreAddons (required version >= 5.98.0)
 * Qt5Core (required version >= 5.15.2)
 * KF5Codecs (required version >= 5.98.0)
 * KF5ConfigWidgets (required version >= 5.98.0)
 * Qt5Widgets (required version >= 5.15.2)
 * KF5WidgetsAddons (required version >= 5.98.0)
 * Qt5UiPlugin
   Required to build Qt Designer plugins

-- The following features have been disabled:

 * QCH, API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)

-- Configuring done
-- Generating done
-- Build files have been written to: D:/MINGW-packages/mingw-w64-kiconthemes-qt5/src/build-MINGW32-shared
[1/31] Generating ts...
[2/31] Generating mo...
[3/31] Automatic MOC for target KF5IconThemes
[4/31] Automatic RCC for hicolor.qrc
[5/31] Generating ui_kicondialog.h
[6/31] Building CXX object src/CMakeFiles/KF5IconThemes.dir/KF5IconThemes_autogen/mocs_compilation.cpp.obj
[7/31] Building CXX object src/CMakeFiles/KF5IconThemes.dir/KF5IconThemes_autogen/EWIEGA46WW/qrc_hicolor.cpp.obj
[8/31] Building CXX object src/CMakeFiles/KF5IconThemes.dir/debug.cpp.obj
[9/31] Building CXX object src/CMakeFiles/KF5IconThemes.dir/kiconengine.cpp.obj
[10/31] Building CXX object src/CMakeFiles/KF5IconThemes.dir/kiconbutton.cpp.obj
[11/31] Building CXX object src/CMakeFiles/KF5IconThemes.dir/kiconengineplugin.cpp.obj
[12/31] Building CXX object src/CMakeFiles/KF5IconThemes.dir/kiconcolors.cpp.obj
[13/31] Building CXX object src/CMakeFiles/KF5IconThemes.dir/kiconeffect.cpp.obj
[14/31] Building CXX object src/CMakeFiles/KF5IconThemes.dir/kicondialog.cpp.obj
[15/31] Building CXX object src/CMakeFiles/KF5IconThemes.dir/kicontheme.cpp.obj
[16/31] Building CXX object src/CMakeFiles/KF5IconThemes.dir/kiconloader.cpp.obj
D:/MINGW-packages/mingw-w64-kiconthemes-qt5/src/kiconthemes-5.98.0/src/kiconloader.cpp: In member function 'void KIconLoaderGlobalData::emitChange(KIconLoader::Group)':
D:/MINGW-packages/mingw-w64-kiconthemes-qt5/src/kiconthemes-5.98.0/src/kiconloader.cpp:187:40: warning: unused parameter 'group' [-Wunused-parameter]
  187 |     void emitChange(KIconLoader::Group group)
      |                     ~~~~~~~~~~~~~~~~~~~^~~~~
[17/31] Linking CXX shared library bin\libKF5IconThemes.dll
[18/31] Automatic MOC for target kiconfinder5
[19/31] Building CXX object src/tools/kiconfinder/CMakeFiles/kiconfinder5.dir/kiconfinder5_autogen/mocs_compilation.cpp.obj
[20/31] Automatic MOC for target KIconEnginePlugin
[21/31] Building CXX object src/CMakeFiles/KIconEnginePlugin.dir/KIconEnginePlugin_autogen/mocs_compilation.cpp.obj
[22/31] Automatic MOC for target kiconthemeswidgets
[23/31] Generating qrc_designerplugin.cpp
[24/31] Building CXX object src/designer/CMakeFiles/kiconthemeswidgets.dir/kiconthemeswidgets_autogen/mocs_compilation.cpp.obj
[25/31] Building CXX object src/designer/CMakeFiles/kiconthemeswidgets.dir/qrc_designerplugin.cpp.obj
[26/31] Building CXX object src/tools/kiconfinder/CMakeFiles/kiconfinder5.dir/kiconfinder.cpp.obj
[27/31] Linking CXX executable bin\kiconfinder5.exe
[28/31] Building CXX object src/CMakeFiles/KIconEnginePlugin.dir/kiconengineplugin.cpp.obj
[29/31] Linking CXX shared module bin\KIconEnginePlugin.dll
[30/31] Building CXX object src/designer/CMakeFiles/kiconthemeswidgets.dir/kiconthemeswidgets_ECMQtDesignerPlugin/designerplugin.cpp.obj
[31/31] Linking CXX shared module bin\kiconthemes5widgets.dll
==> Starting package()...
-- Install configuration: "Release"
...
[1/3] Generating ts...
[2/3] Generating mo...
[2/3] Install the project...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "mingw-w64-i686-kiconthemes-qt5"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Finished making: mingw-w64-kiconthemes-qt5 5.98.0-2 (Wed Sep 21 21:09:54 2022)
==> Installing package mingw-w64-i686-kiconthemes-qt5 with pacman -U...
loading packages...
resolving dependencies...
looking for conflicting packages...

Packages (1) mingw-w64-i686-kiconthemes-qt5-5.98.0-2

Total Installed Size:  0.98 MiB
Net Upgrade Size:      0.00 MiB

:: Proceed with installation? [Y/n] Y
(1/1) checking keys in keyring                                                                                                 [###########################################################################] 100%
(1/1) checking package integrity                                                                                               [###########################################################################] 100%
(1/1) loading package files                                                                                                    [###########################################################################] 100%
(1/1) checking for file conflicts                                                                                              [###########################################################################] 100%
(1/1) checking available disk space                                                                                            [###########################################################################] 100%
:: Processing package changes...
(1/1) upgrading mingw-w64-i686-kiconthemes-qt5                                                                                 [###########################################################################] 100%

lucab@DESKTOP-LOA8DP2 MSYS /d/MINGW-packages/mingw-w64-kiconthemes-qt5
$

Note that Qt5DBus is not present in the list of REQUIRED packages output by CMake:

-- The following REQUIRED packages have been found:
 * ECM (required version >= 5.98.0), Extra CMake Modules., <https://commits.kde.org/extra-cmake-modules>
 * Qt5Gui (required version >= 5.15.6)
 * Qt5Svg (required version >= 5.15.2)
 * KF5Archive (required version >= 5.98.0)
 * Gettext
 * KF5I18n (required version >= 5.98.0)
 * KF5CoreAddons (required version >= 5.98.0)
 * Qt5Core (required version >= 5.15.2)
 * KF5Codecs (required version >= 5.98.0)
 * KF5ConfigWidgets (required version >= 5.98.0)
 * Qt5Widgets (required version >= 5.15.2)
 * KF5WidgetsAddons (required version >= 5.98.0)
 * Qt5UiPlugin

lb90 avatar Sep 21 '22 19:09 lb90

Could it be that it's getting Qt5DBus transitively from other optional dependencies? 🤔

Otherwise we may patch kiconloader.cpp directly

lb90 avatar Sep 21 '22 19:09 lb90

Qt5DBus is part of qt5-base

$ pacman -F /mingw64/bin/Qt5DBus.dll
mingw64/bin/Qt5DBus.dll is owned by mingw64/mingw-w64-x86_64-qt5-base 5.15.6+kde+r235-1

Biswa96 avatar Sep 21 '22 19:09 Biswa96

Hey, looks like this issue was fixed in Qt6 by pinning the QtDBus DLL:

  • https://github.com/qt/qtbase/blob/v6.3.2/src/dbus/qdbusconnection.cpp#L1266
  • https://github.com/qt/qtbase/commit/9449325f2b234981a2ecc1b0a0bd6ec74f30ff6c

Maybe we can just backport the patch to Qt5?

EDIT: TBH I'm not sure if pinned DLLs still get a DLL_PROCESS_DETACH call on process exit, let me try

lb90 avatar Sep 22 '22 10:09 lb90

image

already in qt5

DioEgizio avatar Sep 28 '22 18:09 DioEgizio

so, what's the status here?

lazka avatar Oct 27 '22 13:10 lazka

Superseded by #14482, closing!

lb90 avatar Dec 09 '22 11:12 lb90