From 6915b8fad2d8897573cbd02aa7d76413eec7d0c7 Mon Sep 17 00:00:00 2001 From: B Stack Date: Thu, 26 Dec 2019 11:48:39 -0500 Subject: revert ffs to gtk2 Which means I can only build it locally and not on OBS. --- freefilesync/debian/README.Debian | 8 ++ freefilesync/debian/changelog | 8 ++ freefilesync/debian/compat | 2 +- freefilesync/debian/control | 12 ++- freefilesync/debian/patches/ffs_devuan.patch | 107 ---------------------- freefilesync/debian/patches/ffs_devuan_gtk2.patch | 82 +++++++++++++++++ freefilesync/debian/patches/ffs_devuan_gtk3.patch | 107 ++++++++++++++++++++++ freefilesync/debian/patches/series | 3 +- 8 files changed, 216 insertions(+), 113 deletions(-) delete mode 100644 freefilesync/debian/patches/ffs_devuan.patch create mode 100644 freefilesync/debian/patches/ffs_devuan_gtk2.patch create mode 100644 freefilesync/debian/patches/ffs_devuan_gtk3.patch (limited to 'freefilesync') diff --git a/freefilesync/debian/README.Debian b/freefilesync/debian/README.Debian index 2dd582d..c49274e 100644 --- a/freefilesync/debian/README.Debian +++ b/freefilesync/debian/README.Debian @@ -1,3 +1,11 @@ +freefilesync (10.18-2+devuan) + + * Revert to libwxgtk3.0 (gtk2) instead of libwxgtk3.0-gtk3 + * This involves using the local devuan-archive repo because libwxgtk3.0 + was dropped in Devuan upstream + + -- B Stack Thu, 26 Dec 2019 09:46:15 -0500 + freefilesync (10.18-1+devuan) * Switch to gtk3 so OBS can build it diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog index a271815..028ac27 100644 --- a/freefilesync/debian/changelog +++ b/freefilesync/debian/changelog @@ -1,3 +1,11 @@ +freefilesync (10.18-2+devuan) obs; urgency=medium + + * Revert to libwxgtk3.0 (gtk2) instead of libwxgtk3.0-gtk3 + * This involves using the local devuan-archive repo because libwxgtk3.0 + was dropped in Devuan upstream + + -- B Stack Thu, 26 Dec 2019 09:46:15 -0500 + freefilesync (10.18-1+devuan) obs; urgency=low * Save/load database files in parallel diff --git a/freefilesync/debian/compat b/freefilesync/debian/compat index b4de394..48082f7 100644 --- a/freefilesync/debian/compat +++ b/freefilesync/debian/compat @@ -1 +1 @@ -11 +12 diff --git a/freefilesync/debian/control b/freefilesync/debian/control index 4d8291f..58a71cf 100644 --- a/freefilesync/debian/control +++ b/freefilesync/debian/control @@ -2,16 +2,20 @@ Source: freefilesync Section: utils Priority: optional Maintainer: B Stack -Build-Depends: debhelper (>=11~), +Build-Depends: debhelper (>=12~), autotools-dev, imagemagick, libcurl4-openssl-dev, - libgtk-3-dev, libssh2-1-dev, libssl-dev, - libwxgtk3.0-gtk3-dev, wx3.0-headers, - unzip + unzip, +# gtk2 version + libgtk2.0-dev, + libwxgtk3.0-dev, +# gtk3 version +# libgtk-3-dev, +# libwxgtk3.0-gtk3-dev, Standards-Version: 4.1.4 Homepage: https://freefilesync.org/ diff --git a/freefilesync/debian/patches/ffs_devuan.patch b/freefilesync/debian/patches/ffs_devuan.patch deleted file mode 100644 index 705d84d..0000000 --- a/freefilesync/debian/patches/ffs_devuan.patch +++ /dev/null @@ -1,107 +0,0 @@ -Author: B Stack -Source: Original research -Date: 2019-11-21 -Message: Main patch to compile on Devuan. -This reintroduces the gtk-3 usage, because Debian/Devuan stopped packaging libwxgtk3.0-dev (which used gtk2) and only does libwxgtk3.0-gtk3-dev. However, by reintroducing the gtk3, it brings back the old gtk3 instability from my previous packaging effort: https://freefilesync.org/forum/viewtopic.php?t=4918. /mnt/public/packages/old/freefilesync/freefilesync-9.7-1.master.tgz. Upstream never replied, but did note in the source that gtk3 is inherently unstable. -diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/base/ffs_paths.cpp 10.18-1/FreeFileSync/Source/base/ffs_paths.cpp ---- 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400 -+++ 10.18-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-11-21 09:41:42.287474472 -0500 -@@ -64,7 +64,8 @@ - - Zstring fff::getResourceDirPf() - { -- return getProcessParentFolderPath() + FILE_NAME_SEPARATOR + Zstr("Resources") + FILE_NAME_SEPARATOR; -+ // For Fedora, EL and Devuan, install to /usr/share/freefilesync specificly -+ return Zstr("/usr/share/freefilesync/"); - } - - -diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/Makefile 10.18-1/FreeFileSync/Source/Makefile ---- 10.11-0/FreeFileSync/Source/Makefile 2019-04-12 08:05:57.000000000 -0400 -+++ 10.18-1/FreeFileSync/Source/Makefile 2019-11-21 09:42:57.408243242 -0500 -@@ -1,10 +1,10 @@ --EXENAME = FreeFileSync_$(shell arch) -+EXENAME = FreeFileSync - - CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \ - -Wall -Wfatal-errors -Wmissing-include-dirs -Wswitch-enum -Wcast-align -Wshadow -Wnon-virtual-dtor \ - -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread - --LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread -+LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -lz -pthread - - - CXXFLAGS += `pkg-config --cflags openssl` -@@ -16,9 +16,10 @@ - CXXFLAGS += `pkg-config --cflags libssh2` - LINKFLAGS += `pkg-config --libs libssh2` - --CXXFLAGS += `pkg-config --cflags gtk+-2.0` -+CXXFLAGS += `pkg-config --cflags gtk+-3.0` -+LINKFLAGS += `pkg-config --libs gtk+-3.0` - #treat as system headers so that warnings are hidden: --CXXFLAGS += -isystem/usr/include/gtk-2.0 -+CXXFLAGS += -isystem/usr/include/gtk-3.0 - - #support for SELinux (optional) - SELINUX_EXISTING=$(shell pkg-config --exists libselinux && echo YES) -diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/RealTimeSync/Makefile 10.18-1/FreeFileSync/Source/RealTimeSync/Makefile ---- 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 2019-04-12 08:05:57.000000000 -0400 -+++ 10.18-1/FreeFileSync/Source/RealTimeSync/Makefile 2019-11-21 09:46:11.378240094 -0500 -@@ -1,15 +1,16 @@ --EXENAME = RealTimeSync_$(shell arch) -+EXENAME = RealTimeSync - - CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \ - -Wall -Wfatal-errors -Wmissing-include-dirs -Wswitch-enum -Wcast-align -Wshadow -Wnon-virtual-dtor \ - -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread - --LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread -+LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -lz -pthread - - #Gtk - support "no button border" --CXXFLAGS += `pkg-config --cflags gtk+-2.0` -+CXXFLAGS += `pkg-config --cflags gtk+-3.0` -+LINKFLAGS += `pkg-config --libs gtk+-3.0` - #treat as system headers so that warnings are hidden: --CXXFLAGS += -isystem/usr/include/gtk-2.0 -+CXXFLAGS += -isystem/usr/include/gtk-3.0 - - CPP_FILES= - CPP_FILES+=application.cpp -diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.18-1/FreeFileSync/Source/ui/small_dlgs.cpp ---- 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 08:05:57.000000000 -0400 -+++ 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 13:58:55.050550183 -0400 -@@ -117,6 +117,8 @@ - L" x64"; - #endif - -+ build += -+ L" for Devuan"; - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() - -diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/wx+/dc.h 10.18-1/wx+/dc.h ---- 10.18-0/wx+/dc.h 2019-11-21 08:24:23.967769384 -0500 -+++ 10.18-1/wx+/dc.h 2019-11-21 09:42:12.779786504 -0500 -@@ -54,7 +54,7 @@ - #ifdef wxHAVE_DPI_INDEPENDENT_PIXELS //pulled from wx/window.h: https://github.com/wxWidgets/wxWidgets/blob/master/include/wx/window.h#L2029 - return d; //e.g. macOS, GTK3 - #else //https://github.com/wxWidgets/wxWidgets/blob/master/src/common/wincmn.cpp#L2865 -- static_assert(GTK_MAJOR_VERSION == 2); -+ static_assert(GTK_MAJOR_VERSION == 3); - //GTK2 doesn't properly support high DPI: https://freefilesync.org/forum/viewtopic.php?t=6114 - //=> requires general fix at wxWidgets-level - assert(wxTheApp); //only call after wxWidgets was initalized! -diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/base/icon_loader.cpp 10.18-1/FreeFileSync/Source/base/icon_loader.cpp ---- 10.18-0/FreeFileSync/Source/base/icon_loader.cpp 2019-11-21 08:24:23.955769262 -0500 -+++ 10.18-1/FreeFileSync/Source/base/icon_loader.cpp 2019-11-21 09:42:15.439813730 -0500 -@@ -18,7 +18,7 @@ - - namespace - { --static_assert(GTK_MAJOR_VERSION == 2, "FreeFileSync does NOT (currently) support GTK3! The GTK calls below will lead to crashes due to not being thread-safe on GTK3."); -+static_assert(GTK_MAJOR_VERSION == 3, "FreeFileSync does NOT (currently) support GTK3! The GTK calls below will lead to crashes due to not being thread-safe on GTK3."); - //gdk_threads_enter(); + ZEN_ON_SCOPE_EXIT(::gdk_threads_leave); is NOT enough; e.g. GTK3 + openSuse still crashes with: - // Gtk:ERROR:gtkicontheme.c:4026:proxy_pixbuf_destroy: assertion failed: (icon_info->proxy_pixbuf != NULL) - //GTK icon theme internals: https://github.com/GNOME/gtk/blob/master/gtk/gtkicontheme.c diff --git a/freefilesync/debian/patches/ffs_devuan_gtk2.patch b/freefilesync/debian/patches/ffs_devuan_gtk2.patch new file mode 100644 index 0000000..f7680d7 --- /dev/null +++ b/freefilesync/debian/patches/ffs_devuan_gtk2.patch @@ -0,0 +1,82 @@ +Author: B Stack +Source: Original research +Date: 2019-11-21 +Message: Main patch to compile on Devuan. +diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/base/ffs_paths.cpp 10.18-1/FreeFileSync/Source/base/ffs_paths.cpp +--- 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400 ++++ 10.18-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-11-21 09:41:42.287474472 -0500 +@@ -64,7 +64,8 @@ + + Zstring fff::getResourceDirPf() + { +- return getProcessParentFolderPath() + FILE_NAME_SEPARATOR + Zstr("Resources") + FILE_NAME_SEPARATOR; ++ // For Fedora, EL and Devuan, install to /usr/share/freefilesync specificly ++ return Zstr("/usr/share/freefilesync/"); + } + + +diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/Makefile 10.18-1/FreeFileSync/Source/Makefile +--- 10.11-0/FreeFileSync/Source/Makefile 2019-04-12 08:05:57.000000000 -0400 ++++ 10.18-2/FreeFileSync/Source/Makefile 2019-11-21 09:42:57.408243242 -0500 +@@ -1,10 +1,10 @@ +-EXENAME = FreeFileSync_$(shell arch) ++EXENAME = FreeFileSync + + CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \ + -Wall -Wfatal-errors -Wmissing-include-dirs -Wswitch-enum -Wcast-align -Wshadow -Wnon-virtual-dtor \ + -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread + +-LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread ++LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -lz -pthread + + + CXXFLAGS += `pkg-config --cflags openssl` +@@ -16,9 +16,10 @@ + CXXFLAGS += `pkg-config --cflags libssh2` + LINKFLAGS += `pkg-config --libs libssh2` + +-CXXFLAGS += `pkg-config --cflags gtk+-2.0` ++CXXFLAGS += `pkg-config --cflags gtk+-2.0` ++LINKFLAGS += `pkg-config --libs gtk+-2.0` + #treat as system headers so that warnings are hidden: +-CXXFLAGS += -isystem/usr/include/gtk-2.0 ++CXXFLAGS += -isystem/usr/include/gtk-2.0 + + #support for SELinux (optional) + SELINUX_EXISTING=$(shell pkg-config --exists libselinux && echo YES) +diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/RealTimeSync/Makefile 10.18-1/FreeFileSync/Source/RealTimeSync/Makefile +--- 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 2019-04-12 08:05:57.000000000 -0400 ++++ 10.18-2/FreeFileSync/Source/RealTimeSync/Makefile 2019-11-21 09:46:11.378240094 -0500 +@@ -1,15 +1,16 @@ +-EXENAME = RealTimeSync_$(shell arch) ++EXENAME = RealTimeSync + + CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \ + -Wall -Wfatal-errors -Wmissing-include-dirs -Wswitch-enum -Wcast-align -Wshadow -Wnon-virtual-dtor \ + -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread + +-LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread ++LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -lz -pthread + + #Gtk - support "no button border" +-CXXFLAGS += `pkg-config --cflags gtk+-2.0` ++CXXFLAGS += `pkg-config --cflags gtk+-2.0` ++LINKFLAGS += `pkg-config --libs gtk+-2.0` + #treat as system headers so that warnings are hidden: +-CXXFLAGS += -isystem/usr/include/gtk-2.0 ++CXXFLAGS += -isystem/usr/include/gtk-2.0 + + CPP_FILES= + CPP_FILES+=application.cpp +diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.18-1/FreeFileSync/Source/ui/small_dlgs.cpp +--- 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 08:05:57.000000000 -0400 ++++ 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 13:58:55.050550183 -0400 +@@ -117,6 +117,8 @@ + L" x64"; + #endif + ++ build += ++ L" for Devuan"; + + GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() + diff --git a/freefilesync/debian/patches/ffs_devuan_gtk3.patch b/freefilesync/debian/patches/ffs_devuan_gtk3.patch new file mode 100644 index 0000000..705d84d --- /dev/null +++ b/freefilesync/debian/patches/ffs_devuan_gtk3.patch @@ -0,0 +1,107 @@ +Author: B Stack +Source: Original research +Date: 2019-11-21 +Message: Main patch to compile on Devuan. +This reintroduces the gtk-3 usage, because Debian/Devuan stopped packaging libwxgtk3.0-dev (which used gtk2) and only does libwxgtk3.0-gtk3-dev. However, by reintroducing the gtk3, it brings back the old gtk3 instability from my previous packaging effort: https://freefilesync.org/forum/viewtopic.php?t=4918. /mnt/public/packages/old/freefilesync/freefilesync-9.7-1.master.tgz. Upstream never replied, but did note in the source that gtk3 is inherently unstable. +diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/base/ffs_paths.cpp 10.18-1/FreeFileSync/Source/base/ffs_paths.cpp +--- 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400 ++++ 10.18-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-11-21 09:41:42.287474472 -0500 +@@ -64,7 +64,8 @@ + + Zstring fff::getResourceDirPf() + { +- return getProcessParentFolderPath() + FILE_NAME_SEPARATOR + Zstr("Resources") + FILE_NAME_SEPARATOR; ++ // For Fedora, EL and Devuan, install to /usr/share/freefilesync specificly ++ return Zstr("/usr/share/freefilesync/"); + } + + +diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/Makefile 10.18-1/FreeFileSync/Source/Makefile +--- 10.11-0/FreeFileSync/Source/Makefile 2019-04-12 08:05:57.000000000 -0400 ++++ 10.18-1/FreeFileSync/Source/Makefile 2019-11-21 09:42:57.408243242 -0500 +@@ -1,10 +1,10 @@ +-EXENAME = FreeFileSync_$(shell arch) ++EXENAME = FreeFileSync + + CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \ + -Wall -Wfatal-errors -Wmissing-include-dirs -Wswitch-enum -Wcast-align -Wshadow -Wnon-virtual-dtor \ + -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread + +-LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread ++LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -lz -pthread + + + CXXFLAGS += `pkg-config --cflags openssl` +@@ -16,9 +16,10 @@ + CXXFLAGS += `pkg-config --cflags libssh2` + LINKFLAGS += `pkg-config --libs libssh2` + +-CXXFLAGS += `pkg-config --cflags gtk+-2.0` ++CXXFLAGS += `pkg-config --cflags gtk+-3.0` ++LINKFLAGS += `pkg-config --libs gtk+-3.0` + #treat as system headers so that warnings are hidden: +-CXXFLAGS += -isystem/usr/include/gtk-2.0 ++CXXFLAGS += -isystem/usr/include/gtk-3.0 + + #support for SELinux (optional) + SELINUX_EXISTING=$(shell pkg-config --exists libselinux && echo YES) +diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/RealTimeSync/Makefile 10.18-1/FreeFileSync/Source/RealTimeSync/Makefile +--- 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 2019-04-12 08:05:57.000000000 -0400 ++++ 10.18-1/FreeFileSync/Source/RealTimeSync/Makefile 2019-11-21 09:46:11.378240094 -0500 +@@ -1,15 +1,16 @@ +-EXENAME = RealTimeSync_$(shell arch) ++EXENAME = RealTimeSync + + CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \ + -Wall -Wfatal-errors -Wmissing-include-dirs -Wswitch-enum -Wcast-align -Wshadow -Wnon-virtual-dtor \ + -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread + +-LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread ++LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -lz -pthread + + #Gtk - support "no button border" +-CXXFLAGS += `pkg-config --cflags gtk+-2.0` ++CXXFLAGS += `pkg-config --cflags gtk+-3.0` ++LINKFLAGS += `pkg-config --libs gtk+-3.0` + #treat as system headers so that warnings are hidden: +-CXXFLAGS += -isystem/usr/include/gtk-2.0 ++CXXFLAGS += -isystem/usr/include/gtk-3.0 + + CPP_FILES= + CPP_FILES+=application.cpp +diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.18-1/FreeFileSync/Source/ui/small_dlgs.cpp +--- 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 08:05:57.000000000 -0400 ++++ 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 13:58:55.050550183 -0400 +@@ -117,6 +117,8 @@ + L" x64"; + #endif + ++ build += ++ L" for Devuan"; + + GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() + +diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/wx+/dc.h 10.18-1/wx+/dc.h +--- 10.18-0/wx+/dc.h 2019-11-21 08:24:23.967769384 -0500 ++++ 10.18-1/wx+/dc.h 2019-11-21 09:42:12.779786504 -0500 +@@ -54,7 +54,7 @@ + #ifdef wxHAVE_DPI_INDEPENDENT_PIXELS //pulled from wx/window.h: https://github.com/wxWidgets/wxWidgets/blob/master/include/wx/window.h#L2029 + return d; //e.g. macOS, GTK3 + #else //https://github.com/wxWidgets/wxWidgets/blob/master/src/common/wincmn.cpp#L2865 +- static_assert(GTK_MAJOR_VERSION == 2); ++ static_assert(GTK_MAJOR_VERSION == 3); + //GTK2 doesn't properly support high DPI: https://freefilesync.org/forum/viewtopic.php?t=6114 + //=> requires general fix at wxWidgets-level + assert(wxTheApp); //only call after wxWidgets was initalized! +diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/base/icon_loader.cpp 10.18-1/FreeFileSync/Source/base/icon_loader.cpp +--- 10.18-0/FreeFileSync/Source/base/icon_loader.cpp 2019-11-21 08:24:23.955769262 -0500 ++++ 10.18-1/FreeFileSync/Source/base/icon_loader.cpp 2019-11-21 09:42:15.439813730 -0500 +@@ -18,7 +18,7 @@ + + namespace + { +-static_assert(GTK_MAJOR_VERSION == 2, "FreeFileSync does NOT (currently) support GTK3! The GTK calls below will lead to crashes due to not being thread-safe on GTK3."); ++static_assert(GTK_MAJOR_VERSION == 3, "FreeFileSync does NOT (currently) support GTK3! The GTK calls below will lead to crashes due to not being thread-safe on GTK3."); + //gdk_threads_enter(); + ZEN_ON_SCOPE_EXIT(::gdk_threads_leave); is NOT enough; e.g. GTK3 + openSuse still crashes with: + // Gtk:ERROR:gtkicontheme.c:4026:proxy_pixbuf_destroy: assertion failed: (icon_info->proxy_pixbuf != NULL) + //GTK icon theme internals: https://github.com/GNOME/gtk/blob/master/gtk/gtkicontheme.c diff --git a/freefilesync/debian/patches/series b/freefilesync/debian/patches/series index 51b0191..e3ea666 100644 --- a/freefilesync/debian/patches/series +++ b/freefilesync/debian/patches/series @@ -1,5 +1,6 @@ ffs_allow_parallel_ops.patch -ffs_devuan.patch +# can be either gtk2 or gtk3 +ffs_devuan_gtk2.patch ffs_no_check_updates.patch ffs_no_wx311.patch ffs_sftp.patch -- cgit