summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--freefilesync/README.md9
-rw-r--r--freefilesync/debian/README.Debian3
-rw-r--r--freefilesync/debian/changelog28
-rw-r--r--freefilesync/debian/control2
-rw-r--r--freefilesync/debian/freefilesync+devuan.dsc4
-rw-r--r--freefilesync/debian/patches/ffs_devuan.patch20
-rw-r--r--freefilesync/debian/patches/ffs_gcc.patch12
-rw-r--r--freefilesync/debian/patches/ffs_no_check_updates.patch16
-rw-r--r--freefilesync/debian/patches/ffs_no_wx311.patch12
-rw-r--r--freefilesync/debian/patches/revert_zenju_aggressive_upstreamisms.patch103
-rw-r--r--freefilesync/ffs_fedora.patch10
-rw-r--r--freefilesync/ffs_no_check_updates.patch16
-rw-r--r--freefilesync/ffs_no_wx311.patch12
-rw-r--r--freefilesync/freefilesync.spec6
-rw-r--r--freefilesync/revert_zenju_aggressive_upstreamisms.patch103
15 files changed, 179 insertions, 177 deletions
diff --git a/freefilesync/README.md b/freefilesync/README.md
index f70dac3..bfa5384 100644
--- a/freefilesync/README.md
+++ b/freefilesync/README.md
@@ -22,14 +22,15 @@ Distro | FreeFileSync version | gtk version
-------------- | -------------------- | ----------------
CentOS 7 | 10.24 | 2
CentOS 8 | 10.24 | 2
-Fedora 32 | 11.4 | 2
-Fedora 33 | 11.4 | 2
-Fedora Rawhide | 11.4 | 2
-Devuan Ceres | 11.4 | 3
+Fedora 35 | 11.20 | 2
+Fedora 36 | 11.20 | 2
+Fedora Rawhide | 11.20 | 2
+Devuan Ceres | 11.20 | 3
## Additional info
Upstream officially still [uses gtk2](https://freefilesync.org/forum/viewtopic.php?t=7660&p=26079#p26063) but the code supports gtk3 starting around version 10.25. With version 10.25, only stdc++=20 is supported, so el7 cannot go any higher: I was unable to find g++-10 for el7.
On the rpm platforms, where gtk2 is still supported as a primary environment, I compile FreeFileSync against gtk2. On Devuan where gtk2 has been obsoleted, I compile against gtk3.
+As of version 11.20 (2022-04), you need g++-11 for `-std=c++2b`.
## CentOS compilation of freefilesync
diff --git a/freefilesync/debian/README.Debian b/freefilesync/debian/README.Debian
index a5a1f01..ac19a18 100644
--- a/freefilesync/debian/README.Debian
+++ b/freefilesync/debian/README.Debian
@@ -1,3 +1,6 @@
+freefilesync (11.20-1+devuan)
+Now requires g++-11 due to `-std=c++2b`. Upstream moved to wx 3.1.6 or newer, which of course still doesn't work in Ceres (only version 3.0.5). To get around this issue, this package loses some of the wx 3.1.6-dependent hiDPI support.
+
freefilesync (10.25-1+devuan)
Now requires g++-10. Previously, the maintainer was reverting the logic only available to gcc-10, but this is becoming unmaintainable.
diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog
index 793683d..9037cac 100644
--- a/freefilesync/debian/changelog
+++ b/freefilesync/debian/changelog
@@ -1,3 +1,31 @@
+freefilesync (11.20-1+devuan) obs; urgency=medium
+
+ * Upstream updates
+ * Fixed broken icon scaling on high-DPI displays
+ * Improved performance for huge exclusion filter lists: linear to
+ constant(!) time
+ * Support sync with Google Drive starred folders
+ * Access "My Computers" (as created by Google Backup and Sync) if
+ starred
+ * Western Digital Mycloud NAS: fixed ERROR_ALREADY_EXISTS when changing
+ case
+ * Added per-file progress for "copy to" function
+ * Have filter wildcard ? not match path separator
+ * Work around WBEM_E_INVALID_NAMESPACE error during installation
+ * Fixed login user incorrectly displayed as root (macOS)
+ * Save Google Drive buffer before system shutdown
+ * Dpkg updates
+ * Use g++-11 now for -std=c++2b
+ * Principal changes to revert_zenju_aggressive_upstreamisms.patch
+
+ -- B. Stack <bgstack15@gmail.com> Mon, 18 Apr 2022 09:52:50 -0400
+
+freefilesync (11.19-1+devuan) UNRELEASED; urgency=medium
+
+ * Upstream released this the same day as version 11.20.
+
+ -- B. Stack <bgstack15@gmail.com> Mon, 18 Apr 2022 09:51:50 -0400
+
freefilesync (11.18-1+devuan) obs; urgency=medium
* Upstream updates
diff --git a/freefilesync/debian/control b/freefilesync/debian/control
index f9ccd02..9301bd0 100644
--- a/freefilesync/debian/control
+++ b/freefilesync/debian/control
@@ -4,7 +4,7 @@ Priority: optional
Maintainer: B. Stack <bgstack15@gmail.com>
Build-Depends: debhelper (>=12~),
imagemagick,
- g++-10,
+ g++-11,
libbrotli-dev,
libcurl4-openssl-dev (>=7.82.0),
libglibmm-2.4-dev,
diff --git a/freefilesync/debian/freefilesync+devuan.dsc b/freefilesync/debian/freefilesync+devuan.dsc
index 3566056..e2ca5a6 100644
--- a/freefilesync/debian/freefilesync+devuan.dsc
+++ b/freefilesync/debian/freefilesync+devuan.dsc
@@ -2,11 +2,11 @@ Format: 3.0 (quilt)
Source: freefilesync
Binary: freefilesync
Architecture: any
-Version: 11.18-1+devuan
+Version: 11.20-1+devuan
Maintainer: B. Stack <bgstack15@gmail.com>
Homepage: https://freefilesync.org/
Standards-Version: 4.1.4
-Build-Depends: debhelper (>= 12~), g++-10, imagemagick, libbrotli-dev, libcurl4-openssl-dev (>= 7.82.0), libglibmm-2.4-dev, libssh2-1-dev, libssl-dev, wx3.0-headers, unzip, libgtk-3-dev, libwxgtk3.0-gtk3-dev, libfontconfig-dev
+Build-Depends: debhelper (>= 12~), g++-11, imagemagick, libbrotli-dev, libcurl4-openssl-dev (>= 7.82.0), libglibmm-2.4-dev, libssh2-1-dev, libssl-dev, wx3.0-headers, unzip, libgtk-3-dev, libwxgtk3.0-gtk3-dev, libfontconfig-dev
Package-List:
freefilesync deb utils optional arch=any
Files:
diff --git a/freefilesync/debian/patches/ffs_devuan.patch b/freefilesync/debian/patches/ffs_devuan.patch
index ace8fde..da59209 100644
--- a/freefilesync/debian/patches/ffs_devuan.patch
+++ b/freefilesync/debian/patches/ffs_devuan.patch
@@ -1,6 +1,6 @@
-Author: B Stack
+Author: bgstack15
Source: Original research
-Last date modified: 2020-10-02
+Last modified: 2022-04-18
Message: Main patch to compile on Devuan.
diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/ffs_paths.cpp 10.18-1/FreeFileSync/Source/ffs_paths.cpp
--- 10.13-0/FreeFileSync/Source/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
@@ -16,14 +16,14 @@ diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Sou
diff -Naur -x '*.orig' -x '*.rej' -x .git 11.4-0/FreeFileSync/Source/Makefile 11.4-1/FreeFileSync/Source/Makefile
---- 11.4-0/FreeFileSync/Source/Makefile 2020-12-08 08:15:29.424156422 -0500
-+++ 11.4-1/FreeFileSync/Source/Makefile 2020-12-08 18:25:59.487867270 -0500
+--- 11.20-0/FreeFileSync/Source/Makefile 2022-04-18 09:49:31.901386387 -0400
++++ 11.20-1/FreeFileSync/Source/Makefile 2022-04-18 10:00:41.504569833 -0400
@@ -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" \
-+cxxFlags += -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
+-cxxFlags = -std=c++2b -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
++cxxFlags += -std=c++2b -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 -Wnon-virtual-dtor -Wno-unused-function -Wshadow -Wno-maybe-uninitialized \
-O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread
@@ -45,14 +45,14 @@ diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.19-0/FreeFileSync/Sou
build += utfTo<wxString>(formatTime(formatDateTag, getCompileTime()));
diff -Naur -x '*.orig' -x '*.rej' -x .git 11.4-0/FreeFileSync/Source/RealTimeSync/Makefile 11.4-1/FreeFileSync/Source/RealTimeSync/Makefile
---- 11.4-0/FreeFileSync/Source/RealTimeSync/Makefile 2020-12-08 08:15:29.424156422 -0500
-+++ 11.4-1/FreeFileSync/Source/RealTimeSync/Makefile 2020-12-08 18:26:11.823997849 -0500
+--- 11.20-0/FreeFileSync/Source/RealTimeSync/Makefile 2022-04-18 09:49:31.901386387 -0400
++++ 11.20-1/FreeFileSync/Source/RealTimeSync/Makefile 2022-04-18 10:00:35.168501749 -0400
@@ -1,10 +1,10 @@
-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" \
-+cxxFlags += -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
+-cxxFlags = -std=c++2b -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
++cxxFlags += -std=c++2b -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 -Wnon-virtual-dtor -Wno-unused-function -Wshadow -Wno-maybe-uninitialized \
-O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread
diff --git a/freefilesync/debian/patches/ffs_gcc.patch b/freefilesync/debian/patches/ffs_gcc.patch
index 1f34404..dd9e628 100644
--- a/freefilesync/debian/patches/ffs_gcc.patch
+++ b/freefilesync/debian/patches/ffs_gcc.patch
@@ -1,11 +1,15 @@
+Date: 2022-04-18
+Version: 11.20
+Message: Parameterize the C++ compiler invocation
+Author: bgstack15
diff -aur 11.2-1/FreeFileSync/Source/Makefile 11.2-2/FreeFileSync/Source/Makefile
--- 11.2-1/FreeFileSync/Source/Makefile 2020-10-02 14:59:35.816639878 -0400
+++ 11.2-2/FreeFileSync/Source/Makefile 2020-10-02 14:59:54.220866929 -0400
@@ -1,4 +1,5 @@
exeName = FreeFileSync
-+CXX=g++-10
++CXX=g++-11
- cxxFlags += -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
+ cxxFlags += -std=c++2b -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 -Wnon-virtual-dtor -Wno-unused-function -Wshadow -Wno-maybe-uninitialized \
@@ -115,11 +116,11 @@
@@ -26,9 +30,9 @@ diff -aur 11.2-1/FreeFileSync/Source/RealTimeSync/Makefile 11.2-2/FreeFileSync/S
+++ 11.2-2/FreeFileSync/Source/RealTimeSync/Makefile 2020-10-02 14:59:54.220866929 -0400
@@ -1,4 +1,5 @@
exeName = RealTimeSync
-+CXX=g++-10
++CXX=g++-11
- cxxFlags += -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
+ cxxFlags += -std=c++2b -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 -Wnon-virtual-dtor -Wno-unused-function -Wshadow -Wno-maybe-uninitialized \
@@ -54,11 +55,11 @@
diff --git a/freefilesync/debian/patches/ffs_no_check_updates.patch b/freefilesync/debian/patches/ffs_no_check_updates.patch
index 9cfc123..bdc2ebd 100644
--- a/freefilesync/debian/patches/ffs_no_check_updates.patch
+++ b/freefilesync/debian/patches/ffs_no_check_updates.patch
@@ -1,5 +1,5 @@
-Version: 11.18
-Date: 2022-03-08
+Version: 11.20
+Date: 2022-04-18
Author: bgstack15
Message: This is a major rewrite of the ffs_no_check_updates patch from before 11.10 which disabled only a few technical www interactions. This current version completely deletes all logic associated with checking the version of the program.
diff -aur 11.18-0/FreeFileSync/Source/ui/gui_generated.cpp 11.18-1/FreeFileSync/Source/ui/gui_generated.cpp
@@ -54,14 +54,14 @@ diff -aur 11.18-0/FreeFileSync/Source/ui/gui_generated.h 11.18-1/FreeFileSync/So
diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Source/ui/main_dlg.cpp
--- 11.16-0/FreeFileSync/Source/ui/main_dlg.cpp 2022-01-04 08:52:19.811432573 -0500
+++ 11.16-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-01-04 08:57:14.506728896 -0500
-@@ -735,7 +735,6 @@
+@@ -744,7 +744,6 @@
- m_menuItemHelp ->SetBitmap(loadImage("help_sicon"));
- m_menuItemAbout->SetBitmap(loadImage("about_sicon"));
-- m_menuItemCheckVersionNow->SetBitmap(loadImage("update_check_sicon"));
+ setImage(*m_menuItemHelp, loadImage("help_sicon"));
+ setImage(*m_menuItemAbout, loadImage("about_sicon"));
+- setImage(*m_menuItemCheckVersionNow, loadImage("update_check_sicon"));
- auto fixMenuIcons = [](wxMenu& menu) //GTK: image must be set *before* adding wxMenuItem to menu or it won't show
- {
+ fixMenuIcons(*m_menuFile);
+ fixMenuIcons(*m_menuActions);
@@ -854,9 +853,6 @@
//mainly to update row label sizes...
updateGui();
diff --git a/freefilesync/debian/patches/ffs_no_wx311.patch b/freefilesync/debian/patches/ffs_no_wx311.patch
index 8e17036..1671e4c 100644
--- a/freefilesync/debian/patches/ffs_no_wx311.patch
+++ b/freefilesync/debian/patches/ffs_no_wx311.patch
@@ -1,4 +1,7 @@
-2019-08-15 just compile.
+Last modified: 2022-04-18
+Version: 11.20
+Author: bgstack15
+Message: Just compile by stepping around wxWidgets 3.1.1 calls
diff -Naur -x '*.orig' -x '*.rej' -x .git 11.4-0/FreeFileSync/Source/ui/small_dlgs.cpp 11.4-1/FreeFileSync/Source/ui/small_dlgs.cpp
--- 11.4-0/FreeFileSync/Source/ui/small_dlgs.cpp 2020-12-08 08:15:29.432156507 -0500
+++ 11.4-1/FreeFileSync/Source/ui/small_dlgs.cpp 2020-12-08 18:22:19.929543356 -0500
@@ -12,16 +15,15 @@ diff -Naur -x '*.orig' -x '*.rej' -x .git 11.4-0/FreeFileSync/Source/ui/small_dl
//set default values for Google Drive: use first item of m_listBoxGdriveUsers
if (!gdriveAccounts.empty() && !acceptsItemPathPhraseGdrive(folderPathPhrase))
-@@ -1681,7 +1682,7 @@
+@@ -1689,7 +1690,6 @@
//setMainInstructionFont(*m_staticTextMain);
- m_bitmapActivation->SetBitmap(loadImage("internet"));
+ setImage(*m_bitmapActivation, loadImage("internet"));
- m_textCtrlOfflineActivationKey->ForceUpper();
-+ //m_textCtrlOfflineActivationKey->ForceUpper();
setTextWithUrls(*m_richTextLastError, lastErrorMsg);
setTextWithUrls(*m_richTextManualActivationUrl, manualActivationUrl);
-iff -Naur -x '*.orig' -x '*.rej' 10.3-0/wx+/grid.cpp 10.3-2/wx+/grid.cpp
+diff -Naur -x '*.orig' -x '*.rej' 10.3-0/wx+/grid.cpp 10.3-2/wx+/grid.cpp
--- 10.3-0/wx+/grid.cpp 2018-08-07 05:03:34.000000000 -0400
+++ 10.3-2/wx+/grid.cpp 2018-08-08 19:24:56.849445102 -0400
@@ -1176,7 +1176,9 @@
diff --git a/freefilesync/debian/patches/revert_zenju_aggressive_upstreamisms.patch b/freefilesync/debian/patches/revert_zenju_aggressive_upstreamisms.patch
index de8d5e9..fda8cc2 100644
--- a/freefilesync/debian/patches/revert_zenju_aggressive_upstreamisms.patch
+++ b/freefilesync/debian/patches/revert_zenju_aggressive_upstreamisms.patch
@@ -1,6 +1,7 @@
Message: Some of these can be traced back to version 10.23 which was the last to not use <unordered_map>
-Date: 2021-05-10
-Version: 11.10
+Date: 2022-04-18
+Version: 11.20
+Author: bgstack15
diff -x '*.rej' -x '*.orig' -x '*.git*' -Naur 10.24-0/wx+/choice_enum.h 10.24-1/wx+/choice_enum.h
--- 10.24-0/wx+/choice_enum.h 2020-05-17 18:30:59.441499418 -0400
+++ 10.24-1/wx+/choice_enum.h 2020-05-17 18:53:59.893685507 -0400
@@ -154,17 +155,40 @@ diff -x '*.orig' -x '*.rej' -aur 11.1-1/wx+/bitmap_button.h 11.1-2/wx+/bitmap_bu
{
SetLabel(label);
diff -aur -x '*.git*' -x '.*.swp' -x '*.orig' -x '*.rej' 11.6-0/wx+/dc.h 11.6-1/wx+/dc.h
---- 11.9-0/wx+/dc.h 2021-04-05 10:57:36.518697734 -0400
-+++ 11.9-1/wx+/dc.h 2021-04-05 11:11:21.809650868 -0400
-@@ -69,9 +69,6 @@
+--- 11.20-0/wx+/dc.h 2022-04-18 09:49:31.921386600 -0400
++++ 11.20-1/wx+/dc.h 2022-04-18 10:12:04.667907393 -0400
+@@ -12,7 +12,7 @@
+ #include <zen/basic_math.h>
+ #include <wx/dcbuffer.h> //for macro: wxALWAYS_NATIVE_DOUBLE_BUFFER
+ #include <wx/dcscreen.h>
+-#include <wx/bmpbndl.h>
++//#include <wx/bmpbndl.h>
+ #include <gtk/gtk.h>
+
+
+@@ -92,9 +92,6 @@
inline
int getDPI()
{
--#ifndef wxHAVE_DPI_INDEPENDENT_PIXELS
--#error why is wxHAVE_DPI_INDEPENDENT_PIXELS not defined?
+-#ifndef wxHAS_DPI_INDEPENDENT_PIXELS
+-#error why is wxHAS_DPI_INDEPENDENT_PIXELS not defined?
-#endif
//GTK2 doesn't properly support high DPI: https://freefilesync.org/forum/viewtopic.php?t=6114
//=> requires general fix at wxWidgets-level
+
+@@ -119,11 +116,11 @@
+
+
+ inline
+-wxBitmapBundle toBitmapBundle(const wxImage& img /*expected to be DPI-scaled!*/)
++wxBitmap toBitmapBundle(const wxImage& img /*expected to be DPI-scaled!*/)
+ {
+ //return wxBitmap(img, -1 /*depth*/, static_cast<double>(getDPI()) / defaultDpi); not (yet) implemented
+ wxBitmap bmpScaled(img);
+- bmpScaled.SetScaleFactor(static_cast<double>(getDPI()) / defaultDpi);
++ //bmpScaled.SetScaleFactor(static_cast<double>(getDPI()) / defaultDpi);
+ return bmpScaled;
+ }
diff -x '*.orig' -x '*.rej' -aur 11.1-1/wx+/graph.h 11.1-2/wx+/graph.h
--- 11.1-1/wx+/graph.h 2020-09-01 19:07:43.731122359 -0400
@@ -303,58 +327,13 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-1/wx+/no_flicker.h 11.4-2/wx+
//get rid of margins and space between text blocks/"paragraphs"
richCtrl.SetMargins({0, 0});
-Message: Revert __cpp_lib_atomic_wait which is not yet implemented in g++-10 or clang++-11 on Debian
-How does Zenju compile this?!
-Date: 2021-05-10
---- 11.9-0/zen/globals.h 2021-05-10 08:10:14.755776667 -0400
-+++ 11.9-1/zen/globals.h 2021-05-10 09:17:25.122241641 -0400
-@@ -223,7 +223,11 @@
- void PodSpinMutex::lock()
- {
- while (!tryLock())
-+#ifdef __cpp_lib_atomic_wait
- flag_.wait(true, std::memory_order_relaxed);
-+#else
-+ ;
-+#endif
- }
-
-
-@@ -231,7 +235,9 @@
- void PodSpinMutex::unlock()
- {
- flag_.clear(std::memory_order_release);
-+#ifdef __cpp_lib_atomic_wait
- flag_.notify_one();
-+#endif
- }
-
-
-Message: This one should work; it's a c++17 specification, but it doesn't work.
-Date: 2021-05-10
-diff -aur 11.10-0/zen/legacy_compiler.cpp 11.10-1/zen/legacy_compiler.cpp
---- 11.10-0/zen/legacy_compiler.cpp 2021-05-10 08:10:14.755776667 -0400
-+++ 11.10-1/zen/legacy_compiler.cpp 2021-05-10 10:06:01.998079701 -0400
-@@ -14,15 +14,17 @@
-
- double zen::fromChars(const char* first, const char* last)
- {
-- double num = 0;
-- [[maybe_unused]] const std::from_chars_result rv = std::from_chars(first, last, num);
-- return num;
-+ return std::strtod(std::string(first, last).c_str(), nullptr);
- }
-
-
- const char* zen::toChars(char* first, char* last, double num)
- {
-- const std::to_chars_result rv = std::to_chars(first, last, num);
-- return rv.ec == std::errc{} ? rv.ptr : first;
-+ const size_t bufSize = last - first;
-+ const int charsWritten = std::snprintf(first, bufSize, "%g", num);
-+ //C99: returns number of chars written if successful, < 0 or >= bufferSize on failure
-+
-+ return 0 <= charsWritten && charsWritten < static_cast<int>(bufSize) ?
-+ first + charsWritten : first;
- }
-
+--- 11.20-0/FreeFileSync/Source/ui/progress_indicator.cpp 2022-04-18 09:49:31.917386558 -0400
++++ 11.20-1/FreeFileSync/Source/ui/progress_indicator.cpp 2022-04-18 11:02:10.988781908 -0400
+@@ -882,7 +885,6 @@
+ wxMemoryDC dc(bmpSquare);
+ drawInsetRectangle(dc, wxRect(bmpSquare.GetSize()), fastFromDIP(1), borderCol, fillCol);
+ }
+- bmpSquare.SetScaleFactor(static_cast<double>(getDPI()) / defaultDpi);
+ return bmpSquare;
+ };
+ pnl_.m_bitmapGraphKeyBytes->SetBitmap(generateSquareBitmap(getColorBytes(), getColorBytesRim()));
diff --git a/freefilesync/ffs_fedora.patch b/freefilesync/ffs_fedora.patch
index 83beb4a..7f5c4d1 100644
--- a/freefilesync/ffs_fedora.patch
+++ b/freefilesync/ffs_fedora.patch
@@ -1,4 +1,4 @@
-Last modified date: 2020-12-08
+Last modified date: 2022-04-18
History: ffs_fedora 2020-07-22 now uses gtk3
diff -Naur 10.13-0/FreeFileSync/Source/ffs_paths.cpp 10.13-1/FreeFileSync/Source/ffs_paths.cpp
--- 10.13-0/FreeFileSync/Source/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
@@ -20,8 +20,8 @@ diff -Naur -x '*.rej' -x '*.orig' -x '*.git*' 11.4-0/FreeFileSync/Source/Makefil
-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" \
-+cxxFlags += -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
+-cxxFlags = -std=c++2b -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
++cxxFlags += -std=c++2b -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 -Wnon-virtual-dtor -Wno-unused-function -Wshadow -Wno-maybe-uninitialized \
-O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread
@@ -50,8 +50,8 @@ diff -Naur -x '*.rej' -x '*.orig' -x '*.git*' 11.4-0/FreeFileSync/Source/RealTim
-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" \
-+cxxFlags += -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
+-cxxFlags = -std=c++2b -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
++cxxFlags += -std=c++2b -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 -Wnon-virtual-dtor -Wno-unused-function -Wshadow -Wno-maybe-uninitialized \
-O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread
diff --git a/freefilesync/ffs_no_check_updates.patch b/freefilesync/ffs_no_check_updates.patch
index 9cfc123..bdc2ebd 100644
--- a/freefilesync/ffs_no_check_updates.patch
+++ b/freefilesync/ffs_no_check_updates.patch
@@ -1,5 +1,5 @@
-Version: 11.18
-Date: 2022-03-08
+Version: 11.20
+Date: 2022-04-18
Author: bgstack15
Message: This is a major rewrite of the ffs_no_check_updates patch from before 11.10 which disabled only a few technical www interactions. This current version completely deletes all logic associated with checking the version of the program.
diff -aur 11.18-0/FreeFileSync/Source/ui/gui_generated.cpp 11.18-1/FreeFileSync/Source/ui/gui_generated.cpp
@@ -54,14 +54,14 @@ diff -aur 11.18-0/FreeFileSync/Source/ui/gui_generated.h 11.18-1/FreeFileSync/So
diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Source/ui/main_dlg.cpp
--- 11.16-0/FreeFileSync/Source/ui/main_dlg.cpp 2022-01-04 08:52:19.811432573 -0500
+++ 11.16-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-01-04 08:57:14.506728896 -0500
-@@ -735,7 +735,6 @@
+@@ -744,7 +744,6 @@
- m_menuItemHelp ->SetBitmap(loadImage("help_sicon"));
- m_menuItemAbout->SetBitmap(loadImage("about_sicon"));
-- m_menuItemCheckVersionNow->SetBitmap(loadImage("update_check_sicon"));
+ setImage(*m_menuItemHelp, loadImage("help_sicon"));
+ setImage(*m_menuItemAbout, loadImage("about_sicon"));
+- setImage(*m_menuItemCheckVersionNow, loadImage("update_check_sicon"));
- auto fixMenuIcons = [](wxMenu& menu) //GTK: image must be set *before* adding wxMenuItem to menu or it won't show
- {
+ fixMenuIcons(*m_menuFile);
+ fixMenuIcons(*m_menuActions);
@@ -854,9 +853,6 @@
//mainly to update row label sizes...
updateGui();
diff --git a/freefilesync/ffs_no_wx311.patch b/freefilesync/ffs_no_wx311.patch
index 8e17036..1671e4c 100644
--- a/freefilesync/ffs_no_wx311.patch
+++ b/freefilesync/ffs_no_wx311.patch
@@ -1,4 +1,7 @@
-2019-08-15 just compile.
+Last modified: 2022-04-18
+Version: 11.20
+Author: bgstack15
+Message: Just compile by stepping around wxWidgets 3.1.1 calls
diff -Naur -x '*.orig' -x '*.rej' -x .git 11.4-0/FreeFileSync/Source/ui/small_dlgs.cpp 11.4-1/FreeFileSync/Source/ui/small_dlgs.cpp
--- 11.4-0/FreeFileSync/Source/ui/small_dlgs.cpp 2020-12-08 08:15:29.432156507 -0500
+++ 11.4-1/FreeFileSync/Source/ui/small_dlgs.cpp 2020-12-08 18:22:19.929543356 -0500
@@ -12,16 +15,15 @@ diff -Naur -x '*.orig' -x '*.rej' -x .git 11.4-0/FreeFileSync/Source/ui/small_dl
//set default values for Google Drive: use first item of m_listBoxGdriveUsers
if (!gdriveAccounts.empty() && !acceptsItemPathPhraseGdrive(folderPathPhrase))
-@@ -1681,7 +1682,7 @@
+@@ -1689,7 +1690,6 @@
//setMainInstructionFont(*m_staticTextMain);
- m_bitmapActivation->SetBitmap(loadImage("internet"));
+ setImage(*m_bitmapActivation, loadImage("internet"));
- m_textCtrlOfflineActivationKey->ForceUpper();
-+ //m_textCtrlOfflineActivationKey->ForceUpper();
setTextWithUrls(*m_richTextLastError, lastErrorMsg);
setTextWithUrls(*m_richTextManualActivationUrl, manualActivationUrl);
-iff -Naur -x '*.orig' -x '*.rej' 10.3-0/wx+/grid.cpp 10.3-2/wx+/grid.cpp
+diff -Naur -x '*.orig' -x '*.rej' 10.3-0/wx+/grid.cpp 10.3-2/wx+/grid.cpp
--- 10.3-0/wx+/grid.cpp 2018-08-07 05:03:34.000000000 -0400
+++ 10.3-2/wx+/grid.cpp 2018-08-08 19:24:56.849445102 -0400
@@ -1176,7 +1176,9 @@
diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec
index 63cd2e6..3636de0 100644
--- a/freefilesync/freefilesync.spec
+++ b/freefilesync/freefilesync.spec
@@ -19,7 +19,7 @@
%define libssh2_name libssh2-%{name}
%endif
Name: freefilesync
-Version: 11.18
+Version: 11.20
Release: 1%{?dist}
Summary: A file synchronization utility
@@ -217,6 +217,10 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & :
%ghost %config %attr(666, -, -) %{_datadir}/%{name}/GlobalSettings.xml
%changelog
+* Mon Apr 18 2022 B. Stack <bgstack15@gmail.com> - 11.20-1
+- version bump
+- remove a few patches from r_z_a_u for when gcc < 11
+
* Wed Mar 09 2022 B. Stack <bgstack15@gmail.com> - 11.18-1
- version bump
diff --git a/freefilesync/revert_zenju_aggressive_upstreamisms.patch b/freefilesync/revert_zenju_aggressive_upstreamisms.patch
index de8d5e9..fda8cc2 100644
--- a/freefilesync/revert_zenju_aggressive_upstreamisms.patch
+++ b/freefilesync/revert_zenju_aggressive_upstreamisms.patch
@@ -1,6 +1,7 @@
Message: Some of these can be traced back to version 10.23 which was the last to not use <unordered_map>
-Date: 2021-05-10
-Version: 11.10
+Date: 2022-04-18
+Version: 11.20
+Author: bgstack15
diff -x '*.rej' -x '*.orig' -x '*.git*' -Naur 10.24-0/wx+/choice_enum.h 10.24-1/wx+/choice_enum.h
--- 10.24-0/wx+/choice_enum.h 2020-05-17 18:30:59.441499418 -0400
+++ 10.24-1/wx+/choice_enum.h 2020-05-17 18:53:59.893685507 -0400
@@ -154,17 +155,40 @@ diff -x '*.orig' -x '*.rej' -aur 11.1-1/wx+/bitmap_button.h 11.1-2/wx+/bitmap_bu
{
SetLabel(label);
diff -aur -x '*.git*' -x '.*.swp' -x '*.orig' -x '*.rej' 11.6-0/wx+/dc.h 11.6-1/wx+/dc.h
---- 11.9-0/wx+/dc.h 2021-04-05 10:57:36.518697734 -0400
-+++ 11.9-1/wx+/dc.h 2021-04-05 11:11:21.809650868 -0400
-@@ -69,9 +69,6 @@
+--- 11.20-0/wx+/dc.h 2022-04-18 09:49:31.921386600 -0400
++++ 11.20-1/wx+/dc.h 2022-04-18 10:12:04.667907393 -0400
+@@ -12,7 +12,7 @@
+ #include <zen/basic_math.h>
+ #include <wx/dcbuffer.h> //for macro: wxALWAYS_NATIVE_DOUBLE_BUFFER
+ #include <wx/dcscreen.h>
+-#include <wx/bmpbndl.h>
++//#include <wx/bmpbndl.h>
+ #include <gtk/gtk.h>
+
+
+@@ -92,9 +92,6 @@
inline
int getDPI()
{
--#ifndef wxHAVE_DPI_INDEPENDENT_PIXELS
--#error why is wxHAVE_DPI_INDEPENDENT_PIXELS not defined?
+-#ifndef wxHAS_DPI_INDEPENDENT_PIXELS
+-#error why is wxHAS_DPI_INDEPENDENT_PIXELS not defined?
-#endif
//GTK2 doesn't properly support high DPI: https://freefilesync.org/forum/viewtopic.php?t=6114
//=> requires general fix at wxWidgets-level
+
+@@ -119,11 +116,11 @@
+
+
+ inline
+-wxBitmapBundle toBitmapBundle(const wxImage& img /*expected to be DPI-scaled!*/)
++wxBitmap toBitmapBundle(const wxImage& img /*expected to be DPI-scaled!*/)
+ {
+ //return wxBitmap(img, -1 /*depth*/, static_cast<double>(getDPI()) / defaultDpi); not (yet) implemented
+ wxBitmap bmpScaled(img);
+- bmpScaled.SetScaleFactor(static_cast<double>(getDPI()) / defaultDpi);
++ //bmpScaled.SetScaleFactor(static_cast<double>(getDPI()) / defaultDpi);
+ return bmpScaled;
+ }
diff -x '*.orig' -x '*.rej' -aur 11.1-1/wx+/graph.h 11.1-2/wx+/graph.h
--- 11.1-1/wx+/graph.h 2020-09-01 19:07:43.731122359 -0400
@@ -303,58 +327,13 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-1/wx+/no_flicker.h 11.4-2/wx+
//get rid of margins and space between text blocks/"paragraphs"
richCtrl.SetMargins({0, 0});
-Message: Revert __cpp_lib_atomic_wait which is not yet implemented in g++-10 or clang++-11 on Debian
-How does Zenju compile this?!
-Date: 2021-05-10
---- 11.9-0/zen/globals.h 2021-05-10 08:10:14.755776667 -0400
-+++ 11.9-1/zen/globals.h 2021-05-10 09:17:25.122241641 -0400
-@@ -223,7 +223,11 @@
- void PodSpinMutex::lock()
- {
- while (!tryLock())
-+#ifdef __cpp_lib_atomic_wait
- flag_.wait(true, std::memory_order_relaxed);
-+#else
-+ ;
-+#endif
- }
-
-
-@@ -231,7 +235,9 @@
- void PodSpinMutex::unlock()
- {
- flag_.clear(std::memory_order_release);
-+#ifdef __cpp_lib_atomic_wait
- flag_.notify_one();
-+#endif
- }
-
-
-Message: This one should work; it's a c++17 specification, but it doesn't work.
-Date: 2021-05-10
-diff -aur 11.10-0/zen/legacy_compiler.cpp 11.10-1/zen/legacy_compiler.cpp
---- 11.10-0/zen/legacy_compiler.cpp 2021-05-10 08:10:14.755776667 -0400
-+++ 11.10-1/zen/legacy_compiler.cpp 2021-05-10 10:06:01.998079701 -0400
-@@ -14,15 +14,17 @@
-
- double zen::fromChars(const char* first, const char* last)
- {
-- double num = 0;
-- [[maybe_unused]] const std::from_chars_result rv = std::from_chars(first, last, num);
-- return num;
-+ return std::strtod(std::string(first, last).c_str(), nullptr);
- }
-
-
- const char* zen::toChars(char* first, char* last, double num)
- {
-- const std::to_chars_result rv = std::to_chars(first, last, num);
-- return rv.ec == std::errc{} ? rv.ptr : first;
-+ const size_t bufSize = last - first;
-+ const int charsWritten = std::snprintf(first, bufSize, "%g", num);
-+ //C99: returns number of chars written if successful, < 0 or >= bufferSize on failure
-+
-+ return 0 <= charsWritten && charsWritten < static_cast<int>(bufSize) ?
-+ first + charsWritten : first;
- }
-
+--- 11.20-0/FreeFileSync/Source/ui/progress_indicator.cpp 2022-04-18 09:49:31.917386558 -0400
++++ 11.20-1/FreeFileSync/Source/ui/progress_indicator.cpp 2022-04-18 11:02:10.988781908 -0400
+@@ -882,7 +885,6 @@
+ wxMemoryDC dc(bmpSquare);
+ drawInsetRectangle(dc, wxRect(bmpSquare.GetSize()), fastFromDIP(1), borderCol, fillCol);
+ }
+- bmpSquare.SetScaleFactor(static_cast<double>(getDPI()) / defaultDpi);
+ return bmpSquare;
+ };
+ pnl_.m_bitmapGraphKeyBytes->SetBitmap(generateSquareBitmap(getColorBytes(), getColorBytesRim()));
bgstack15