From 54bfd51169737bb43be7af2f217016153ca24908 Mon Sep 17 00:00:00 2001
From: Arnout Engelen <arnout@bzzt.net>
Date: Wed, 5 Oct 2022 17:39:37 +0200
Subject: [PATCH] cve: init at 1.0.0

A library and a command line interface for the CVE Services API
---
 .../python-modules/cvelib/default.nix         | 32 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 ++
 pkgs/top-level/python-packages.nix            |  2 ++
 3 files changed, 36 insertions(+)
 create mode 100644 pkgs/development/python-modules/cvelib/default.nix

diff --git a/pkgs/development/python-modules/cvelib/default.nix b/pkgs/development/python-modules/cvelib/default.nix
new file mode 100644
index 000000000000..fc81da016f66
--- /dev/null
+++ b/pkgs/development/python-modules/cvelib/default.nix
@@ -0,0 +1,32 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, requests
+, click
+, lib
+}:
+
+buildPythonPackage rec {
+  pname = "cvelib";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "RedHatProductSecurity";
+    repo = "cvelib";
+    rev = "tags/${version}";
+    sha256 = "sha256-KUj9Cnvl7r8NMmZvVj5CB0uZvLNK5aHcLc+NzxFrv0I=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}";
+  propagatedBuildInputs = [ requests click ];
+
+  pythonImportsCheck = [
+    "cvelib"
+  ];
+
+  meta = with lib; {
+    description = "A library and a command line interface for the CVE Services API";
+    homepage = "https://github.com/RedHatProductSecurity/cvelib";
+    license = licenses.mit;
+    maintainers = with maintainers; [ raboof ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index cc178cfc73e7..7a50f441ed15 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -260,6 +260,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
   };
 
+  cve = with python3Packages; toPythonApplication cvelib;
+
   fiche = callPackage ../servers/fiche { };
 
   fishnet = callPackage ../servers/fishnet { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 47928f1cc222..c707218d7902 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2189,6 +2189,8 @@ in {
 
   curve25519-donna = callPackage ../development/python-modules/curve25519-donna { };
 
+  cvelib = callPackage ../development/python-modules/cvelib { };
+
   cvxopt = callPackage ../development/python-modules/cvxopt { };
 
   cvxpy = callPackage ../development/python-modules/cvxpy { };