diff --git a/pkgs/by-name/cr/crypt4gh/package.nix b/pkgs/by-name/cr/crypt4gh/package.nix new file mode 100644 index 000000000000..49b5c19f76e9 --- /dev/null +++ b/pkgs/by-name/cr/crypt4gh/package.nix @@ -0,0 +1,3 @@ +{ python3Packages }: + +python3Packages.toPythonApplication python3Packages.crypt4gh diff --git a/pkgs/development/python-modules/crypt4gh/default.nix b/pkgs/development/python-modules/crypt4gh/default.nix new file mode 100644 index 000000000000..dd28fca6cda9 --- /dev/null +++ b/pkgs/development/python-modules/crypt4gh/default.nix @@ -0,0 +1,67 @@ +{ + lib, + buildPythonPackage, + setuptools, + fetchFromGitHub, + installShellFiles, + bats, + openssh, + + # deps + cryptography, + bcrypt, + pyyaml, + docopt, + pynacl, +}: + +buildPythonPackage rec { + pname = "crypt4gh"; + version = "1.7"; + pyproject = true; + src = fetchFromGitHub { + owner = "EGA-archive"; + repo = "crypt4gh"; + rev = "v${version}"; + hash = "sha256-kPXD/SityWscHuRn068E6fFxUjt67cC5VEe5o8wtxwk="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + pyyaml + docopt + cryptography + pynacl + bcrypt + ]; + + pythonImportsCheck = [ "crypt4gh" ]; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + installShellCompletion \ + completions/crypt4gh-debug.bash \ + completions/crypt4gh-debug.bash \ + completions/crypt4gh.bash + ''; + + nativeCheckInputs = [ + bats + openssh + ]; + installCheckPhase = '' + PATH=$PATH:$out/bin + bats tests + ''; + + meta = { + mainProgram = "crypt4gh"; + description = "Tool to encrypt, decrypt or re-encrypt files, according to the GA4GH encryption file format"; + homepage = "https://github.com/EGA-archive/crypt4gh"; + license = lib.licenses.asl20; + platforms = lib.platforms.all; + maintainers = [ lib.maintainers.richardjacton ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0acdb846b369..1b141422199a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3124,6 +3124,8 @@ self: super: with self; { crownstone-uart = callPackage ../development/python-modules/crownstone-uart { }; + crypt4gh = callPackage ../development/python-modules/crypt4gh { }; + cryptg = callPackage ../development/python-modules/cryptg { }; cryptodatahub = callPackage ../development/python-modules/cryptodatahub { };