From 38b97e374d7f108b059b5662bfb5cc5cac407871 Mon Sep 17 00:00:00 2001 From: Michael Raitza Date: Wed, 8 Mar 2023 19:12:31 +0100 Subject: [PATCH] fabs: init at 1.1 --- pkgs/tools/backup/fabs/default.nix | 66 ++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 68 insertions(+) create mode 100644 pkgs/tools/backup/fabs/default.nix diff --git a/pkgs/tools/backup/fabs/default.nix b/pkgs/tools/backup/fabs/default.nix new file mode 100644 index 000000000000..9a2a6045c142 --- /dev/null +++ b/pkgs/tools/backup/fabs/default.nix @@ -0,0 +1,66 @@ +{ lib +, fetchFromGitHub +, perl +, python3 +, sqlite +}: + +python3.pkgs.buildPythonApplication rec { + pname = "fabs"; + version = "1.1"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "openafs-contrib"; + repo = "fabs"; + rev = "v${version}"; + hash = "sha256-ejAcCwrOWGX0zsMw224f9GTWlozNYC0gU6LdTk0XqH0="; + }; + + nativeBuildInputs = [ + perl + ]; + + propagatedBuildInputs = with python3.pkgs; [ + alembic + dateutil + pyyaml + setuptools + sqlalchemy + ]; + + outputs = [ "out" "man" ]; + + preBuild = '' + export PREFIX=$out + ''; + + LOCALSTATEDIR = "/var"; + LOCKDIR = "/run/lock/fabs"; + + preInstall = '' + mkdir -p "$out/etc" + cp -t "$out/etc" -r etc/fabs + ''; + + # remove once sqlalchemy backend no longer uses deprecated methods + SQLALCHEMY_SILENCE_UBER_WARNING = 1; + + nativeCheckInputs = [ + python3.pkgs.pytestCheckHook + sqlite + ]; + + meta = with lib; { + outputsToInstall = [ "out" "man" ]; + mainProgram = "fabsys"; + description = "Flexible AFS Backup System for the OpenAFS distributed file system"; + homepage = "https://github.com/openafs-contrib/fabs"; + license = with licenses; [ isc ]; + maintainers = with maintainers; [ spacefrogg ]; + badPlatforms = [ + "x86_64-darwin" + "aarch64-darwin" + ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f2599cde3ef7..f5c81e0ac586 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1537,6 +1537,8 @@ with pkgs; guestfs-tools = callPackage ../tools/virtualization/guestfs-tools { }; + fabs = callPackage ../tools/backup/fabs { }; + fwbuilder = libsForQt5.callPackage ../tools/security/fwbuilder { }; headsetcontrol = callPackage ../tools/audio/headsetcontrol { };