mainsysutils/freefilesync: unbreak build on 10.x
error: invalid value 'c++14' in '-std=c++14' ../../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)
This commit is contained in:
parent
f76037b0c4
commit
b858bdd8f2
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=410810
2 changed files with 29 additions and 1 deletions
|
@ -18,10 +18,15 @@ LIB_DEPENDS= libboost_system.so:${PORTSDIR}/devel/boost-libs \
|
|||
|
||||
WRKSRC= ${WRKDIR}/FreeFileSync/Source
|
||||
|
||||
USES= compiler:c++11-lang dos2unix gmake pkgconfig zip
|
||||
USES= compiler:c++14-lang dos2unix gmake pkgconfig zip
|
||||
USE_LDCONFIG= yes
|
||||
USE_WX= 3.0+
|
||||
|
||||
pre-patch:
|
||||
# XXX Pretend USES=dos2unix supports DOS2UNIX_WRKSRC=${WRKDIR}
|
||||
@${SED} 's/^+++ //; /^\.\./!d; s,^,${PATCH_WRKSRC}/,' \
|
||||
${PATCHDIR}/patch-* | ${XARGS} ${REINPLACE_CMD} 's/
$$//'
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's/wx-config/$${WX_CONFIG:T}/' \
|
||||
-e 's,g++,$${CXX},' ${WRKSRC}/Makefile
|
||||
|
|
23
sysutils/freefilesync/files/patch-zen_file__access.cpp
Normal file
23
sysutils/freefilesync/files/patch-zen_file__access.cpp
Normal file
|
@ -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 <osreldate.h>
|
||||
+#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
|
||||
}
|
||||
|
||||
|
Loading…
Reference in a new issue