commit 35880de (freefilesync) Author: Jan Beich Date: Fri Mar 11 07:41:18 2016 +0000 sysutils/freefilesync: unbreak build on 10.x (partially r410810) ../../zen/file_access.cpp:893:15: error: no member named 'futimens' in the global namespace if (::futimens(fdFile, newTimes) != 0) ~~^ ../../zen/file_access.cpp:898:15: error: no member named 'utimensat' in the global namespace if (::utimensat(AT_FDCWD, filePath.c_str(), newTimes, AT_SYMLINK_NOFOLLOW) != 0) ~~^ 2 errors generated. PR: 207879 Reported by: pkg-fallout Approved by: kevlo (maintainer, previous version) --- sysutils/freefilesync/Makefile | 1 + .../freefilesync/files/patch-zen_file__access.cpp | 23 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git sysutils/freefilesync/Makefile sysutils/freefilesync/Makefile index d0a62bc..886d2a2 100644 --- sysutils/freefilesync/Makefile +++ sysutils/freefilesync/Makefile @@ -17,6 +17,7 @@ LIB_DEPENDS= libboost_system.so:${PORTSDIR}/devel/boost-libs \ libnotify.so:${PORTSDIR}/devel/libnotify WRKSRC= ${WRKDIR}/FreeFileSync/Source +DOS2UNIX_WRKSRC=${WRKDIR} USES= compiler:c++14-lang dos2unix gmake pkgconfig zip USE_LDCONFIG= yes diff --git sysutils/freefilesync/files/patch-zen_file__access.cpp sysutils/freefilesync/files/patch-zen_file__access.cpp new file mode 100644 index 0000000..385996b --- /dev/null +++ sysutils/freefilesync/files/patch-zen_file__access.cpp @@ -0,0 +1,23 @@ +--- ../../zen/file_access.cpp.orig 2016-01-11 12:13:10 UTC ++++ ../../zen/file_access.cpp +@@ -877,6 +877,11 @@ void setFileTimeRaw(const Zstring& fileP + //https://sourceforge.net/p/freefilesync/discussion/open-discussion/thread/218564cf/ + newTimes[1] = modTime; //modification time + ++#if defined(__FreeBSD__) ++#include ++#if __FreeBSD_version < 1002506 || (__FreeBSD_version >= 1100000 && __FreeBSD_version < 1100056) ++ throw ErrorLinuxFallbackToUtimes(L""); ++#else + //=> using open()/futimens() for regular files and utimensat(AT_SYMLINK_NOFOLLOW) for symlinks is consistent with "cp" and "touch"! + if (procSl == ProcSymlink::FOLLOW) + { +@@ -898,6 +903,8 @@ void setFileTimeRaw(const Zstring& fileP + if (::utimensat(AT_FDCWD, filePath.c_str(), newTimes, AT_SYMLINK_NOFOLLOW) != 0) + THROW_LAST_FILE_ERROR(replaceCpy(_("Cannot write modification time of %x."), L"%x", fmtPath(filePath)), L"utimensat"); + } ++#endif ++#endif + } + +