parent
59a07c683a
commit
6d8b9679dc
@ -0,0 +1,34 @@ |
||||
diff --git a/signalbackup/setfiletimestamp.cc b/signalbackup/setfiletimestamp.cc
|
||||
index f53a168..d2d1c5e 100644
|
||||
--- a/signalbackup/setfiletimestamp.cc
|
||||
+++ b/signalbackup/setfiletimestamp.cc
|
||||
@@ -21,24 +21,23 @@
|
||||
|
||||
#if !defined(_WIN32) && !defined(__MINGW64__)
|
||||
|
||||
-#include <fcntl.h>
|
||||
-#include <sys/stat.h>
|
||||
+#include <sys/time.h>
|
||||
|
||||
bool SignalBackup::setFileTimeStamp(std::string const &file, long long int time_usec) const
|
||||
{
|
||||
- struct timespec ntimes[] =
|
||||
+ struct timeval ntimes[] =
|
||||
{
|
||||
{ // ntimes[0] =
|
||||
time_usec / 1000, // tv_sec, seconds
|
||||
- (time_usec % 1000) * 1000 // tv_usec, nanoseconds
|
||||
+ static_cast<int>(time_usec) // tv_usec, nanoseconds
|
||||
},
|
||||
{ // ntimes[1] =
|
||||
time_usec / 1000, // tv_sec, seconds
|
||||
- (time_usec % 1000) * 1000 // tv_usec, nanoseconds
|
||||
+ static_cast<int>(time_usec) // tv_usec, nanoseconds
|
||||
}
|
||||
};
|
||||
|
||||
- return (utimensat(AT_FDCWD, file.c_str(), ntimes, 0) == 0);
|
||||
+ return (utimes(file.c_str(), ntimes) == 0);
|
||||
}
|
||||
|
||||
#else // this is poorly tested, I don't have windows
|
@ -0,0 +1,45 @@ |
||||
{ lib, stdenv, fetchFromGitHub, openssl, sqlite }: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "signalbackup-tools"; |
||||
version = "20220107"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "bepaald"; |
||||
repo = pname; |
||||
rev = version; |
||||
sha256 = "sha256-sB8/xQgSORtwupcwSejKUhHoz04exdYS0ymefw9wXDQ="; |
||||
}; |
||||
|
||||
# Remove when Apple SDK is >= 10.13 |
||||
patches = lib.optional (stdenv.system == "x86_64-darwin") ./apple-sdk-missing-utimensat.patch; |
||||
|
||||
buildInputs = [ openssl sqlite ]; |
||||
buildFlags = [ |
||||
"-Wall" |
||||
"-Wextra" |
||||
"-Wshadow" |
||||
"-Wold-style-cast" |
||||
"-Woverloaded-virtual" |
||||
"-pedantic" |
||||
"-std=c++2a" |
||||
"-O3" |
||||
"-march=native" |
||||
]; |
||||
buildPhase = '' |
||||
$CXX $buildFlags */*.cc *.cc -lcrypto -lsqlite3 -o signalbackup-tools |
||||
''; |
||||
|
||||
installPhase = '' |
||||
mkdir -p $out/bin |
||||
cp signalbackup-tools $out/bin/ |
||||
''; |
||||
|
||||
meta = with lib; { |
||||
description = "Tool to work with Signal Backup files"; |
||||
homepage = "https://github.com/bepaald/signalbackup-tools"; |
||||
license = licenses.gpl3Only; |
||||
maintainers = [ maintainers.malo ]; |
||||
platforms = platforms.all; |
||||
}; |
||||
} |
Loading…
Reference in new issue