Compare commits
10 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| cfa9250a29 | |||
| 7061d1038c | |||
| b0d2c80017 | |||
| daa51e339f | |||
| 8299a41b08 | |||
| c71cd60d44 | |||
| 2fe27a1aa1 | |||
| 3580ec6059 | |||
| 8beb6b3804 | |||
| 389c3bbea6 |
@@ -1,92 +0,0 @@
|
||||
Index: FreeFileSync-12.5/FreeFileSync/Source/Makefile
|
||||
===================================================================
|
||||
--- FreeFileSync-12.5.orig/FreeFileSync/Source/Makefile
|
||||
+++ FreeFileSync-12.5/FreeFileSync/Source/Makefile
|
||||
@@ -3,9 +3,9 @@ exeName = FreeFileSync_$(shell arch)
|
||||
|
||||
CXXFLAGS += -std=c++23 -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
|
||||
+ -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread -fpie
|
||||
|
||||
-LDFLAGS += -s -no-pie `wx-config --libs std, aui, richtext --debug=no` -pthread
|
||||
+LDFLAGS += -s `wx-config --libs std, aui, richtext --debug=no` -pthread -lz -pie
|
||||
|
||||
|
||||
CXXFLAGS += `pkg-config --cflags openssl`
|
||||
@@ -17,9 +17,10 @@ LDFLAGS += `pkg-config --libs libcurl`
|
||||
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)
|
||||
Index: FreeFileSync-12.5/FreeFileSync/Source/RealTimeSync/Makefile
|
||||
===================================================================
|
||||
--- FreeFileSync-12.5.orig/FreeFileSync/Source/RealTimeSync/Makefile
|
||||
+++ FreeFileSync-12.5/FreeFileSync/Source/RealTimeSync/Makefile
|
||||
@@ -3,14 +3,15 @@ exeName = RealTimeSync_$(shell arch)
|
||||
|
||||
CXXFLAGS += -std=c++23 -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
|
||||
+ -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread -fpie
|
||||
|
||||
-LDFLAGS += -s -no-pie `wx-config --libs std, aui, richtext --debug=no` -pthread
|
||||
+LDFLAGS += -s `wx-config --libs std, aui, richtext --debug=no` -pthread -lz -pie
|
||||
|
||||
#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
|
||||
Index: FreeFileSync-12.5/libssh2/libssh2_wrap.h
|
||||
===================================================================
|
||||
--- FreeFileSync-12.5.orig/libssh2/libssh2_wrap.h
|
||||
+++ FreeFileSync-12.5/libssh2/libssh2_wrap.h
|
||||
@@ -20,6 +20,22 @@
|
||||
#error libssh2_sftp.h header guard changed
|
||||
#endif
|
||||
|
||||
+// fix some build errors
|
||||
+/* MAX_SFTP_READ_SIZE is how much data is asked for at max in each FXP_READ
|
||||
+ * packets.
|
||||
+ */
|
||||
+#ifndef MAX_SFTP_READ_SIZE
|
||||
+ #define MAX_SFTP_READ_SIZE 30000
|
||||
+#endif
|
||||
+
|
||||
+/*
|
||||
+ * MAX_SFTP_OUTGOING_SIZE MUST not be larger than 32500 or so. This is the
|
||||
+ * amount of data sent in each FXP_WRITE packet
|
||||
+ */
|
||||
+#ifndef MAX_SFTP_OUTGOING_SIZE
|
||||
+ #define MAX_SFTP_OUTGOING_SIZE 30000
|
||||
+#endif
|
||||
+
|
||||
//fix libssh2 64-bit warning mess: https://github.com/libssh2/libssh2/pull/96
|
||||
#undef libssh2_userauth_password
|
||||
inline int libssh2_userauth_password(LIBSSH2_SESSION* session, const std::string& username, const std::string& password)
|
||||
Index: FreeFileSync-12.5/zen/ring_buffer.h
|
||||
===================================================================
|
||||
--- FreeFileSync-12.5.orig/zen/ring_buffer.h
|
||||
+++ FreeFileSync-12.5/zen/ring_buffer.h
|
||||
@@ -8,6 +8,7 @@
|
||||
#define RING_BUFFER_H_01238467085684139453534
|
||||
|
||||
#include <cassert>
|
||||
+#include <cstddef>
|
||||
#include "scope_guard.h"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Index: FreeFileSync-13.6/FreeFileSync/Source/ui/gui_generated.cpp
|
||||
Index: FreeFileSync-14.3/FreeFileSync/Source/ui/gui_generated.cpp
|
||||
===================================================================
|
||||
--- FreeFileSync-13.6.orig/FreeFileSync/Source/ui/gui_generated.cpp
|
||||
+++ FreeFileSync-13.6/FreeFileSync/Source/ui/gui_generated.cpp
|
||||
--- FreeFileSync-14.3.orig/FreeFileSync/Source/ui/gui_generated.cpp
|
||||
+++ FreeFileSync-14.3/FreeFileSync/Source/ui/gui_generated.cpp
|
||||
@@ -108,10 +108,10 @@ MainDialogGenerated::MainDialogGenerated
|
||||
m_menuItemHelp = new wxMenuItem( m_menuHelp, wxID_HELP, wxString( _("&View help") ) + wxT('\t') + wxT("F1"), wxEmptyString, wxITEM_NORMAL );
|
||||
m_menuHelp->Append( m_menuItemHelp );
|
||||
@@ -15,11 +15,11 @@ Index: FreeFileSync-13.6/FreeFileSync/Source/ui/gui_generated.cpp
|
||||
|
||||
m_menuHelp->AppendSeparator();
|
||||
|
||||
Index: FreeFileSync-13.6/FreeFileSync/Source/ui/main_dlg.cpp
|
||||
Index: FreeFileSync-14.3/FreeFileSync/Source/ui/main_dlg.cpp
|
||||
===================================================================
|
||||
--- FreeFileSync-13.6.orig/FreeFileSync/Source/ui/main_dlg.cpp
|
||||
+++ FreeFileSync-13.6/FreeFileSync/Source/ui/main_dlg.cpp
|
||||
@@ -1118,7 +1118,7 @@ imgFileManagerSmall_([]
|
||||
--- FreeFileSync-14.3.orig/FreeFileSync/Source/ui/main_dlg.cpp
|
||||
+++ FreeFileSync-14.3/FreeFileSync/Source/ui/main_dlg.cpp
|
||||
@@ -1092,7 +1092,7 @@ imgFileManagerSmall_([]
|
||||
updateGui();
|
||||
|
||||
//register regular check for update on next idle event
|
||||
@@ -28,11 +28,11 @@ Index: FreeFileSync-13.6/FreeFileSync/Source/ui/main_dlg.cpp
|
||||
|
||||
//asynchronous call to wxWindow::Dimensions(): fix superfluous frame on right and bottom when FFS is started in fullscreen mode
|
||||
Bind(wxEVT_IDLE, &MainDialog::onLayoutWindowAsync, this);
|
||||
Index: FreeFileSync-13.6/FreeFileSync/Source/ui/version_check.cpp
|
||||
Index: FreeFileSync-14.3/FreeFileSync/Source/ui/version_check.cpp
|
||||
===================================================================
|
||||
--- FreeFileSync-13.6.orig/FreeFileSync/Source/ui/version_check.cpp
|
||||
+++ FreeFileSync-13.6/FreeFileSync/Source/ui/version_check.cpp
|
||||
@@ -48,7 +48,8 @@ void openBrowserForDownload(wxWindow* pa
|
||||
--- FreeFileSync-14.3.orig/FreeFileSync/Source/ui/version_check.cpp
|
||||
+++ FreeFileSync-14.3/FreeFileSync/Source/ui/version_check.cpp
|
||||
@@ -49,7 +49,8 @@ void openBrowserForDownload(wxWindow* pa
|
||||
bool fff::automaticUpdateCheckDue(time_t lastUpdateCheck)
|
||||
{
|
||||
const time_t now = std::time(nullptr);
|
||||
|
||||
149
FreeFileSync-gui.patch
Normal file
149
FreeFileSync-gui.patch
Normal file
@@ -0,0 +1,149 @@
|
||||
diff --git a/FreeFileSync/Source/ui/gui_status_handler.cpp b/FreeFileSync/Source/ui/gui_status_handler.cpp
|
||||
--- a/FreeFileSync/Source/ui/gui_status_handler.cpp
|
||||
+++ b/FreeFileSync/Source/ui/gui_status_handler.cpp
|
||||
@@ -70,27 +70,33 @@ void StatusHandlerTemporaryPanel::showStatsPanel()
|
||||
//case wxAUI_DOCK_CENTRE:
|
||||
}
|
||||
|
||||
+ wxAuiPaneInfoArray& paneArray = mainDlg_.auiMgr_.GetAllPanes();
|
||||
const bool statusRowTaken = [&]
|
||||
{
|
||||
- for (wxAuiPaneInfo& paneInfo : mainDlg_.auiMgr_.GetAllPanes())
|
||||
+ for (size_t i = 0; i < paneArray.size(); ++i)
|
||||
+ {
|
||||
+ const wxAuiPaneInfo& paneInfo = paneArray[i];
|
||||
//doesn't matter if paneInfo.IsShown() or not! => move down in either case!
|
||||
if (&paneInfo != &statusPanel &&
|
||||
paneInfo.dock_layer == statusPanel.dock_layer &&
|
||||
paneInfo.dock_direction == statusPanel.dock_direction &&
|
||||
paneInfo.dock_row == statusPanel.dock_row)
|
||||
return true;
|
||||
-
|
||||
+ }
|
||||
return false;
|
||||
}();
|
||||
|
||||
//move all rows that are in the way one step further
|
||||
if (statusRowTaken)
|
||||
- for (wxAuiPaneInfo& paneInfo : mainDlg_.auiMgr_.GetAllPanes())
|
||||
+ for (size_t i = 0; i < paneArray.size(); ++i)
|
||||
+ {
|
||||
+ wxAuiPaneInfo& paneInfo = paneArray[i];
|
||||
if (&paneInfo != &statusPanel &&
|
||||
paneInfo.dock_layer == statusPanel.dock_layer &&
|
||||
paneInfo.dock_direction == statusPanel.dock_direction &&
|
||||
paneInfo.dock_row >= statusPanel.dock_row)
|
||||
++paneInfo.dock_row;
|
||||
+ }
|
||||
//------------------------------------------------------------------
|
||||
|
||||
statusPanel.Show();
|
||||
|
||||
--- a/wx+/darkmode.cpp
|
||||
+++ b/wx+/darkmode.cpp
|
||||
@@ -60,7 +60,7 @@ void zen::colorThemeInit(wxApp& app, Col
|
||||
{
|
||||
assert(!refGlobalColorHook());
|
||||
|
||||
- globalDefaultThemeIsDark = wxSystemSettings::GetAppearance().AreAppsDark();
|
||||
+ globalDefaultThemeIsDark = false;
|
||||
ZEN_ON_SCOPE_EXIT(if (!refGlobalColorHook()) refGlobalColorHook() = std::make_unique<SysColorsHook>()); //*after* SetAppearance() and despite errors
|
||||
|
||||
//caveat: on macOS there are more themes than light/dark: https://developer.apple.com/documentation/appkit/nsappearance/name-swift.struct
|
||||
@@ -93,10 +93,6 @@ void zen::changeColorTheme(ColorTheme colTheme) //throw FileError
|
||||
try
|
||||
{
|
||||
ZEN_ON_SCOPE_SUCCESS(refGlobalColorHook() = std::make_unique<SysColorsHook>()); //*after* SetAppearance()
|
||||
- if (wxApp::AppearanceResult rv = wxTheApp->SetAppearance(colTheme);
|
||||
- rv != wxApp::AppearanceResult::Ok)
|
||||
- throw SysError(formatSystemError("wxApp::SetAppearance",
|
||||
- rv == wxApp::AppearanceResult::CannotChange ? L"CannotChange" : L"Failure", L"" /*errorMsg*/));
|
||||
}
|
||||
catch (const SysError& e) { throw FileError(_("Failed to update the color theme."), e.toString()); }
|
||||
}
|
||||
--- a/wx+/darkmode.h
|
||||
+++ b/wx+/darkmode.h
|
||||
@@ -9,14 +9,16 @@
|
||||
|
||||
#include <zen/file_error.h>
|
||||
#include <wx/app.h>
|
||||
+#include <wx/settings.h>
|
||||
|
||||
|
||||
+enum class Appearance{System,Light,Dark};
|
||||
namespace zen
|
||||
{
|
||||
bool darkModeAvailable();
|
||||
|
||||
//support not only "dark mode" but dark themes in general
|
||||
-using ColorTheme = wxApp::Appearance; //why reinvent the wheel?
|
||||
+using ColorTheme = Appearance; //why reinvent the wheel?
|
||||
|
||||
void colorThemeInit(wxApp& app, ColorTheme colTheme); //throw FileError
|
||||
void colorThemeCleanup();
|
||||
@@ -25,4 +27,28 @@ bool equalAppearance(ColorTheme colTheme1, ColorTheme colTheme2);
|
||||
void changeColorTheme(ColorTheme colTheme); //throw FileError
|
||||
}
|
||||
|
||||
+struct wxColorHook
|
||||
+{
|
||||
+ virtual ~wxColorHook() {}
|
||||
+ virtual wxColour getColor(wxSystemColour index) const = 0;
|
||||
+};
|
||||
+WXDLLIMPEXP_CORE inline std::unique_ptr<wxColorHook>& refGlobalColorHook()
|
||||
+{
|
||||
+ static std::unique_ptr<wxColorHook> globalColorHook;
|
||||
+ return globalColorHook;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+class WXDLLIMPEXP_CORE wxSystemSettings2 : public wxSystemSettingsNative
|
||||
+{
|
||||
+public:
|
||||
+ static wxColour GetColour(wxSystemColour index)
|
||||
+ {
|
||||
+ if (refGlobalColorHook())
|
||||
+ return refGlobalColorHook()->getColor(index);
|
||||
+
|
||||
+ return wxSystemSettingsNative::GetColour(index);
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
#endif //DARKMODE_H_754298057018
|
||||
--- a/FreeFilesync/Source/ui/main_dlg.cpp
|
||||
+++ b/FreeFileSync/Source/ui/main_dlg.cpp
|
||||
@@ -1279,11 +1279,11 @@ void MainDialog::setGlobalCfgOnInit(const GlobalConfig& globalCfg)
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
m_checkBoxMatchCase->SetValue(globalCfg_.mainDlg.textSearchRespectCase);
|
||||
-
|
||||
+ wxAuiPaneInfoArray& paneArray = auiMgr_.GetAllPanes();
|
||||
//work around wxAuiManager::LoadPerspective overwriting pane captions with old values (might be different language!)
|
||||
std::vector<std::pair<wxAuiPaneInfo*, wxString>> paneCaptions;
|
||||
- for (wxAuiPaneInfo& paneInfo : auiMgr_.GetAllPanes())
|
||||
- paneCaptions.emplace_back(&paneInfo, paneInfo.caption);
|
||||
+ for (size_t i = 0; i < paneArray.size(); ++i)
|
||||
+ paneCaptions.emplace_back(&paneArray[i], paneArray[i].caption);
|
||||
|
||||
//compare progress dialog minimum sizes are layout-dependent + can't be changed by user => don't load stale values from config
|
||||
std::vector<std::tuple<wxAuiPaneInfo*, wxSize /*min size*/, wxSize /*best size*/>> paneConstraints;
|
||||
@@ -3147,8 +3147,8 @@ void MainDialog::onSetLayoutContext(wxMouseEvent& event)
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
bool addedSeparator = false;
|
||||
-
|
||||
- for (wxAuiPaneInfo& paneInfo : auiMgr_.GetAllPanes())
|
||||
+ const wxAuiPaneInfoArray& paneArray = auiMgr_.GetAllPanes();
|
||||
+ for (size_t i = 0; i < paneArray.size(); ++i){ wxAuiPaneInfo& paneInfo = paneArray[i];
|
||||
if (!paneInfo.IsShown() &&
|
||||
paneInfo.window != compareStatus_->getAsWindow() &&
|
||||
paneInfo.window != m_panelLog &&
|
||||
@@ -3166,7 +3166,7 @@ void MainDialog::onSetLayoutContext(wxMouseEvent& event)
|
||||
this->auiMgr_.Update();
|
||||
});
|
||||
}
|
||||
-
|
||||
+ }
|
||||
menu.popup(*this);
|
||||
}
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
Index: FreeFileSync-13.2/FreeFileSync/Source/base/icon_loader.cpp
|
||||
===================================================================
|
||||
--- FreeFileSync-13.2.orig/FreeFileSync/Source/base/icon_loader.cpp
|
||||
+++ FreeFileSync-13.2/FreeFileSync/Source/base/icon_loader.cpp
|
||||
@@ -227,7 +227,7 @@ FileIconHolder fff::getFileIcon(const Zs
|
||||
//the remaining icon types won't block!
|
||||
assert(GDK_IS_PIXBUF(gicon) || G_IS_THEMED_ICON(gicon) || G_IS_EMBLEMED_ICON(gicon));
|
||||
|
||||
- ::g_object_ref(gicon); //pass ownership
|
||||
+ //::g_object_ref(gicon); //pass ownership
|
||||
return FileIconHolder(gicon, maxSize); //
|
||||
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
Index: FreeFileSync-13.3/FreeFileSync/Source/application.cpp
|
||||
Index: FreeFileSync-14.3/FreeFileSync/Source/application.cpp
|
||||
===================================================================
|
||||
--- FreeFileSync-13.3.orig/FreeFileSync/Source/application.cpp
|
||||
+++ FreeFileSync-13.3/FreeFileSync/Source/application.cpp
|
||||
@@ -243,10 +243,6 @@ wxLayoutDirection Application::GetLayout
|
||||
--- FreeFileSync-14.3.orig/FreeFileSync/Source/application.cpp
|
||||
+++ FreeFileSync-14.3/FreeFileSync/Source/application.cpp
|
||||
@@ -239,10 +239,6 @@ wxLayoutDirection Application::GetLayout
|
||||
|
||||
int Application::OnRun()
|
||||
{
|
||||
@@ -13,11 +13,11 @@ Index: FreeFileSync-13.3/FreeFileSync/Source/application.cpp
|
||||
//exception => Windows: let it crash and create mini dump!!! Linux/macOS: std::exception::what() logged to console
|
||||
[[maybe_unused]] const int rc = wxApp::OnRun();
|
||||
return static_cast<int>(exitCode_);
|
||||
Index: FreeFileSync-13.3/FreeFileSync/Source/RealTimeSync/application.cpp
|
||||
Index: FreeFileSync-14.3/FreeFileSync/Source/RealTimeSync/application.cpp
|
||||
===================================================================
|
||||
--- FreeFileSync-13.3.orig/FreeFileSync/Source/RealTimeSync/application.cpp
|
||||
+++ FreeFileSync-13.3/FreeFileSync/Source/RealTimeSync/application.cpp
|
||||
@@ -209,10 +209,6 @@ wxLayoutDirection Application::GetLayout
|
||||
--- FreeFileSync-14.3.orig/FreeFileSync/Source/RealTimeSync/application.cpp
|
||||
+++ FreeFileSync-14.3/FreeFileSync/Source/RealTimeSync/application.cpp
|
||||
@@ -213,10 +213,6 @@ wxLayoutDirection Application::GetLayout
|
||||
|
||||
int Application::OnRun()
|
||||
{
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
Index: FreeFileSync-13.1/FreeFileSync/Source/ffs_paths.cpp
|
||||
Index: FreeFileSync-14.3/FreeFileSync/Source/ffs_paths.cpp
|
||||
===================================================================
|
||||
--- FreeFileSync-13.1.orig/FreeFileSync/Source/ffs_paths.cpp
|
||||
+++ FreeFileSync-13.1/FreeFileSync/Source/ffs_paths.cpp
|
||||
@@ -54,7 +54,8 @@ Zstring fff::getInstallDirPath()
|
||||
--- FreeFileSync-14.3.orig/FreeFileSync/Source/ffs_paths.cpp
|
||||
+++ FreeFileSync-14.3/FreeFileSync/Source/ffs_paths.cpp
|
||||
@@ -53,7 +53,8 @@ Zstring fff::getInstallDirPath()
|
||||
|
||||
Zstring fff::getResourceDirPath()
|
||||
{
|
||||
|
||||
@@ -1,3 +1,49 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 4 07:43:36 UTC 2025 - Paolo Stivanin <info@paolostivanin.com>
|
||||
|
||||
- Update to 14.6:
|
||||
* Write sync statistics to stdout as JSON for .ffs_batch
|
||||
* Removed precompiled 32-bit bundle (Linux)
|
||||
* Avoid redundant window centering before finishing layout
|
||||
* GTK3-based build (Linux)
|
||||
* Dark mode support with GTK3 (Linux)
|
||||
* Stream errors to stderr instead of stdout (Linux)
|
||||
* Fixed FTP login error "dh key too small"
|
||||
* Updated all 3rd party libraries to latest versions
|
||||
* Quotation not needed anymore for external application macros
|
||||
* Unambiguous license key file extension
|
||||
* Fixed crash when resizing config panel during comparison
|
||||
* Fixed log file viewing when config name contains special characters
|
||||
- Drop FreeFileSync-icon-loader.patch
|
||||
- Drop FreeFileSync-build.patch
|
||||
- Added FreeFileSync-gui.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 7 08:04:45 UTC 2025 - Paolo Stivanin <info@paolostivanin.com>
|
||||
|
||||
- Update to 14.3:
|
||||
* Support internationalized domain names (IDN) for (S)FTP and email
|
||||
* Log performance statistics for file content comparison
|
||||
* Support installation using Ptyxis terminal (Linux)
|
||||
* Support pausing countdown towards system shutdown
|
||||
* Support KDE Plasma 6 service menu (Linux)
|
||||
* Fixed crash on app exit when called by Cron (Linux)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 3 13:30:51 UTC 2025 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Use distro flags to build the package
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 12 07:24:35 UTC 2024 - Paolo Stivanin <info@paolostivanin.com>
|
||||
|
||||
- Update to 13.8:
|
||||
* Support raw IPv6 server address for (S)FTP
|
||||
* RealTimeSync: Fixed scrollbar when adding/removing folders
|
||||
* Don't set sync direction for partial folder pairs
|
||||
* Uniquely identify partial folder pairs in error message
|
||||
* Fixed network login prompt not showing in Windows 11 24H2
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 3 18:40:37 UTC 2024 - Christian Boltz <suse-beta@cboltz.de>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package FreeFileSync
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC and contributors
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -21,7 +21,7 @@
|
||||
%endif
|
||||
|
||||
Name: FreeFileSync
|
||||
Version: 13.7
|
||||
Version: 14.6
|
||||
Release: 0
|
||||
Summary: Backup software to synchronize files and folders
|
||||
License: GPL-3.0-or-later
|
||||
@@ -33,11 +33,10 @@ Source2: %{name}.png
|
||||
Source3: RealTimeSync.desktop
|
||||
Source4: RealTimeSync.png
|
||||
Source5: Animal.dat
|
||||
Patch0: FreeFileSync-build.patch
|
||||
Patch1: FreeFileSync-resources.patch
|
||||
Patch2: FreeFileSync-icon-loader.patch
|
||||
Patch3: FreeFileSync-disable-in-app-updates.patch
|
||||
Patch4: FreeFileSync-remove_ifdef_exceptions.patch
|
||||
Patch0: FreeFileSync-resources.patch
|
||||
Patch1: FreeFileSync-disable-in-app-updates.patch
|
||||
Patch2: FreeFileSync-remove_ifdef_exceptions.patch
|
||||
Patch3: FreeFileSync-gui.patch
|
||||
BuildRequires: boost-devel >= 1.54
|
||||
BuildRequires: gcc%{?force_gcc_version}-c++ >= 12
|
||||
BuildRequires: libcurl-devel
|
||||
@@ -47,7 +46,7 @@ BuildRequires: libstdc++6 >= 10.0.0
|
||||
BuildRequires: libstdc++6 >= 12
|
||||
BuildRequires: unzip
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: wxGTK3-3_2-devel >= 3.1.6
|
||||
BuildRequires: wxGTK3-3_2-devel >= 3.2.0
|
||||
BuildRequires: zlib-devel
|
||||
|
||||
# base/db_file.cpp does static_assert(std::endian::native == std::endian::little); - but s390x is big endian
|
||||
@@ -71,6 +70,9 @@ This command will usually trigger a FreeFileSync batch job.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -c %{name}-%{version}
|
||||
touch zen/warn_static.h
|
||||
sed -i 's|-Wfatal-errors||' FreeFileSync/Source/Makefile FreeFileSync/Source/RealTimeSync/Makefile
|
||||
sed -i 's|const override|const|' FreeFileSync/Source/ui/small_dlgs.cpp
|
||||
sed -i 's/\r$//' License.txt
|
||||
mkdir FreeFileSync/Build/Bin
|
||||
|
||||
@@ -79,6 +81,9 @@ export TMPDIR=/tmp # necessary since 11.0
|
||||
%if 0%{?force_gcc_version}
|
||||
export CXX="g++-%{?force_gcc_version}"
|
||||
%endif
|
||||
export CFLAGS="%{optflags} -Wno-psabi -DMAX_SFTP_READ_SIZE=30000 -DMAX_SFTP_OUTGOING_SIZE=30000 -DwxInfoDC=wxClientDC -DwxReadOnlyDC=wxDC"
|
||||
export CXXFLAGS="%{optflags} -Wno-psabi -DMAX_SFTP_READ_SIZE=30000 -DMAX_SFTP_OUTGOING_SIZE=30000 -DwxInfoDC=wxClientDC -DwxReadOnlyDC=wxDC"
|
||||
export LDFLAGS="${LDFLAGS} `pkg-config --libs gtk+-3.0`"
|
||||
%make_build -C %{name}/Source exeName=FreeFileSync
|
||||
%make_build -C %{name}/Source/RealTimeSync exeName=RealTimeSync
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6d2dc9d2e7afb591ffca3a0eb6a48c6151d168d7a05ba34c399bfb72d5b9a117
|
||||
size 2763636
|
||||
3
FreeFileSync_14.6_Source.zip
Normal file
3
FreeFileSync_14.6_Source.zip
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3924f640884f84a97d421e271c89e8e5700998b3cd922d1b539035657714553c
|
||||
size 2860695
|
||||
Reference in New Issue
Block a user