summaryrefslogtreecommitdiff
path: root/freefilesync/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'freefilesync/debian/patches')
-rw-r--r--freefilesync/debian/patches/ffs_devuan.patch89
-rw-r--r--freefilesync/debian/patches/ffs_no_check_updates.patch6
-rw-r--r--freefilesync/debian/patches/ffs_no_wx311.patch21
3 files changed, 70 insertions, 46 deletions
diff --git a/freefilesync/debian/patches/ffs_devuan.patch b/freefilesync/debian/patches/ffs_devuan.patch
index fc16f54..705d84d 100644
--- a/freefilesync/debian/patches/ffs_devuan.patch
+++ b/freefilesync/debian/patches/ffs_devuan.patch
@@ -1,12 +1,12 @@
-Author: Simon Brulhart
-Source: AUR
-Date: 2019-10-21
-Message: Do not try to compile inexistant file
-Files affected: FreeFileSync/Source/Makefile
-diff -Naur 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 10.13-1/FreeFileSync/Source/base/ffs_paths.cpp
+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.13-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:36:28.178274292 -0400
-@@ -55,7 +55,8 @@
++++ 10.18-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-11-21 09:41:42.287474472 -0500
+@@ -64,7 +64,8 @@
Zstring fff::getResourceDirPf()
{
@@ -16,9 +16,9 @@ diff -Naur 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 10.13-1/FreeFileSync/S
}
-diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/Makefile 10.11-1/FreeFileSync/Source/Makefile
+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.11-1/FreeFileSync/Source/Makefile 2019-04-12 14:00:16.774552362 -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
@@ -32,26 +32,23 @@ diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/Makefile 10.11-1/F
CXXFLAGS += `pkg-config --cflags openssl`
-@@ -17,6 +17,7 @@ CXXFLAGS += `pkg-config --cflags libssh2`
+@@ -16,9 +16,10 @@
+ CXXFLAGS += `pkg-config --cflags libssh2`
LINKFLAGS += `pkg-config --libs libssh2`
-
- CXXFLAGS += `pkg-config --cflags gtk+-2.0`
-+LINKFLAGS += `pkg-config --libs gtk+-2.0`
+
+-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
-
-@@ -56,7 +56,6 @@
- CPP_FILES+=afs/init_curl_libssh2.cpp
- CPP_FILES+=afs/native.cpp
- CPP_FILES+=afs/sftp.cpp
--CPP_FILES+=afs/libssh2/init_libssh2.cpp
- CPP_FILES+=ui/batch_config.cpp
- CPP_FILES+=ui/abstract_folder_picker.cpp
- CPP_FILES+=ui/batch_status_handler.cpp
-diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 10.11-1/FreeFileSync/Source/RealTimeSync/Makefile
+-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.15-1/FreeFileSync/Source/RealTimeSync/Makefile 2019-08-15 13:59:53.934551753 -0400
-@@ -1,13 +1,14 @@
++++ 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
@@ -63,15 +60,19 @@ diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/RealTimeSync/Makef
+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`
-+LINKFLAGS += `pkg-config --libs gtk+-2.0`
+-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-2.0
++CXXFLAGS += -isystem/usr/include/gtk-3.0
-diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp
+ 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
-@@ -115,6 +115,8 @@
+@@ -117,6 +117,8 @@
L" x64";
#endif
@@ -80,3 +81,27 @@ diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp
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_no_check_updates.patch b/freefilesync/debian/patches/ffs_no_check_updates.patch
index 4e56d19..eaff5c4 100644
--- a/freefilesync/debian/patches/ffs_no_check_updates.patch
+++ b/freefilesync/debian/patches/ffs_no_check_updates.patch
@@ -37,7 +37,7 @@ diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/main_dlg.cpp 10.14-
diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/version_check.cpp 10.14-1/FreeFileSync/Source/ui/version_check.cpp
--- 10.9-0/FreeFileSync/Source/ui/version_check.cpp 2019-02-10 22:01:42.126160041 -0500
-+++ 10.14-1/FreeFileSync/Source/ui/version_check.cpp 2019-07-16 11:45:36.113848111 -0400
++++ 10.18-1/FreeFileSync/Source/ui/version_check.cpp 2019-11-20 09:19:50.936975067 -0500
@@ -69,6 +69,8 @@
bool fff::shouldRunAutomaticUpdateCheck(time_t lastUpdateCheck)
@@ -57,8 +57,8 @@ diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/version_check.cpp 1
updateDetailsMsg = utfTo<std::wstring>(buf);
}
catch (const zen::SysError& e) { throw FileError(_("Failed to retrieve update information."), e.toString()); }
-@@ -187,8 +188,7 @@
- //access is thread-safe on Windows (WinInet), but not on Linux/OS X (wxWidgets)
+@@ -182,8 +183,7 @@
+
std::string getOnlineVersion(const std::vector<std::pair<std::string, std::string>>& postParams) //throw SysError
{
- const std::string buffer = sendHttpPost(Zstr("https://api.freefilesync.org/latest_version"), postParams,
diff --git a/freefilesync/debian/patches/ffs_no_wx311.patch b/freefilesync/debian/patches/ffs_no_wx311.patch
index e6069d4..92b5372 100644
--- a/freefilesync/debian/patches/ffs_no_wx311.patch
+++ b/freefilesync/debian/patches/ffs_no_wx311.patch
@@ -28,19 +28,18 @@ diff -Naur -x '*.orig' -x '*.rej' 10.3-0/wx+/grid.cpp 10.3-2/wx+/grid.cpp
else
diff -Naur 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 10.13-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.13-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:26:56.794422701 -0400
-@@ -75,8 +75,9 @@
- Zstring cfgFolderPath;
- //OS standard path (XDG layout): ~/.config/FreeFileSync
- //wxBug: wxStandardPaths::GetUserDataDir() does not honor FileLayout_XDG flag
-- wxStandardPaths::Get().SetFileLayout(wxStandardPaths::FileLayout_XDG);
-- cfgFolderPath = appendSeparator(utfTo<Zstring>(wxStandardPaths::Get().GetUserConfigDir())) + "FreeFileSync";
-+ // Fedora does not have wxGTK 3.1.1 which is the dev branch.
-+ //wxStandardPaths::Get().SetFileLayout(wxStandardPaths::FileLayout_XDG);
-+ cfgFolderPath = appendSeparator(utfTo<Zstring>(wxStandardPaths::Get().GetUserConfigDir())) + appendSeparator(utfTo<Zstring>(".config")) + "FreeFileSync";
++++ 10.18-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-11-20 08:55:38.553446634 -0500
+@@ -80,8 +80,8 @@
+ //OS standard path (XDG layout): ~/.config/FreeFileSync
+ //wxBug: wxStandardPaths::GetUserDataDir() does not honor FileLayout_XDG flag
+- wxStandardPaths::Get().SetFileLayout(wxStandardPaths::FileLayout_XDG);
+- const Zstring cfgFolderPath = appendSeparator(utfTo<Zstring>(wxStandardPaths::Get().GetUserConfigDir())) + "FreeFileSync";
++ // Many distros do not have wxGTK 3.1.1 which is the dev branch.
++ const Zstring cfgFolderPath = appendSeparator(utfTo<Zstring>(wxStandardPaths::Get().GetUserConfigDir())) + appendSeparator(utfTo<Zstring>(".config")) + "FreeFileSync";
- std::call_once(onceFlagCreateCfgPath, [&]
+ try //create the config folder if not existing + create "Logs" subfolder while we're at it
+ {
diff --git a/FreeFileSync/Source/ui/command_box.cpp b/FreeFileSync/Source/ui/command_box.cpp
index 6e769bb..ce6110b 100644
--- a/FreeFileSync/Source/ui/command_box.cpp
bgstack15