From fe6dd4bf7c1582d38209383fe3eae742ebeec5da Mon Sep 17 00:00:00 2001 From: phaer Date: Sat, 2 Nov 2024 23:19:38 +0100 Subject: [PATCH] python3Packages.sqlcipher3: init at 0.5.4 This adds python bindings for sqlcipher from https://github.com/coleifer/sqlcipher3. It also adds two meta packages, sqlcipher3-binary and sqlcipher3-wheels. The former is a binary-distribution of sqlcipher3 from upstream. The latter is a fork that builds its own wheels but ships no further source changes. So we effectively make both wheel packages an alias for our own source-built package. Similar to how e.g. psycopg2-binary works in nixpkgs. --- .../sqlcipher3-binary/default.nix | 13 ++++++ .../sqlcipher3-wheels/default.nix | 13 ++++++ .../python-modules/sqlcipher3/default.nix | 42 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 4 ++ 4 files changed, 72 insertions(+) create mode 100644 pkgs/development/python-modules/sqlcipher3-binary/default.nix create mode 100644 pkgs/development/python-modules/sqlcipher3-wheels/default.nix create mode 100644 pkgs/development/python-modules/sqlcipher3/default.nix diff --git a/pkgs/development/python-modules/sqlcipher3-binary/default.nix b/pkgs/development/python-modules/sqlcipher3-binary/default.nix new file mode 100644 index 000000000000..e76a4093e2c7 --- /dev/null +++ b/pkgs/development/python-modules/sqlcipher3-binary/default.nix @@ -0,0 +1,13 @@ +{ + mkPythonMetaPackage, + sqlcipher3, +}: +mkPythonMetaPackage { + pname = "sqlcipher3-binary"; + inherit (sqlcipher3) version; + dependencies = [ sqlcipher3 ]; + optional-dependencies = sqlcipher3.optional-dependencies or { }; + meta = { + inherit (sqlcipher3.meta) description homepage license; + }; +} diff --git a/pkgs/development/python-modules/sqlcipher3-wheels/default.nix b/pkgs/development/python-modules/sqlcipher3-wheels/default.nix new file mode 100644 index 000000000000..85be97faa92c --- /dev/null +++ b/pkgs/development/python-modules/sqlcipher3-wheels/default.nix @@ -0,0 +1,13 @@ +{ + mkPythonMetaPackage, + sqlcipher3, +}: +mkPythonMetaPackage { + pname = "sqlcipher3-wheels"; + inherit (sqlcipher3) version; + dependencies = [ sqlcipher3 ]; + optional-dependencies = sqlcipher3.optional-dependencies or { }; + meta = { + inherit (sqlcipher3.meta) description homepage license; + }; +} diff --git a/pkgs/development/python-modules/sqlcipher3/default.nix b/pkgs/development/python-modules/sqlcipher3/default.nix new file mode 100644 index 000000000000..2a8dfac69b9a --- /dev/null +++ b/pkgs/development/python-modules/sqlcipher3/default.nix @@ -0,0 +1,42 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + sqlcipher, + openssl, +}: +let + pname = "sqlcipher3"; + version = "0.5.4"; +in +buildPythonPackage { + inherit pname version; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-4w/1jWTdQ+Gezt3RARahonrR2YiMxCRcdfK9qbA4Tnc="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + buildInputs = [ + sqlcipher + openssl + ]; + + pythonImportChecks = [ + "sqlcipher3" + ]; + + meta = with lib; { + mainProgram = "sqlcipher3"; + homepage = "https://github.com/coleifer/sqlcipher3"; + description = "Python 3 bindings for SQLCipher"; + license = licenses.zlib; + maintainers = with maintainers; [ phaer ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 663777894e79..df6a7b8f88f4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -15013,6 +15013,10 @@ self: super: with self; { sqlbag = callPackage ../development/python-modules/sqlbag { }; + sqlcipher3 = callPackage ../development/python-modules/sqlcipher3 {}; + sqlcipher3-binary = callPackage ../development/python-modules/sqlcipher3-binary {}; + sqlcipher3-wheels = callPackage ../development/python-modules/sqlcipher3-wheels {}; + sqlfmt = callPackage ../development/python-modules/sqlfmt { }; sqlglot = callPackage ../development/python-modules/sqlglot { };