10 Commits

Author SHA256 Message Date
cfa9250a29 Accepting request 1322139 from network
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1322139
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/FreeFileSync?expand=0&rev=29
2025-12-11 17:40:21 +00:00
7061d1038c OBS-URL: https://build.opensuse.org/package/show/network/FreeFileSync?expand=0&rev=100 2025-12-04 07:50:57 +00:00
b0d2c80017 - 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
  * 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)

OBS-URL: https://build.opensuse.org/package/show/network/FreeFileSync?expand=0&rev=99
2025-12-04 07:46:51 +00:00
daa51e339f version bump, fixes building for aarch64
borrowed various build fixes from arch AUR package

OBS-URL: https://build.opensuse.org/package/show/network/FreeFileSync?expand=0&rev=98
2025-12-04 07:26:59 +00:00
8299a41b08 update spec
OBS-URL: https://build.opensuse.org/package/show/network/FreeFileSync?expand=0&rev=97
2025-04-07 08:06:09 +00:00
c71cd60d44 - Update to 14.3:
OBS-URL: https://build.opensuse.org/package/show/network/FreeFileSync?expand=0&rev=96
2025-04-07 08:05:00 +00:00
2fe27a1aa1 Accepting request 1242975 from network
OBS-URL: https://build.opensuse.org/request/show/1242975
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/FreeFileSync?expand=0&rev=28
2025-02-04 17:13:17 +00:00
3580ec6059 - Use distro flags to build the package
OBS-URL: https://build.opensuse.org/package/show/network/FreeFileSync?expand=0&rev=94
2025-02-04 06:56:02 +00:00
8beb6b3804 Accepting request 1223537 from network
- 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

OBS-URL: https://build.opensuse.org/request/show/1223537
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/FreeFileSync?expand=0&rev=27
2024-11-12 18:22:29 +00:00
389c3bbea6 - 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

OBS-URL: https://build.opensuse.org/package/show/network/FreeFileSync?expand=0&rev=92
2024-11-12 07:25:46 +00:00
10 changed files with 234 additions and 139 deletions

View File

@@ -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"

View File

@@ -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
View 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);
}

View File

@@ -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); //
}

View File

@@ -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()
{

View File

@@ -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()
{

View File

@@ -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>

View File

@@ -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

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6d2dc9d2e7afb591ffca3a0eb6a48c6151d168d7a05ba34c399bfb72d5b9a117
size 2763636

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3924f640884f84a97d421e271c89e8e5700998b3cd922d1b539035657714553c
size 2860695