summaryrefslogtreecommitdiff
path: root/freefilesync/freefilesync.spec
diff options
context:
space:
mode:
Diffstat (limited to 'freefilesync/freefilesync.spec')
-rw-r--r--freefilesync/freefilesync.spec62
1 files changed, 47 insertions, 15 deletions
diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec
index 591adbf..adb5949 100644
--- a/freefilesync/freefilesync.spec
+++ b/freefilesync/freefilesync.spec
@@ -1,9 +1,21 @@
%global pkgname FreeFileSync
%global prog2name RealTimeSync
%global dummy_package 0
+%define min_libcurl %{nil}
+%define min_libssh2 %{nil}
+%define min_openssl %{nil}
+%define scl_env %{nil}
+%define scl_buildreq coreutils
+%if 0%{?el6}%{?el7}
+ %define scl_env devtoolset-7
+ %define scl_buildreq devtoolset-7-toolchain
+ %define min_libcurl >= 7.64.0
+ %define min_libssh2 >= 1.8.0
+ %define min_openssl >= 1.1.0h
+%endif
Name: freefilesync
Version: 10.9
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: A file synchronization utility
Group: Applications/File
@@ -14,13 +26,12 @@ URL: http://www.freefilesync.org/
Source0: https://gitlab.com/opensource-tracking/%{pkgname}/-/archive/%{version}/%{pkgname}-%{version}.tar.gz
Source1: %{pkgname}.desktop
Source2: %{prog2name}.desktop
-Patch0: ffs_makefile.patch
+Patch0: ffs_allow_parallel_ops.patch
Patch1: ffs_no_check_updates.patch
Patch2: ffs_no_wx311.patch
-Patch3: ffs_fedora.patch
-Patch4: ffs_allow_parallel_ops.patch
-Patch5: ffs_old_libcurl.patch
-Patch6: ffs_sftp.patch
+Patch3: ffs_sftp.patch
+Patch4: ffs_fedora.patch
+Patch5: ffs_el.patch
Packager: B Stack <bgstack15@gmail.com>
# WARNING: the build will FAIL if you have wxGTK3-devel installed. Only wxGTK2-devel should be on the build system.
@@ -29,13 +40,23 @@ BuildRequires: compat-wxGTK3-gtk2-devel
BuildRequires: desktop-file-utils
BuildRequires: gcc-c++
BuildRequires: ImageMagick
-BuildRequires: libcurl-devel
-BuildRequires: libssh2-devel
-BuildRequires: openssl-devel
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(libselinux)
BuildRequires: pkgconfig(zlib)
+BuildRequires: libcurl-devel %{min_libcurl}
+BuildRequires: libssh2-devel %{min_libssh2}
+%if 0%{?el6}%{?el7}
+BuildRequires: wxGTK-devel
+BuildRequires: %{scl_buildreq}
+BuildRequires: openssl-%{name}-devel %{min_openssl}
+Requires: libcurl %{min_libcurl}
+Requires: libssh2 %{min_libssh2}
+Requires: openssl-%{name}-libs %{min_openssl}
+%else
+BuildRequires: openssl-devel
+%endif
Requires: hicolor-icon-theme
+Requires: xdg-utils
%description
FreeFileSync is a free Open Source software that helps you synchronize
@@ -54,20 +75,31 @@ find . ! -type d \( -name '*.c' -o -name '*.cpp' -o -name '*.h' \) \
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
+%if 0%{?el6}%{?el7}
+# use the el patch
%patch5 -p1
-%patch6 -p1
+%else
+# use the fedora patch
+%patch4 -p1
+%endif
# custom build parameters for packaging application in rpm
+# fedora provides build_cxxflags, which is really just optflags
%{__sed} \
- -e 's|-O3 -DNDEBUG|-DNDEBUG -D"warn_static(arg)= " -DZEN_LINUX %{build_cxxflags}|g' \
- -e '/LINKFLAGS/s|-s|%{__global_ldflags}|g' \
+ -e 's|-O3 -DNDEBUG|-DNDEBUG -D"warn_static(arg)= " -DZEN_LINUX %{?build_cxxflags:%{build_cxxflags}}%{!?build_cxxflags:%{optflags}}|g' \
+ -e '/LINKFLAGS/s|-s|%{__global_ldflags}|;' \
-i %{pkgname}/Source/Makefile %{pkgname}/Source/%{prog2name}/Makefile
%build
%if !%{dummy_package}
-%make_build -C %{pkgname}/Source
-%make_build -C %{pkgname}/Source/%{prog2name}
+ %if "%{?scl_env}" != ""
+ scl enable %{scl_env} /bin/bash << EOF
+ %endif
+ %make_build -C %{pkgname}/Source
+ %make_build -C %{pkgname}/Source/%{prog2name}
+ %if "%{?scl_env}" != ""
+EOF
+ %endif
%endif
%install
bgstack15