5195e0d70f
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`.
48 lines
1.3 KiB
Nix
48 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 ];
|
|
};
|
|
}
|