summaryrefslogtreecommitdiff
path: root/freefilesync/ffs_el.patch
diff options
context:
space:
mode:
Diffstat (limited to 'freefilesync/ffs_el.patch')
-rw-r--r--freefilesync/ffs_el.patch97
1 files changed, 52 insertions, 45 deletions
diff --git a/freefilesync/ffs_el.patch b/freefilesync/ffs_el.patch
index 3e1e9d3..c8b0fcc 100644
--- a/freefilesync/ffs_el.patch
+++ b/freefilesync/ffs_el.patch
@@ -1,10 +1,11 @@
+# 2020-07-22 starting at FreeFileSync 10.25 in 2020-06, we need g++-10 to compile but all EL targets (6, 7, and 8) do not have gcc 10 so this patch is not usable as is. But it should get the gtk3 fix if any CentOS targets get gcc-10.
The cstddef discovery is from https://stackoverflow.com/questions/52567517/freefilesync-c-error-byte-is-not-a-member-of-std
Some changes just make the application work better in an installed setting (e.g., the hard-coded resouce path).
Tricking the wxWidgets ABI version comes from https://stackoverflow.com/questions/45123664/wxwidgets-runtime-error-mismatch-version/47822976#47822976
FreeFileSync 10.11 updated the default compile flags to -std=c++2a, but this fails on gcc 4.8.5 on el7. Reverting to -std=c++17 allows the application to compile.
-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:36:28.178274292 -0400
+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
++++ 10.13-1/FreeFileSync/Source/ffs_paths.cpp 2019-06-14 20:36:28.178274292 -0400
@@ -55,7 +55,8 @@
Zstring fff::getResourceDirPf()
@@ -17,37 +18,30 @@ diff -Naur 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 10.13-1/FreeFileSync/S
diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/Makefile 10.11-1/FreeFileSync/Source/Makefile
--- 10.11-0/FreeFileSync/Source/Makefile 2019-04-12 07:59:45.042147902 -0400
-+++ 10.15-1/FreeFileSync/Source/Makefile 2019-08-16 08:19:12.101271747 -0400
++++ 10.18-1/FreeFileSync/Source/Makefile 2019-11-21 20:59:25.548277619 -0500
@@ -1,10 +1,10 @@
--EXENAME = FreeFileSync_$(shell arch)
-+EXENAME = FreeFileSync
+-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++17 -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
+ -O3 -DNDEBUG -fPIC `wx-config --version=3.0 --cxxflags --debug=no` -pthread
--LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread
-+LINKFLAGS = -s -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-z,relro -no-pie `wx-config --version=3.0 --libs std, aui --debug=no | sed -r -e 's/-[^[:space:]]+web[^[:space:]]+//;'` -lz -pthread
+-linkFlags = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread
++linkFlags = -s -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-z,relro -no-pie `wx-config --version=3.0 --libs std, aui --debug=no | sed -r -e 's/-[^[:space:]]+web[^[:space:]]+//;'` -lz -pthread
- CXXFLAGS += `pkg-config --cflags openssl`
+ cxxFlags += `pkg-config --cflags openssl`
@@ -17,6 +17,7 @@
- LINKFLAGS += `pkg-config --libs 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`
++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
-@@ -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' -x '*.swp' 10.11-0/FreeFileSync/Source/RealTimeSync/application.h 10.11-1/FreeFileSync/Source/RealTimeSync/application.h
--- 10.11-0/FreeFileSync/Source/RealTimeSync/application.h 2019-04-12 07:59:45.035147580 -0400
+++ 10.11-1/FreeFileSync/Source/RealTimeSync/application.h 2019-04-12 10:19:57.227913415 -0400
@@ -62,37 +56,37 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/RealTim
diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 10.11-1/FreeFileSync/Source/RealTimeSync/Makefile
--- 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 2019-04-12 07:59:45.008146336 -0400
-+++ 10.15-1/FreeFileSync/Source/RealTimeSync/Makefile 2019-08-16 08:19:21.959638104 -0400
++++ 10.18-1/FreeFileSync/Source/RealTimeSync/Makefile 2019-11-22 10:14:04.326175203 -0500
@@ -1,13 +1,14 @@
--EXENAME = RealTimeSync_$(shell arch)
-+EXENAME = RealTimeSync
+-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++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
++cxxFlags = -std=c++17 -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
+ -O3 -DNDEBUG -fPIC `wx-config --version=3.0 --cxxflags --debug=no` -pthread
--LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread
-+LINKFLAGS = -s -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -no-pie `wx-config --version=3.0 --cxxflags --libs std, aui --debug=no | sed -r -e 's/-[^[:space:]]+web[^[:space:]]+//;'` -lz -pthread
+-linkFlags = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread
++linkFlags = -s -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -no-pie `wx-config --version=3.0 --cxxflags --libs std, aui --debug=no | sed -r -e 's/-[^[:space:]]+web[^[:space:]]+//;'` -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`
++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
-diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp
---- 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 07:59:45.318160616 -0400
-+++ 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 10:19:57.228913439 -0400
-@@ -115,6 +115,8 @@
- L" x64";
+diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.19-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.19-1/FreeFileSync/Source/ui/small_dlgs.cpp
+--- 10.22-0/FreeFileSync/Source/ui/small_dlgs.cpp 2020-03-18 15:49:57.837901137 -0400
++++ 10.22-1/FreeFileSync/Source/ui/small_dlgs.cpp 2020-03-18 16:18:46.215713307 -0400
+@@ -97,6 +97,8 @@
+ build += L"64 Bit";
#endif
-+ build +=
-+ L" for CentOS 7";
-
- GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize()
++ build += L" for CentOS";
++
+ build += SPACED_BULLET;
+ build += utfTo<wxString>(formatTime(formatDateTag, getCompileTime()));
diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/wx+/app_main.h 10.11-1/wx+/app_main.h
--- 10.11-0/wx+/app_main.h 2019-04-12 07:59:44.936143019 -0400
@@ -117,14 +111,27 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/zen/ring_buffer.h 10.11-1/z
namespace zen
-diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/zen/serialize.h 10.11-1/zen/serialize.h
+diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/zen/serialize.h 10.19-1/zen/serialize.h
--- 10.11-0/zen/serialize.h 2019-04-12 07:59:46.080195719 -0400
-+++ 10.11-1/zen/serialize.h 2019-04-12 10:19:57.229913463 -0400
-@@ -9,6 +9,7 @@
-
++++ 10.19-1/zen/serialize.h 2019-12-27 11:35:50.379901321 -0500
+@@ -10,6 +10,7 @@
#include <functional>
#include <cstdint>
+ #include <stdexcept>
+#include <cstddef>
#include "string_base.h"
//keep header clean from specific stream implementations! (e.g.file_io.h)! used by abstract.h!
+Message: For -std=c++17 we do not get to use charconv. It appears it is not actually in use, because the application compiles with this patch.
+diff -Naur -x '*.orig' -x '.git*' -x '*.swp' -x '*.rej' 10.18-0/zen/legacy_compiler.cpp 10.18-1/zen/legacy_compiler.cpp
+--- 10.18-0/zen/legacy_compiler.cpp 2019-11-21 20:59:02.633016149 -0500
++++ 10.18-1/zen/legacy_compiler.cpp 2019-11-21 20:59:31.042340308 -0500
+@@ -5,7 +5,7 @@
+ // *****************************************************************************
+
+ #include "legacy_compiler.h"
+-#include <charconv>
++//#include <charconv>
+ //1. including this one in string_tools.h blows up VC++:
+ // "An internal error has occurred in the compiler. (compiler file 'd:\agent\_work\1\s\src\vctools\Compiler\Utc\src\p2\p2symtab.c', line 2618)"
+ //2. using inside PCH: "fatal error C1076: compiler limit: internal heap limit reached"
bgstack15