about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/backup/bacula
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/backup/bacula')
-rw-r--r--nixpkgs/pkgs/tools/backup/bacula/default.nix47
1 files changed, 47 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/backup/bacula/default.nix b/nixpkgs/pkgs/tools/backup/bacula/default.nix
new file mode 100644
index 000000000000..35c5a36a8c9f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/backup/bacula/default.nix
@@ -0,0 +1,47 @@
+{ lib, stdenv, fetchurl, sqlite, postgresql, zlib, acl, ncurses, openssl, readline
+, CoreFoundation, IOKit
+}:
+
+stdenv.mkDerivation rec {
+  pname = "bacula";
+  version = "11.0.6";
+
+  src = fetchurl {
+    url    = "mirror://sourceforge/bacula/${pname}-${version}.tar.gz";
+    sha256 = "sha256-AZWgi81PV4rkqc4Nkff4ZzHGNNVrgQU0ci1yGyqe7Lc=";
+  };
+
+  buildInputs = [ postgresql sqlite zlib ncurses openssl readline ]
+    ++ lib.optionals stdenv.hostPlatform.isDarwin [
+      CoreFoundation
+      IOKit
+    ]
+    # acl relies on attr, which I can't get to build on darwin
+    ++ lib.optional (!stdenv.isDarwin) acl;
+
+  configureFlags = [
+    "--with-sqlite3=${sqlite.dev}"
+    "--with-postgresql=${postgresql}"
+    "--with-logdir=/var/log/bacula"
+    "--with-working-dir=/var/lib/bacula"
+    "--mandir=\${out}/share/man"
+  ] ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "ac_cv_func_setpgrp_void=yes";
+
+  installFlags = [
+    "logdir=\${out}/logdir"
+    "working_dir=\${out}/workdir"
+  ];
+
+  postInstall = ''
+    mkdir -p $out/bin
+    ln -s $out/sbin/* $out/bin
+  '';
+
+  meta = with lib; {
+    description = "Enterprise ready, Network Backup Tool";
+    homepage    = "http://bacula.org/";
+    license     = with licenses; [ agpl3Only bsd2 ];
+    maintainers = with maintainers; [ lovek323 eleanor ];
+    platforms   = platforms.all;
+  };
+}