1{ stdenv, fetchurl, python3Packages, acl, lz4, openssl }:
2
3python3Packages.buildPythonApplication rec {
4 name = "borgbackup-${version}";
5 version = "1.0.7";
6 namePrefix = "";
7
8 src = fetchurl {
9 url = "https://github.com/borgbackup/borg/releases/download/"
10 + "${version}/${name}.tar.gz";
11 sha256 = "1l9iw55w5x51yxl3q89cf6avg80lajxvc8qz584hrsmnk6i56cr0";
12 };
13
14 nativeBuildInputs = with python3Packages; [
15 # For building documentation:
16 sphinx
17 ];
18 propagatedBuildInputs = [
19 acl lz4 openssl
20 ] ++ (with python3Packages; [
21 cython msgpack llfuse tox detox setuptools_scm
22 ]);
23
24 preConfigure = ''
25 export BORG_OPENSSL_PREFIX="${openssl.dev}"
26 export BORG_LZ4_PREFIX="${lz4}"
27 '';
28
29 postInstall = ''
30 make -C docs singlehtml
31 mkdir -p $out/share/doc/borg
32 cp -R docs/_build/singlehtml $out/share/doc/borg/html
33
34 make -C docs man
35 mkdir -p $out/share/man
36 cp -R docs/_build/man $out/share/man/man1
37 '';
38
39 meta = with stdenv.lib; {
40 description = "A deduplicating backup program (attic fork)";
41 homepage = https://borgbackup.github.io/;
42 license = licenses.bsd3;
43 platforms = platforms.unix; # Darwin and FreeBSD mentioned on homepage
44 maintainers = with maintainers; [ nckx ];
45 };
46}