Author: bgstack15 Source: Original research Last-Modified: 2022-09-07 Last-Version: 11.25 Message: Main patch to compile on Fedora 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 +++ 11.21-1/FreeFileSync/Source/ffs_paths.cpp 2019-11-21 09:41:42.287474472 -0500 @@ -49,7 +49,7 @@ Zstring fff::getResourceDirPath() { - return appendPath(getProcessParentFolderPath(), Zstr("Resources")); + return Zstr("/usr/share/freefilesync/"); } diff -Naur -x '*.rej' -x '*.orig' -x '*.git*' 11.4-0/FreeFileSync/Source/Makefile 11.4-1/FreeFileSync/Source/Makefile --- 11.25-0/FreeFileSync/Source/Makefile 2022-09-07 14:54:31.444628869 -0400 +++ 11.25-1/FreeFileSync/Source/Makefile 2022-09-07 16:33:08.295327455 -0400 @@ -1,11 +1,11 @@ CXX ?= g++ -exeName = FreeFileSync_$(shell arch) +exeName = FreeFileSync 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 -LDFLAGS += -s -no-pie `wx-config --libs std, aui, richtext --debug=no` -pthread +LDFLAGS += -s -no-pie `wx-config --libs std, aui, richtext --debug=no` -pthread -lz CXXFLAGS += `pkg-config --cflags openssl` @@ -17,9 +18,10 @@ CXXFLAGS += `pkg-config --cflags libssh2` LDFLAGS += `pkg-config --libs libssh2` -CXXFLAGS += `pkg-config --cflags gtk+-2.0` +CXXFLAGS += `pkg-config --cflags gtk+-3.0` +LDFLAGS += `pkg-config --libs gtk+-3.0` #treat as system headers so that warnings are hidden: -CXXFLAGS += -isystem/usr/include/gtk-2.0 +CXXFLAGS += -isystem/usr/include/gtk-3.0 #support for SELinux (optional) SELINUX_EXISTING=$(shell pkg-config --exists libselinux && echo YES) diff -Naur 11.25-0/FreeFileSync/Source/RealTimeSync/Makefile 11.25-1/FreeFileSync/Source/RealTimeSync/Makefile --- 11.25-0/FreeFileSync/Source/RealTimeSync/Makefile 2022-09-07 14:54:31.524629769 -0400 +++ 11.25-1/FreeFileSync/Source/RealTimeSync/Makefile 2022-09-07 19:33:38.512766244 -0400 @@ -1,16 +1,17 @@ CXX ?= g++ -exeName = RealTimeSync_$(shell arch) +exeName = RealTimeSync 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 -LDFLAGS += -s -no-pie `wx-config --libs std, aui, richtext --debug=no` -pthread +LDFLAGS += -s -no-pie `wx-config --libs std, aui, richtext --debug=no` -pthread -lz #Gtk - support "no button border" -CXXFLAGS += `pkg-config --cflags gtk+-2.0` +CXXFLAGS += `pkg-config --cflags gtk+-3.0` +LDFLAGS += `pkg-config --libs gtk+-3.0` #treat as system headers so that warnings are hidden: -CXXFLAGS += -isystem/usr/include/gtk-2.0 +CXXFLAGS += -isystem/usr/include/gtk-3.0 cppFiles= cppFiles+=application.cpp diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.19-0/FreeFileSync/Source/ui/small_dlgs.cpp 11.12-1/FreeFileSync/Source/ui/small_dlgs.cpp --- 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-12-27 07:56:06.714625467 -0500 +++ 11.12-1/FreeFileSync/Source/ui/small_dlgs.cpp 2021-07-15 09:03:57.753183052 -0400 @@ -93,6 +93,8 @@ build += LTR_MARK; //fix Arabic build += utfTo(cpuArchName); + build += L" for Fedora"; + build += SPACED_BULLET; build += utfTo(formatTime(formatDateTag, getCompileTime())); Message: some random sloppiness with a missing graphical asset. It's not important to the application. --- 11.22-0/FreeFileSync/Source/ui/small_dlgs.cpp 2022-06-26 16:03:49.887270966 -0400 +++ 11.22-1/FreeFileSync/Source/ui/small_dlgs.cpp 2022-06-26 16:03:52.123298767 -0400 @@ -140,9 +140,9 @@ wxImage::AddHandler(new wxJPEGHandler /*ownership passed*/); //activate support for .jpg files - wxImage animalImg(utfTo(appendPath(getResourceDirPath(), Zstr("Animal.dat"))), wxBITMAP_TYPE_JPEG); - convertToVanillaImage(animalImg); - assert(animalImg.IsOk()); + //wxImage animalImg(utfTo(appendPath(getResourceDirPath(), Zstr("Animal.dat"))), wxBITMAP_TYPE_JPEG); + //convertToVanillaImage(animalImg); + //assert(animalImg.IsOk()); //-------------------------------------------------------------------------- //have animal + text match *final* dialog width @@ -152,7 +152,7 @@ const int imageWidth = (m_panelDonate->GetSize().GetWidth() - 5 - 5 /* grey border*/) / 2; const int textWidth = m_panelDonate->GetSize().GetWidth() - 5 - 5 - imageWidth; - setImage(*m_bitmapAnimalSmall, shrinkImage(animalImg, imageWidth, -1 /*maxHeight*/)); + //setImage(*m_bitmapAnimalSmall, shrinkImage(animalImg, imageWidth, -1 /*maxHeight*/)); m_staticTextDonate->Show(); m_staticTextDonate->Wrap(textWidth - 10 /*left gap*/); //wrap *after* changing font size