summaryrefslogtreecommitdiff
path: root/freefilesync/ffs.el7.patch
diff options
context:
space:
mode:
authorB Stack <bgstack15@gmail.com>2019-02-18 10:43:53 -0500
committerB Stack <bgstack15@gmail.com>2019-02-18 10:43:53 -0500
commitd37779e8b1af7b7237844a9ff7c705296718835d (patch)
tree403405057d49f01c278ef6e4f285f53a0a4e872a /freefilesync/ffs.el7.patch
parentWIP: freefilesync on centos7 raw (diff)
downloadstackrpms-d37779e8b1af7b7237844a9ff7c705296718835d.tar.gz
stackrpms-d37779e8b1af7b7237844a9ff7c705296718835d.tar.bz2
stackrpms-d37779e8b1af7b7237844a9ff7c705296718835d.zip
WIP: FreeFileSync on CentOS 7, part 1
In my original dev environment, I can now compile and execute the main binaries. My next commit should include some attempts at static linking so the runtime environment does not need the hacked openssl 1.1.0h packages.
Diffstat (limited to 'freefilesync/ffs.el7.patch')
-rw-r--r--freefilesync/ffs.el7.patch107
1 files changed, 107 insertions, 0 deletions
diff --git a/freefilesync/ffs.el7.patch b/freefilesync/ffs.el7.patch
new file mode 100644
index 0000000..0763296
--- /dev/null
+++ b/freefilesync/ffs.el7.patch
@@ -0,0 +1,107 @@
+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
+diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.9-0/FreeFileSync/Source/base/ffs_paths.cpp 10.9-1.el7/FreeFileSync/Source/base/ffs_paths.cpp
+--- 10.9-0/FreeFileSync/Source/base/ffs_paths.cpp 2019-02-13 16:05:15.000000000 -0500
++++ 10.9-1.el7/FreeFileSync/Source/base/ffs_paths.cpp 2019-02-17 10:43:22.286986341 -0500
+@@ -59,7 +59,7 @@
+ ZEN_ON_SCOPE_EXIT(wxTheApp->SetAppName(appName));
+
+ //if (isPortableVersion())
+- return appendSeparator(getExeFolderParentPath());
++ return appendSeparator("/usr") + appendSeparator("share") + appendSeparator("freefilesync");
+ //else //use OS' standard paths
+ // return appendSeparator(utfTo<Zstring>(wxStandardPathsBase::Get().GetResourcesDir()));
+ }
+diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.9-0/FreeFileSync/Source/Makefile 10.9-1.el7/FreeFileSync/Source/Makefile
+--- 10.9-0/FreeFileSync/Source/Makefile 2019-02-13 16:05:15.000000000 -0500
++++ 10.9-1.el7/FreeFileSync/Source/Makefile 2019-02-17 10:50:27.282820639 -0500
+@@ -1,10 +1,10 @@
+-EXENAME = FreeFileSync_$(shell arch)
++EXENAME = FreeFileSync
+
+ CXXFLAGS = -std=c++17 -pipe -DWXINTL_NO_GETTEXT_MACRO -DLIBSSH2_OPENSSL -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
+
+
+ CXXFLAGS += `pkg-config --cflags openssl`
+diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.9-0/FreeFileSync/Source/RealTimeSync/Makefile 10.9-1.el7/FreeFileSync/Source/RealTimeSync/Makefile
+--- 10.9-0/FreeFileSync/Source/RealTimeSync/Makefile 2019-02-13 16:05:15.000000000 -0500
++++ 10.9-1.el7/FreeFileSync/Source/RealTimeSync/Makefile 2019-02-17 10:50:43.699007372 -0500
+@@ -1,10 +1,10 @@
+-EXENAME = RealTimeSync_$(shell arch)
++EXENAME = RealTimeSync
+
+ 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
+
+ #Gtk - support "no button border"
+ CXXFLAGS += `pkg-config --cflags gtk+-2.0`
+diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.9-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.9-1.el7/FreeFileSync/Source/ui/small_dlgs.cpp
+--- 10.9-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-02-13 16:05:15.000000000 -0500
++++ 10.9-1.el7/FreeFileSync/Source/ui/small_dlgs.cpp 2019-02-17 10:42:29.741388638 -0500
+@@ -115,6 +115,8 @@
+ L" x64";
+ #endif
+
++ build +=
++ L" for CentOS 7";
+
+ GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize()
+
+diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.9-0/zen/ring_buffer.h 10.9-1.el7/zen/ring_buffer.h
+--- 10.9-0/zen/ring_buffer.h 2019-02-13 16:05:15.000000000 -0500
++++ 10.9-1.el7/zen/ring_buffer.h 2019-02-17 09:53:10.907818287 -0500
+@@ -9,6 +9,7 @@
+
+ #include <cassert>
+ #include "scope_guard.h"
++#include <cstddef>
+
+
+ namespace zen
+diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.9-0/zen/serialize.h 10.9-1.el7/zen/serialize.h
+--- 10.9-0/zen/serialize.h 2019-02-13 16:05:15.000000000 -0500
++++ 10.9-1.el7/zen/serialize.h 2019-02-17 09:53:06.701772057 -0500
+@@ -9,6 +9,7 @@
+
+ #include <functional>
+ #include <cstdint>
++#include <cstddef>
+ #include "string_base.h"
+ //keep header clean from specific stream implementations! (e.g.file_io.h)! used by abstract.h!
+
+diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.9-0/wx+/app_main.h 10.9-1/wx+/app_main.h
+--- 10.9-0/wx+/app_main.h 2019-02-13 16:05:15.000000000 -0500
++++ 10.9-1/wx+/app_main.h 2019-02-16 13:51:32.437266070 -0500
+@@ -7,6 +7,8 @@
+ #ifndef APP_MAIN_H_08215601837818347575856
+ #define APP_MAIN_H_08215601837818347575856
+
++#define __GXX_ABI_VERSION 1002
++
+ #include <wx/window.h>
+ #include <wx/app.h>
+
+diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.9-0/FreeFileSync/Source/RealTimeSync/application.h 10.9-1.el7/FreeFileSync/Source/RealTimeSync/application.h
+--- 10.9-0/FreeFileSync/Source/RealTimeSync/application.h 2019-02-13 16:05:15.000000000 -0500
++++ 10.9-1.el7/FreeFileSync/Source/RealTimeSync/application.h 2019-02-18 08:53:14.017850931 -0500
+@@ -7,6 +7,8 @@
+ #ifndef APPLICATION_H_18506781708176342677
+ #define APPLICATION_H_18506781708176342677
+
++#define __GXX_ABI_VERSION 1002
++
+ #include <wx/app.h>
+
+
bgstack15