Merge pull request #159879 from prusnak/cypherpunkpay

python3Packages.cypherpunkpay: init at 1.0.15

Changed files
+217 -2
pkgs
development
python-modules
cypherpunkpay
monero
pypng
waitress
yoyo-migrations
top-level
+97
pkgs/development/python-modules/cypherpunkpay/default.nix
···
+
{ stdenv
+
, lib
+
, buildPythonPackage
+
, fetchFromGitHub
+
, poetry-core
+
, APScheduler
+
, bitstring
+
, cffi
+
, ecdsa
+
, monero
+
, pypng
+
, pyqrcode
+
, pyramid
+
, pyramid_jinja2
+
, pysocks
+
, requests
+
, tzlocal
+
, waitress
+
, yoyo-migrations
+
, pytestCheckHook
+
, pytest-cov
+
, webtest
+
}:
+
+
buildPythonPackage rec {
+
pname = "cypherpunkpay";
+
version = "1.0.15";
+
format = "pyproject";
+
+
src = fetchFromGitHub {
+
owner = "CypherpunkPay";
+
repo = "CypherpunkPay";
+
rev = "v${version}";
+
sha256 = "sha256-W2f4jtEqopDXiXx0pklZrjOmVhpx2kDdTJRPm2Ka0Cg=";
+
};
+
+
postPatch = ''
+
substituteInPlace pyproject.toml \
+
--replace 'monero = "^0.99"' 'monero = ">=0.99"' \
+
--replace 'pypng = "^0.0.20"' 'pypng = ">=0.0.20"' \
+
--replace 'tzlocal = "2.1"' 'tzlocal = ">=2.1"'
+
'';
+
+
nativeBuildInputs = [
+
poetry-core
+
];
+
+
propagatedBuildInputs = [
+
APScheduler
+
bitstring
+
cffi
+
ecdsa
+
monero
+
pypng
+
pyqrcode
+
pyramid
+
pyramid_jinja2
+
pysocks
+
requests
+
tzlocal
+
waitress
+
yoyo-migrations
+
];
+
+
checkInputs = [
+
pytestCheckHook
+
pytest-cov
+
webtest
+
];
+
+
disabledTestPaths = [
+
# performance test
+
"test/unit/tools/pbkdf2_test.py"
+
# tests require network connection
+
"test/network/explorers/bitcoin"
+
"test/network/net/http_client"
+
"test/network/prices"
+
# tests require bitcoind running
+
"test/network/full_node_clients"
+
# tests require lnd running
+
"test/network/ln"
+
# tests require tor running
+
"test/network/net/tor_client"
+
# tests require the full environment running
+
"test/acceptance/views"
+
"test/acceptance/views_admin"
+
"test/acceptance/views_donations"
+
"test/acceptance/views_dummystore"
+
];
+
+
meta = with lib; {
+
description = "Modern self-hosted software for accepting Bitcoin";
+
homepage = "https://cypherpunkpay.org";
+
license = with licenses; [ mit /* or */ unlicense ];
+
maintainers = with maintainers; [ prusnak ];
+
};
+
}
+51
pkgs/development/python-modules/monero/default.nix
···
+
{ lib
+
, buildPythonPackage
+
, fetchFromGitHub
+
, pycryptodomex
+
, pysocks
+
, pynacl
+
, requests
+
, six
+
, varint
+
, pytestCheckHook
+
, pytest-cov
+
, responses
+
}:
+
+
buildPythonPackage rec {
+
pname = "monero";
+
version = "1.0.1";
+
+
src = fetchFromGitHub {
+
owner = "monero-ecosystem";
+
repo = "monero-python";
+
rev = "v${version}";
+
sha256 = "sha256-ZjAShIeGVVIKlwgSNPVSN7eaqhKu3wEpDP9wgBMOyZU=";
+
};
+
+
postPatch = ''
+
substituteInPlace requirements.txt \
+
--replace 'pynacl~=1.4' 'pynacl>=1.4' \
+
--replace 'ipaddress' ""
+
'';
+
+
pythonImportsCheck = [ "monero" ];
+
+
propagatedBuildInputs = [
+
pycryptodomex
+
pynacl
+
pysocks
+
requests
+
six
+
varint
+
];
+
+
checkInputs = [ pytestCheckHook pytest-cov responses ];
+
+
meta = with lib; {
+
description = "Comprehensive Python module for handling Monero";
+
homepage = "https://github.com/monero-ecosystem/monero-python";
+
license = licenses.bsd3;
+
maintainers = with maintainers; [ prusnak ];
+
};
+
}
+29
pkgs/development/python-modules/pypng/default.nix
···
+
{ lib
+
, buildPythonPackage
+
, fetchFromGitHub
+
, pytestCheckHook
+
}:
+
+
buildPythonPackage rec {
+
pname = "pypng";
+
version = "0.0.21";
+
format = "pyproject";
+
+
src = fetchFromGitHub {
+
owner = "drj11";
+
repo = "pypng";
+
rev = "${pname}-${version}";
+
sha256 = "sha256-JU1GCSTm2s6Kczn6aRcF5DizPJVpizNtnAMJxTBi9vo=";
+
};
+
+
pythonImportsCheck = [ "png" ];
+
+
checkInputs = [ pytestCheckHook ];
+
+
meta = with lib; {
+
description = "Pure Python library for PNG image encoding/decoding";
+
homepage = "https://github.com/drj11/pypng";
+
license = licenses.mit;
+
maintainers = with maintainers; [ prusnak ];
+
};
+
}
+2 -2
pkgs/development/python-modules/waitress/default.nix
···
buildPythonPackage rec {
pname = "waitress";
-
version = "2.0.0";
+
version = "2.1.1";
src = fetchPypi {
inherit pname version;
-
sha256 = "69e1f242c7f80273490d3403c3976f3ac3b26e289856936d1f620ed48f321897";
+
sha256 = "e2e60576cf14a1539da79f7b7ee1e79a71e64f366a0b47db54a15e971f57bb16";
};
doCheck = false;
+30
pkgs/development/python-modules/yoyo-migrations/default.nix
···
+
{ lib
+
, buildPythonPackage
+
, fetchPypi
+
, setuptools
+
, sqlparse
+
, tabulate
+
}:
+
+
buildPythonPackage rec {
+
pname = "yoyo-migrations";
+
version = "7.3.2";
+
+
src = fetchPypi {
+
inherit pname version;
+
sha256 = "sha256-RIQIKOGgFp9UHnAtWu3KgYWtpoCH57rUhQpvxdced6Q=";
+
};
+
+
propagatedBuildInputs = [ setuptools sqlparse tabulate ];
+
+
doCheck = false; # pypi tarball does not contain tests
+
+
pythonImportsCheck = [ "yoyo" ];
+
+
meta = with lib; {
+
description = "Database schema migration tool";
+
homepage = "https://ollycope.com/software/yoyo";
+
license = licenses.asl20;
+
maintainers = with maintainers; [ prusnak ];
+
};
+
}
+8
pkgs/top-level/python-packages.nix
···
cypari2 = callPackage ../development/python-modules/cypari2 { };
+
cypherpunkpay = callPackage ../development/python-modules/cypherpunkpay { };
+
cysignals = callPackage ../development/python-modules/cysignals { };
cython = callPackage ../development/python-modules/Cython { };
···
modestmaps = callPackage ../development/python-modules/modestmaps { };
mohawk = callPackage ../development/python-modules/mohawk { };
+
+
monero = callPackage ../development/python-modules/monero { };
mongomock = callPackage ../development/python-modules/mongomock { };
···
inherit (pkgs) jq;
};
+
pypng = callPackage ../development/python-modules/pypng { };
+
phonemizer = callPackage ../development/python-modules/phonemizer { };
pyopencl = callPackage ../development/python-modules/pyopencl {
···
ffmpegSupport = false;
phantomjsSupport = false;
+
+
yoyo-migrations = callPackage ../development/python-modules/yoyo-migrations { };
yt-dlp = callPackage ../tools/misc/yt-dlp { };