nixpkgs/pkgs/tools/backup/borg/default.nix
Joachim Fasting 5195e0d70f
borgbackup: cleanup inputs
tox/detox are removed; they are used to test multiple python
implementations in parallel, which isn't really appropriate for a Nix
install check.  Also, because these were added to the propagated build
inputs, lots of unnecessary stuff ended up in the resulting closure.
Note that removing tox does not imply tests are not run; they never were
to begin with; this is a separate issue.

This fixes https://github.com/NixOS/nixpkgs/issues/16171

Also, for "correctness" ordinary build-time dependencies are added to
`buildInputs`; only inputs that are to be added to the python path are
added to `propagatedBuildInputs`.
2016-12-31 21:58:41 +01:00

47 lines
1.3 KiB
Nix

{ stdenv, fetchurl, python3Packages, acl, lz4, openssl }:
python3Packages.buildPythonApplication rec {
name = "borgbackup-${version}";
version = "1.0.9";
namePrefix = "";
src = fetchurl {
url = "https://github.com/borgbackup/borg/releases/download/"
+ "${version}/${name}.tar.gz";
sha256 = "1ciwp9yilcibk0x82y5nn8ps95jrm8rxvff8mjrlp7a2w100i1im";
};
nativeBuildInputs = with python3Packages; [
# For building documentation:
sphinx sphinx_rtd_theme
];
buildInputs = [
acl lz4 openssl python3Packages.setuptools_scm
];
propagatedBuildInputs = with python3Packages; [
cython llfuse msgpack
];
preConfigure = ''
export BORG_OPENSSL_PREFIX="${openssl.dev}"
export BORG_LZ4_PREFIX="${lz4.dev}"
'';
postInstall = ''
make -C docs singlehtml
mkdir -p $out/share/doc/borg
cp -R docs/_build/singlehtml $out/share/doc/borg/html
make -C docs man
mkdir -p $out/share/man
cp -R docs/_build/man $out/share/man/man1
'';
meta = with stdenv.lib; {
description = "A deduplicating backup program (attic fork)";
homepage = https://borgbackup.github.io/;
license = licenses.bsd3;
platforms = platforms.unix; # Darwin and FreeBSD mentioned on homepage
maintainers = with maintainers; [ nckx ];
};
}