From bde70f59490b14ac0534ae9fa6c4313317e6dd41 Mon Sep 17 00:00:00 2001
From: Raven <raven@sysadmins.ws>
Date: Mon, 11 Nov 2024 15:17:40 +0600
Subject: [PATCH] mc: rebuild with glib2 fixes

---
 .../libxkbcommon-change-lib-version.patch     |  30 ---
 base/libxkbcommon_ng/libxkbcommon.spec        | 127 ---------
 base/lxqt/liblxqt/liblxqt2.spec               | 253 ------------------
 ...visual-glitches-by-avoiding-g_module.patch |  15 ++
 base/mc/mc.spec                               |   7 +-
 5 files changed, 21 insertions(+), 411 deletions(-)
 delete mode 100644 base/libxkbcommon_ng/libxkbcommon-change-lib-version.patch
 delete mode 100644 base/libxkbcommon_ng/libxkbcommon.spec
 delete mode 100644 base/lxqt/liblxqt/liblxqt2.spec
 create mode 100644 base/mc/0001-Ticket-4576-fix-visual-glitches-by-avoiding-g_module.patch

diff --git a/base/libxkbcommon_ng/libxkbcommon-change-lib-version.patch b/base/libxkbcommon_ng/libxkbcommon-change-lib-version.patch
deleted file mode 100644
index 45b46fc..0000000
--- a/base/libxkbcommon_ng/libxkbcommon-change-lib-version.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -Naur a/meson.build b/meson.build
---- a/meson.build	2024-03-24 03:23:43.000000000 +0600
-+++ b/meson.build	2024-06-21 14:29:03.280506319 +0600
-@@ -253,7 +253,7 @@
-     link_args: libxkbcommon_link_args,
-     link_depends: libxkbcommon_link_deps,
-     gnu_symbol_visibility: 'hidden',
--    version: '0.0.0',
-+    version: '1.0.0',
-     install: true,
-     include_directories: include_directories('src', 'include'),
- )
-@@ -324,7 +324,7 @@
-         link_args: libxkbcommon_x11_link_args,
-         link_depends: libxkbcommon_x11_link_deps,
-         gnu_symbol_visibility: 'hidden',
--        version: '0.0.0',
-+        version: '1.0.0',
-         install: true,
-         include_directories: include_directories('src', 'include'),
-         link_with: libxkbcommon,
-@@ -389,7 +389,7 @@
-         link_depends: libxkbregistry_link_deps,
-         gnu_symbol_visibility: 'hidden',
-         dependencies: deps_libxkbregistry,
--        version: '0.0.0',
-+        version: '1.0.0',
-         install: true,
-         include_directories: include_directories('src', 'include'),
-     )
diff --git a/base/libxkbcommon_ng/libxkbcommon.spec b/base/libxkbcommon_ng/libxkbcommon.spec
deleted file mode 100644
index 7a7d107..0000000
--- a/base/libxkbcommon_ng/libxkbcommon.spec
+++ /dev/null
@@ -1,127 +0,0 @@
-%global realname libxkbcommon
-
-Name:           libxkbcommon_ng
-Version:        1.7.0
-Release:        1%{?gitdate:.%{gitdate}}%{?dist}
-Summary:        X.Org X11 XKB parsing library
-License:        MIT
-URL:            http://www.x.org
-
-Source0:        https://xkbcommon.org/download/%{realname}-%{version}.tar.xz
-Patch0:         libxkbcommon-change-lib-version.patch
-
-BuildRequires:  git meson
-BuildRequires:  xorg-x11-util-macros byacc flex bison
-BuildRequires:  xorg-x11-proto-devel libX11-devel
-BuildRequires:  xkeyboard-config-devel
-BuildRequires:  pkgconfig(xcb-xkb) >= 1.10
-BuildRequires:  libxml2-devel
-
-Requires:       xkeyboard-config
-
-%description
-%{name} is the X.Org library for compiling XKB maps into formats usable by
-the X Server or other display servers.
-
-%package devel
-Summary:        X.Org X11 XKB parsing development package
-Requires:       %{name}%{?_isa} = %{version}-%{release}
-Provides:       pkgconfig(xkbcommon) = %{version}-%{release}
-Provides:       pkgconfig(xkbregistry) = %{version}-%{release}
-Provides:       %{realname}-devel = %{version}-%{release}
-Conflicts:      %{realname}-devel
-
-%description devel
-X.Org X11 XKB parsing development package
-
-%package x11
-Summary:        X.Org X11 XKB keymap creation library
-Requires:       %{name}%{?_isa} = %{version}-%{release}
-
-%description x11
-%{name}-x11 is the X.Org library for creating keymaps by querying the X
-server.
-
-%package x11-devel
-Summary:        X.Org X11 XKB keymap creation library
-Requires:       %{name}-x11%{?_isa} = %{version}-%{release}
-Provides:       pkgconfig(xkbcommon-x11) = %{version}-%{release}
-Provides:       %{realname}-x11-devel = %{version}-%{release}
-Conflicts:      %{realname}-x11-devel
-
-%description x11-devel
-X.Org X11 XKB keymap creation library development package
-
-%package utils
-Summary:        X.Org X11 XKB parsing utilities
-Requires:       %{name}%{?_isa} = %{version}-%{release}
-Provides:       %{realname}-utils = %{version}-%{release}
-Conflicts:      %{realname}-utils
-
-%description utils
-%{name}-utils is a set of utilities to analyze and test XKB parsing.
-
-%prep
-%autosetup -S git -n %{realname}-%{version}
-
-%build
-%meson -Denable-docs=false \
-       -Denable-x11=true \
-       -Denable-wayland=false
-%meson_build
-
-
-%install
-%meson_install
-
-
-%ldconfig_scriptlets
-
-%files
-%license LICENSE
-%{_libdir}/libxkbcommon.so.1.0.0
-%{_libdir}/libxkbcommon.so.1
-%{_libdir}/libxkbregistry.so.1.0.0
-%{_libdir}/libxkbregistry.so.1
-
-%files devel
-%{_libdir}/libxkbcommon.so
-%{_libdir}/libxkbregistry.so
-%dir %{_includedir}/xkbcommon/
-%{_includedir}/xkbcommon/xkbcommon.h
-%{_includedir}/xkbcommon/xkbcommon-compat.h
-%{_includedir}/xkbcommon/xkbcommon-compose.h
-%{_includedir}/xkbcommon/xkbcommon-keysyms.h
-%{_includedir}/xkbcommon/xkbcommon-names.h
-%{_includedir}/xkbcommon/xkbregistry.h
-%{_libdir}/pkgconfig/xkbcommon.pc
-%{_libdir}/pkgconfig/xkbregistry.pc
-
-%ldconfig_scriptlets x11
-
-%files x11
-%{_libdir}/libxkbcommon-x11.so.1.0.0
-%{_libdir}/libxkbcommon-x11.so.1
-
-%files x11-devel
-%{_libdir}/libxkbcommon-x11.so
-%{_includedir}/xkbcommon/xkbcommon-x11.h
-%{_libdir}/pkgconfig/xkbcommon-x11.pc
-
-%files utils
-%{_bindir}/xkbcli
-%{_libexecdir}/xkbcommon/xkbcli-compile-keymap
-%{_libexecdir}/xkbcommon/xkbcli-how-to-type
-%{_libexecdir}/xkbcommon/xkbcli-interactive-evdev
-%{_libexecdir}/xkbcommon/xkbcli-interactive-x11
-%{_libexecdir}/xkbcommon/xkbcli-list
-%{_libexecdir}/xkbcommon/xkbcli-compile-compose
-%{_datadir}/bash-completion/completions/xkbcli
-%{_mandir}/man1/xkbcli-compile-compose.1*
-%{_mandir}/man1/xkbcli-compile-keymap.1*
-%{_mandir}/man1/xkbcli-how-to-type.1*
-%{_mandir}/man1/xkbcli-interactive-evdev.1*
-%{_mandir}/man1/xkbcli-interactive-x11.1*
-%{_mandir}/man1/xkbcli-list.1*
-%{_mandir}/man1/xkbcli.1*
-
diff --git a/base/lxqt/liblxqt/liblxqt2.spec b/base/lxqt/liblxqt/liblxqt2.spec
deleted file mode 100644
index ba9cd76..0000000
--- a/base/lxqt/liblxqt/liblxqt2.spec
+++ /dev/null
@@ -1,253 +0,0 @@
-%define __cmake_in_source_build 1
-
-%define rpm_macros_dir %{_rpmconfigdir}/macros.d
-
-Name:		liblxqt6
-Version:	1.3.0
-Release:	1%{?dist}
-License:	LGPLv2
-Summary:	Core shared library for LXQt desktop suite
-Url:		http://lxqt.org/
-Group:	    LXQt
-Source0:    https://github.com/lxqt/%{name}/archive/%{version}/%{name}-%{version}.tar.xz
-Source1:	macros.lxqt
-
-BuildRequires: cmake
-BuildRequires: libXScrnSaver-devel
-BuildRequires: lxqt-build-tools
-BuildRequires: pkgconfig(Qt5Core) >= 5.15.0
-BuildRequires: pkgconfig(Qt5Gui)
-BuildRequires: pkgconfig(Qt5Widgets)
-BuildRequires: pkgconfig(Qt5DBus)
-BuildRequires: pkgconfig(Qt5Xml)
-BuildRequires: pkgconfig(Qt5X11Extras)
-BuildRequires: pkgconfig(Qt5Xdg) >= 3.11.0
-BuildRequires: pkgconfig(Qt5Help)
-BuildRequires: kf5-kwindowsystem-devel
-BuildRequires: cmake(PolkitQt5-1)
-BuildRequires: glib2-devel
-Requires: xdg-utils >= 1.1.0
-
-%description
-Core utility library for all LXQT components
-
-%package devel
-Summary:	Devel files for liblxqt
-Requires:	%{name}%{?_isa} = %{version}-%{release}
-Requires:	lxqt-build-tools >= 0.13.0
-Requires:	cmake
-
-
-%description devel
-LXQt libraries for development.
-
-%package l10n
-Summary:        Translations for liblxqt
-Requires:       liblxqt
-Obsoletes:      lxqt-l10n < 0.14.0
-
-%description l10n
-This package provides translations for the liblxqt package.
-
-%prep
-%setup -q
-
-%{__mkdir} -p %{_target_platform}
-
-%build
-
-cd %{_target_platform}
-
-%cmake -DPULL_TRANSLATIONS=NO ../
-
-%cmake_build
-
-
-%install
-cd %{_target_platform}
-%cmake_install
-
-# RPM macros
-install -p -m0644 -D %{SOURCE1} %{buildroot}%{rpm_macros_dir}/macros.lxqt
-sed -i -e "s|@@CMAKE_VERSION@@|%{version}|" %{buildroot}%{rpm_macros_dir}/macros.lxqt
-touch -r %{SOURCE1} %{buildroot}%{rpm_macros_dir}/macros.lxqt
-
-%find_lang liblxqt --with-qt
-
-%ldconfig_scriptlets
-
-%files
-%doc AUTHORS COPYING
-%{_libdir}/liblxqt.so.1*
-%{_bindir}/lxqt-backlight_backend
-%{_datadir}/lxqt/power.conf
-%{_datadir}/polkit-1/actions/org.lxqt.backlight.pkexec.policy
-
-%files devel
-%{_libdir}/liblxqt.so
-%{_includedir}/lxqt/
-%{_datadir}/cmake/lxqt/
-%{_libdir}/pkgconfig/lxqt.pc
-%{rpm_macros_dir}/macros.lxqt
-
-%files l10n -f %{_target_platform}/%{name}.lang
-%license COPYING
-%doc AUTHORS README.md
-%dir %{_datadir}/lxqt/translations/%{name}
-%{_datadir}/lxqt/translations/%{name}/*.qm
-
-%changelog
-* Thu May 18 2023 Raven <raven@sysadmins.ws> - 1.3.0-1
-- update to 1.3.0
-
-* Fri Nov 11 2022 Raven <raven@sysadmins.ws> - 1.2.0-1
-- update to 1.2.0
-
-* Mon Nov 08 2021 Raven <raven@sysadmins.ws> - 1.0.0-1
-- update to 1.0.0
-- drop RHEL7 support
-
-* Tue Jan 26 2021 Raven <raven@sysadmins.ws> - 0.16.0-1
-- update to 0.16.0
-
-* Tue Jun 16 2020 Raven <raven@sysadmins.ws> - 0.15.1-1
-- update to 0.15.1
-
-* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.1-6
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
-
-* Fri Sep 20 2019 Zamir SUN <sztsian@gmail.com> - 0.14.1-5
-- Improve compatibility with epel7
-
-* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.1-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
-
-* Mon Jun 17 2019 Jan Grulich <jgrulich@redhat.com> - 0.14.1-3
-- rebuild (qt5)
-
-* Wed Jun 05 2019 Jan Grulich <jgrulich@redhat.com>   - 0.14.1-2
-- rebuild (qt5)
-
-* Mon Feb 25 2019 Zamir SUN <zsun@fedoraproject.org>  - 0.14.1-1
-- Update to 0.14.1
-
-* Wed Feb 13 2019 Zamir SUN <zsun@fedoraproject.org>  - 0.14.0-2
-- Add l10n sub package
-
-* Wed Feb 13 2019 Zamir SUN <zsun@fedoraproject.org>  - 0.14.0-1
-- Prepare for LXQt 0.14.0
-
-* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
-
-* Fri Aug 03 2018 Zamir SUN <zsun@fedoraproject.org> - 0.13.0-1
-- Update to 0.13.0
-
-* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.1-9
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
-
-* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.1-8
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.1-7
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
-
-* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.1-6
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.1-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Thu Jan 19 2017 Christian Dersch <lupinix@mailbox.org> - 0.11.1-4
-- rebuilt
-
-* Wed Jan 18 2017 Christian Dersch <lupinix@mailbox.org> - 0.11.1-3
-- moved translations to lxqt-l10n
-
-* Sat Jan 07 2017 Christian Dersch <lupinix@mailbox.org> - 0.11.1-2
-- devel subpackage should depend on lxqt-build-tools
-
-* Sat Jan 07 2017 Christian Dersch <lupinix@mailbox.org> - 0.11.1-1
-- new version
-
-* Sun Sep 25 2016 Helio Chissini de Castro <helio@kde.org> - 0.11.0-1
--  New upstream release 0.11.0
-
-* Tue Feb 09 2016 Rex Dieter <rdieter@fedoraproject.org> 0.10.0-9
-- fix grep usage in fix LXQtTranslateDesktop.cmake to assume text input (#1305999)
-
-* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-8
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
-
-* Fri Jan 15 2016 Helio Chissini de Castro <helio@kde.org> - 0.10.0-7
-- Remove razorqt obsoletes. Solves bug #1244155
-- RazortQt EOL code should be maintained by bug requesters
-
-* Thu Jan 14 2016 Helio Chissini de Castro <helio@kde.org> - 0.10.0-6
-- Rebuilt to all distros as missing for some reason on bodhi
-
-* Sun Dec 13 2015 Helio Chissini de Castro <helio@kde.org> - 0.10.0-5
-- Fix macros
-
-* Tue Dec 08 2015 Helio Chissini de Castro <helio@kde.org> - 0.10.0-4
-- Add macros and use same process as kf5 to compile. Makes things easier with different cmake
-
-* Tue Dec 08 2015 Helio Chissini de Castro <helio@kde.org> - 0.10.0-3
-- Prepare to use cmake3 on epel
-
-* Mon Dec 07 2015 Orion Poplawski <orion@cora.nwra.com> - 0.10.0-2
-- Update URL and Source0
-
-* Mon Nov 02 2015 Helio Chissini de Castro <helio@kde.org> - 0.10.0-1
-- New major upstream release
-
-* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.0-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 0.9.0-4
-- Rebuilt for GCC 5 C++11 ABI change
-
-* Wed Feb 18 2015 Helio Chissini de Castro <helio@kde.org> - 0.9.0-3
-- Rebuild (gcc5)
-
-* Tue Feb 10 2015 Helio Chissini de Castro <helio@kde.org> - 0.9.0-2
-- Obsoletes razorqt-libs and razorqt-libs-devel
-
-* Sun Feb 08 2015 Helio Chissini de Castro <hcastro@redhat.com> - 0.9.0-1
-- Official new upstream release
-
-* Mon Feb 02 2015 Helio Chissini de Castro <hcastro@redhat.com> - 0.9.0-0.1
-- Prepare for 0.9.0
-
-* Mon Dec 29 2014 Helio Chissini de Castro <hcastro@redhat.com> - 0.8.0-10
-- Rebuild against new Qt 5.4.0
-
-* Fri Dec 19 2014 Helio Chissini de Castro <hcastro@redhat.com> - 0.8.0-9
-- As discussed on irc channel, let's simplify to keep only lxqt share data dir
-
-* Tue Dec 16 2014 Helio Chissini de Castro <hcastro@redhat.com> - 0.8.0-8
-- requires xdg-utils.
-
-* Sat Nov 08 2014 Rex Dieter <rdieter@fedoraproject.org> 0.8.0-7
-- own /usr/share/lxqt-qt5, /usr/share/lxqt-qt5/translations
-
-* Sat Nov 08 2014 Rex Dieter <rdieter@fedoraproject.org> 0.8.0-6
-- (upstreamable) patch to move cmake files to libdir properly
-
-* Sat Nov 08 2014 Rex Dieter <rdieter@fedoraproject.org> 0.8.0-5
-- revert cmake hack, cmake files still reference the old dir (working on a better solution)
-
-* Fri Nov 07 2014 Rex Dieter <rdieter@fedoraproject.org> 0.8.0-4
-- fix build for older distros/rpm (where %%autostetup isn't available, like el6)
-
-* Fri Nov 07 2014 Helio Chissini de Castro <hcastro@redhat.com> 0.8.0-3
-- Merge qt5 datadir patch
-
-* Fri Nov 07 2014 TI_Eugene <ti.eugene@gmail.com> 0.8.0-2
-- License changed to LGPLv2
-- Removed BR liblxqt-devel in -devel package
-- RHEL6 workaround in %%install section
-- Library soname tune
-
-* Mon Oct 27 2014 TI_Eugene <ti.eugene@gmail.com> 0.8.0-1
-- initial packaging
diff --git a/base/mc/0001-Ticket-4576-fix-visual-glitches-by-avoiding-g_module.patch b/base/mc/0001-Ticket-4576-fix-visual-glitches-by-avoiding-g_module.patch
new file mode 100644
index 0000000..f950a5a
--- /dev/null
+++ b/base/mc/0001-Ticket-4576-fix-visual-glitches-by-avoiding-g_module.patch
@@ -0,0 +1,15 @@
+diff -Naur a/src/editor/spell.c b/src/editor/spell.c
+--- a/src/editor/spell.c	2024-08-08 13:49:18.000000000 +0600
++++ b/src/editor/spell.c	2024-10-03 16:07:15.840030146 +0600
+@@ -174,8 +174,9 @@
+ 
+     spell_module = g_module_open ("libaspell", G_MODULE_BIND_LAZY);
+ 
+-    if (spell_module != NULL
+-        && ASPELL_FUNCTION_AVAILABLE (new_aspell_config)
++    if (spell_module == NULL)
++        return FALSE;
++    if (ASPELL_FUNCTION_AVAILABLE (new_aspell_config)
+         && ASPELL_FUNCTION_AVAILABLE (aspell_dict_info_list_elements)
+         && ASPELL_FUNCTION_AVAILABLE (aspell_dict_info_enumeration_next)
+         && ASPELL_FUNCTION_AVAILABLE (new_aspell_speller)
diff --git a/base/mc/mc.spec b/base/mc/mc.spec
index 8c2a401..c0d80af 100644
--- a/base/mc/mc.spec
+++ b/base/mc/mc.spec
@@ -7,7 +7,7 @@
 Summary:    User-friendly text console file manager and visual shell
 Name:       mc
 Version:    4.8.32
-Release:    1%{?dist}
+Release:    2%{?dist}
 Epoch:      2
 License:    GPLv3+
 Group:      System Environment/Shells
@@ -18,6 +18,7 @@ Patch2:     %{name}-python3.patch
 Patch3:     %{name}-default_setup.patch
 Patch4:     %{name}-tmpdir.patch
 Patch5:     %{name}-use-glib-older-than-2.40.patch
+Patch6:     0001-Ticket-4576-fix-visual-glitches-by-avoiding-g_module.patch
 
 URL:        http://www.midnight-commander.org/
 BuildRoot:    %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -67,6 +68,7 @@ specific files.
 %if 0%{?rhel} <= 7
 %patch5 -p1 -b .glib2
 %endif
+%patch6 -p1 -b .glib2
 
 %build
 export CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $RPM_OPT_FLAGS -Wno-strict-aliasing"
@@ -149,6 +151,9 @@ rm -rf %{buildroot}
 %dir %{_libexecdir}/mc/ext.d
 
 %changelog
+* Thu Oct  3 2024 Raven <raven@sysadmins.ws> 4.8.32-2
+- import patch to fix #4576
+
 * Sun Aug 25 2024 Raven <raven@sysadmins.ws> 4.8.32-1
 - update to 4.8.32