summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--freefilesync/debian/control2
-rw-r--r--freefilesync/debian/patches/ffs_devuan.patch12
-rw-r--r--freefilesync/debian/patches/ffs_gcc.patch10
-rw-r--r--freefilesync/debian/patches/ffs_icon_loader.patch15
-rw-r--r--freefilesync/debian/patches/ffs_no_wx311.patch79
-rw-r--r--freefilesync/debian/patches/ffs_traditional_view.patch4
6 files changed, 103 insertions, 19 deletions
diff --git a/freefilesync/debian/control b/freefilesync/debian/control
index 9301bd0..f200bc3 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++-11,
+ g++-12,
libbrotli-dev,
libcurl4-openssl-dev (>=7.82.0),
libglibmm-2.4-dev,
diff --git a/freefilesync/debian/patches/ffs_devuan.patch b/freefilesync/debian/patches/ffs_devuan.patch
index fc4db2d..30ae71c 100644
--- a/freefilesync/debian/patches/ffs_devuan.patch
+++ b/freefilesync/debian/patches/ffs_devuan.patch
@@ -61,4 +61,14 @@ diff -Naur -x '*.orig' -x '*.rej' -x .git 11.4-0/FreeFileSync/Source/RealTimeSyn
#Gtk - support "no button border"
cxxFlags += `pkg-config --cflags gtk+-2.0`
-
+--- 11.21-0/FreeFileSync/Source/application.cpp 2022-05-22 17:09:32.234809499 -0400
++++ 11.21-1/FreeFileSync/Source/application.cpp 2022-05-24 08:36:51.949159500 -0400
+@@ -93,7 +93,7 @@
+ ZEN_ON_SCOPE_EXIT(if (error) ::g_error_free(error));
+
+ ::gtk_css_provider_load_from_path(provider, //GtkCssProvider* css_provider,
+- (getResourceDirPf() + fileName).c_str(), //const gchar* path,
++ (getResourceDirPath() + fileName).c_str(), //const gchar* path,
+ &error); //GError** error
+ if (error)
+ throw SysError(formatGlibError("gtk_css_provider_load_from_path", error));
diff --git a/freefilesync/debian/patches/ffs_gcc.patch b/freefilesync/debian/patches/ffs_gcc.patch
index dd9e628..e5a5a96 100644
--- a/freefilesync/debian/patches/ffs_gcc.patch
+++ b/freefilesync/debian/patches/ffs_gcc.patch
@@ -1,13 +1,13 @@
-Date: 2022-04-18
-Version: 11.20
-Message: Parameterize the C++ compiler invocation
+Date: 2022-05-24
+Version: 11.21
+Message: Parameterize the C++ compiler invocation, and use g++-12
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++-11
++CXX=g++-12
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 \
@@ -30,7 +30,7 @@ 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++-11
++CXX=g++-12
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 \
diff --git a/freefilesync/debian/patches/ffs_icon_loader.patch b/freefilesync/debian/patches/ffs_icon_loader.patch
index 2575ec5..14035d5 100644
--- a/freefilesync/debian/patches/ffs_icon_loader.patch
+++ b/freefilesync/debian/patches/ffs_icon_loader.patch
@@ -1,20 +1,21 @@
Summary: Solve libglib2.0 problem in sketchy manner
-Date: 2021-09-22
-Version: 11.14
+Date: 2022-05-24
+Version: 11.21
Author: bgstack15
Message:
Warning! I have absolutely no idea what I am doing. Check https://freefilesync.org/forum/viewtopic.php?t=8780 for future developments.
In Devuan Ceres, starting in 2021-08 with libglib2.0-0=2.68.3-2 the file icon_loader.cpp fails to compile. By removing the static_cast, this file can compile. The built application throws all sorts of GLib-GObject-CRITICIAL messages but the application operates.
Downgrade to "deb [check-valid-until=no] https://snapshot.debian.org/archive/debian/20210801T144205Z/ unstable main non-free contrib" in /etc/apt/sources.list and install the exact libglib version necessary to compile without this patch.
$ sudo apt-get -V install libglib2.0-0=2.66.8-1 libglib2.0-bin=2.66.8-1 libglib2.0-data=2.66.8-1 libglib2.0-dev=2.66.8-1 libglib2.0-dev-bin=2.66.8-1 libglib2.0-0:i386=2.66.8-1
---- 11.13-0/FreeFileSync/Source/base/icon_loader.cpp 2021-09-22 07:35:40.991208133 -0400
-+++ 11.14-0/FreeFileSync/Source/base/icon_loader.cpp 2021-09-22 14:40:10.981215352 -0400
+Zenju tried addressing this for me, but it still does not compile, even with g++-12. So I still have to omit this macro call.
+--- 11.21-0/FreeFileSync/Source/base/icon_loader.cpp 2022-05-22 17:09:32.234809499 -0400
++++ 11.21-1/FreeFileSync/Source/base/icon_loader.cpp 2022-05-24 08:59:15.433965993 -0400
@@ -216,7 +216,7 @@
//the remaining icon types won't block!
assert(GDK_IS_PIXBUF(gicon) || G_IS_THEMED_ICON(gicon) || G_IS_EMBLEMED_ICON(gicon));
-- return FileIconHolder(static_cast<GIcon*>(::g_object_ref(gicon)) /*pass ownership*/, maxSize);
-+ return FileIconHolder(gicon /*pass ownership*/, maxSize);
+- ::g_object_ref(gicon); //pass ownership
++ //::g_object_ref(gicon); //pass ownership
+ return FileIconHolder(gicon, maxSize); //
}
-
diff --git a/freefilesync/debian/patches/ffs_no_wx311.patch b/freefilesync/debian/patches/ffs_no_wx311.patch
index 1671e4c..e74da90 100644
--- a/freefilesync/debian/patches/ffs_no_wx311.patch
+++ b/freefilesync/debian/patches/ffs_no_wx311.patch
@@ -1,10 +1,10 @@
-Last modified: 2022-04-18
-Version: 11.20
+Last modified: 2022-05-24
+Version: 11.21
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
++++ 11.21-1/FreeFileSync/Source/ui/small_dlgs.cpp 2020-12-08 18:22:19.929543356 -0500
@@ -300,7 +300,8 @@
{
showNotificationDialog(this, DialogInfoType::error, PopupDialogCfg().setDetailInstructions(e.toString()));
@@ -15,6 +15,16 @@ 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))
+@@ -1292,7 +1298,8 @@
+ for (const auto& [dlgShown, dlgSetShown, msg] : hiddenDialogCfgMapping_)
+ dialogMessages.push_back(msg);
+
+- m_checkListHiddenDialogs->Append(dialogMessages);
++ for (const wxString& item :dialogMessages) // reverted to pre-wx 3.1.1 logic
++ m_checkListHiddenDialogs->Append(item);
+
+ unsigned int itemPos = 0;
+ for (const auto& [dlgShown, dlgSetShown, msg] : hiddenDialogCfgMapping_)
@@ -1689,7 +1690,6 @@
//setMainInstructionFont(*m_staticTextMain);
@@ -63,3 +73,66 @@ diff -x '*.rej' -x '*.orig' -x '*.git*' -Naur 10.24-0/FreeFileSync/Source/ui/fol
//this->SetSelection(wxNOT_FOUND); //don't select anything
ChangeValue(folderPathPhrase); //preserve main text!
+--- 11.21-0/FreeFileSync/Source/config.cpp 2022-05-22 17:09:32.238809549 -0400
++++ 11.21-1/FreeFileSync/Source/config.cpp 2022-05-24 08:41:55.360955076 -0400
+@@ -1502,13 +1512,13 @@
+ if (lngName == "English (US)")
+ cfg.programLanguage = wxLANGUAGE_ENGLISH_US;
+ else if (lngName == "Chinese (Simplified)")
+- cfg.programLanguage = wxLANGUAGE_CHINESE_CHINA;
++ cfg.programLanguage = wxLANGUAGE_CHINESE_SIMPLIFIED;
+ else if (lngName == "Chinese (Traditional)")
+ cfg.programLanguage = wxLANGUAGE_CHINESE_TAIWAN;
+ else if (lngName == "English (U.K.)")
+ cfg.programLanguage = wxLANGUAGE_ENGLISH_UK;
+ else if (lngName == "Norwegian (Bokmal)")
+- cfg.programLanguage = wxLANGUAGE_NORWEGIAN;
++ cfg.programLanguage = wxLANGUAGE_NORWEGIAN_BOKMAL;
+ else if (lngName == "Portuguese (Brazilian)")
+ cfg.programLanguage = wxLANGUAGE_PORTUGUESE_BRAZILIAN;
+ else if (const wxLanguageInfo* lngInfo = wxLocale::FindLanguageInfo(utfTo<wxString>(lngName)))
+--- 11.21-0/FreeFileSync/Source/localization.cpp 2022-05-22 17:09:32.238809549 -0400
++++ 11.21-1/FreeFileSync/Source/localization.cpp 2022-05-24 08:48:56.398222091 -0400
+@@ -195,19 +195,19 @@
+ if (lngCode == "zh")
+ {
+ if (lng == wxLANGUAGE_CHINESE) //wxWidgets assigns this to "zh" or "zh_TW" for some reason
+- return wxLANGUAGE_CHINESE_CHINA;
++ return wxLANGUAGE_CHINESE_SIMPLIFIED;
+
+ for (const char* l : {"zh_HK", "zh_MO", "zh_TW"})
+ if (locale == l)
+ return wxLANGUAGE_CHINESE_TAIWAN;
+
+- return wxLANGUAGE_CHINESE_CHINA;
++ return wxLANGUAGE_CHINESE_SIMPLIFIED;
+ }
+
+ if (lngCode == "en")
+ {
+ if (lng == wxLANGUAGE_ENGLISH || //wxWidgets assigns this to "en" or "en_GB" for some reason
+- lng == wxLANGUAGE_ENGLISH_WORLD)
++ lng == wxLANGUAGE_ENGLISH_EIRE)
+ return wxLANGUAGE_ENGLISH_US;
+
+ for (const char* l : {"en_US", "en_CA", "en_AS", "en_UM", "en_VI"})
+@@ -218,7 +218,7 @@
+ }
+
+ if (lngCode == "nb" || lngCode == "nn") //wxLANGUAGE_NORWEGIAN_BOKMAL, wxLANGUAGE_NORWEGIAN_NYNORSK
+- return wxLANGUAGE_NORWEGIAN;
++ return wxLANGUAGE_NORWEGIAN_BOKMAL;
+
+ if (locale == "pt_BR")
+ return wxLANGUAGE_PORTUGUESE_BRAZILIAN;
+--- 11.21-0/FreeFileSync/Source/ui/main_dlg.cpp 2022-05-22 17:09:32.246809650 -0400
++++ 11.21-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-05-24 09:29:32.384695364 -0400
+@@ -1759,7 +1753,7 @@
+ if (statusTxts_.empty())
+ {
+ m_staticTextStatusCenter->SetForegroundColour(highlight ? wxColor(31, 57, 226) /*blue*/ : wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT));
+- m_staticTextStatusCenter->SetFont((m_staticTextStatusCenter->GetFont().*(highlight ? &wxFont::Bold : &wxFont::GetBaseFont))());
++ m_staticTextStatusCenter->SetFont(m_staticTextStatusCenter->GetFont().Bold());
+
+ setText(*m_staticTextStatusCenter, text);
+ m_panelStatusBar->Layout();
diff --git a/freefilesync/debian/patches/ffs_traditional_view.patch b/freefilesync/debian/patches/ffs_traditional_view.patch
index aeeb9b2..e0cf0d2 100644
--- a/freefilesync/debian/patches/ffs_traditional_view.patch
+++ b/freefilesync/debian/patches/ffs_traditional_view.patch
@@ -1,5 +1,5 @@
Version: 11.21
-Date: 2022-05-22
+Date: 2022-05-24
Author: bgstack15@gmail.com
Message: restore a traditional view to FreeFileSync
diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.3-1/FreeFileSync/Source/ui/file_grid.cpp
@@ -85,7 +85,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
+ if (!endsWith(groupParentFolder, L'/' ) && //e.g. ftp://server/
+ !endsWith(groupParentFolder, L'\\') && /*e.g. C:\ */
+ groupParentFolder.size() > 0 )
-+ groupParentFolder += groupParentSep;
++ groupParentFolder += contains(groupParentFolder, L'/') ? L'/' : (contains(groupParentFolder, L'\\') ? L'\\' : FILE_NAME_SEPARATOR);
+ break;
+ case ItemPathFormat::name:
+ case ItemPathFormat::relative:
bgstack15