mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-17 15:22:59 +01:00
Merge pull request #150763 from malob/add-signalbackup-tools
This commit is contained in:
commit
5dcd3d078d
3 changed files with 81 additions and 0 deletions
|
@ -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;
|
||||||
|
};
|
||||||
|
}
|
|
@ -9590,6 +9590,8 @@ with pkgs;
|
||||||
|
|
||||||
sigil = libsForQt5.callPackage ../applications/editors/sigil { };
|
sigil = libsForQt5.callPackage ../applications/editors/sigil { };
|
||||||
|
|
||||||
|
signalbackup-tools = callPackage ../applications/networking/instant-messengers/signalbackup-tools { };
|
||||||
|
|
||||||
signald = callPackage ../applications/networking/instant-messengers/signald { };
|
signald = callPackage ../applications/networking/instant-messengers/signald { };
|
||||||
|
|
||||||
signal-cli = callPackage ../applications/networking/instant-messengers/signal-cli { };
|
signal-cli = callPackage ../applications/networking/instant-messengers/signal-cli { };
|
||||||
|
|
Loading…
Reference in a new issue