From 550214eab0b16ca006808ec3154bbba7f694343d Mon Sep 17 00:00:00 2001 From: "B. Stack" Date: Mon, 18 Apr 2022 15:32:10 -0400 Subject: ffs 11.20 rc1 for fedora --- freefilesync/README.md | 9 +- freefilesync/ffs_fedora.patch | 10 +- freefilesync/ffs_no_check_updates.patch | 16 ++-- freefilesync/ffs_no_wx311.patch | 12 ++- freefilesync/freefilesync.spec | 6 +- .../revert_zenju_aggressive_upstreamisms.patch | 103 ++++++++------------- 6 files changed, 71 insertions(+), 85 deletions(-) (limited to 'freefilesync') 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/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 - 11.20-1 +- version bump +- remove a few patches from r_z_a_u for when gcc < 11 + * Wed Mar 09 2022 B. Stack - 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 -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 + #include //for macro: wxALWAYS_NATIVE_DOUBLE_BUFFER + #include +-#include ++//#include + #include + + +@@ -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(getDPI()) / defaultDpi); not (yet) implemented + wxBitmap bmpScaled(img); +- bmpScaled.SetScaleFactor(static_cast(getDPI()) / defaultDpi); ++ //bmpScaled.SetScaleFactor(static_cast(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(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(getDPI()) / defaultDpi); + return bmpSquare; + }; + pnl_.m_bitmapGraphKeyBytes->SetBitmap(generateSquareBitmap(getColorBytes(), getColorBytesRim())); -- cgit