Compiling FreeFileSync on Fedora
FreeFileSync is a great open source GUI application. Think of it as the GUI for rsync. The Freefilesync team does not provide an rpm of the software, but they do provide the source code. Now, the team does not allow direct linking, so that link has a HMTL5 rel="noreferrer" which might make it work for you.
Update:
I finally got a scriptlet to work with download the source code! Use this:
wget --referer "https://www.freefilesync.org/download/FreeFileSync_9.4_Source.zip" --user-agent "Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0" https://www.freefilesync.org/download/FreeFileSync_9.4_Source.zip
So, once you open up the zip file of the source code, you need to modify a few things. Please examine the patch I wrote:
diff -Naur FreeFileSync/Source/Makefile FreeFileSync.fc25/Source/Makefile
--- FreeFileSync/Source/Makefile 2017-10-05 09:54:58.000000000 -0400
+++ FreeFileSync.fc25/Source/Makefile 2017-10-22 21:33:01.445470939 -0400
@@ -10,8 +10,8 @@
LINKFLAGS = -s `wx-config --libs std, aui --debug=no` -lboost_thread -lboost_chrono -lboost_system -lz -pthread
#Gtk - support recycler/icon loading/no button border/grid scrolling
-CXXFLAGS += `pkg-config --cflags gtk+-2.0`
-LINKFLAGS += `pkg-config --libs gtk+-2.0`
+CXXFLAGS += `pkg-config --cflags gtk+-3.0`
+LINKFLAGS += `pkg-config --libs gtk+-3.0`
#support for SELinux (optional)
SELINUX_EXISTING=$(shell pkg-config --exists libselinux && echo YES)
diff -Naur FreeFileSync/Source/RealTimeSync/Makefile FreeFileSync.fc25/Source/RealTimeSync/Makefile
--- FreeFileSync/Source/RealTimeSync/Makefile 2017-10-05 09:54:58.000000000 -0400
+++ FreeFileSync.fc25/Source/RealTimeSync/Makefile 2017-10-22 21:33:19.853796285 -0400
@@ -7,8 +7,8 @@
LINKFLAGS = -s `wx-config --libs std, aui --debug=no` -lboost_thread -lboost_chrono -lboost_system -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+-3.0`
+LINKFLAGS += `pkg-config --libs gtk+-3.0`
CPP_LIST=
CPP_LIST+=application.cpp
diff -Naur FreeFileSync/Source/ui/main_dlg.cpp source.fc25/FreeFileSync/Source/ui/main_dlg.cpp
--- FreeFileSync/Source/ui/main_dlg.cpp 2017-10-05 09:54:58.000000000 -0400
+++ FreeFileSync.fc25/Source/ui/main_dlg.cpp 2017-10-22 21:33:01.446470957 -0400
@@ -1024,7 +1024,7 @@
history.resize(globalSettings.gui.cfgFileHistMax);
globalSettings.gui.cfgFileHistory = history;
- globalSettings.gui.cfgFileHistFirstItemPos = m_listBoxHistory->GetTopItem();
+ //globalSettings.gui.cfgFileHistFirstItemPos = m_listBoxHistory-gt;GetTopItem();
//--------------------------------------------------------------------------------
globalSettings.gui.lastUsedConfigFiles.clear();
for (const Zstring& cfgFilePath : activeConfigFiles_)
@@ -4862,6 +4862,7 @@
m_menuItemCheckVersionAuto->Check(updateCheckActive(globalCfg_.gui.lastUpdateCheck));
+ /*
if (shouldRunPeriodicUpdateCheck(globalCfg_.gui.lastUpdateCheck))
{
flashStatusInformation(_("Searching for program updates..."));
@@ -4869,6 +4870,7 @@
periodicUpdateCheckEval(this, globalCfg_.gui.lastUpdateCheck, globalCfg_.gui.lastOnlineVersion,
periodicUpdateCheckRunAsync(periodicUpdateCheckPrepare().get()).get());
}
+ */
}
@@ -4877,6 +4879,7 @@
//execute just once per startup!
Disconnect(wxEVT_IDLE, wxIdleEventHandler(MainDialog::OnRegularUpdateCheck), nullptr, this);
+ /*
if (shouldRunPeriodicUpdateCheck(globalCfg_.gui.lastUpdateCheck))
{
flashStatusInformation(_("Searching for program updates..."));
@@ -4890,6 +4893,7 @@
resultAsync.get()); //run on main thread:
});
}
+ */
}
You will need a set of packages installed to compile:
dnf install -y boost-devel compat-wxGTK3-gtk2-devel gcc-c++ gtk+-devel gtk3-devel wxGTK-devel wxGTK3-devel
Comments