Robert Schütz 2024-08-23 18:57:28 -07:00
parent 659cbd161b
commit 830a847c0c

View File

@ -1,39 +1,45 @@
{
stdenv,
lib,
buildPythonPackage,
fetchPypi,
fetchFromGitHub,
setuptools,
dnspython,
chardet,
lmtpd,
python-daemon,
six,
jinja2,
mock,
click,
unittestCheckHook,
}:
buildPythonPackage rec {
pname = "salmon-mail";
version = "3.2.0";
format = "setuptools";
version = "3.3.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
sha256 = "0q2m6xri1b7qv46rqpv2qfdgk2jvswj8lpaacnxwjna3m685fhfx";
src = fetchFromGitHub {
owner = "moggers87";
repo = "salmon";
rev = "refs/tags/${version}";
hash = "sha256-ysBO/ridfy7YPoTsVwAxar9UvfM/qxrx2dp0EtDNLvE=";
};
nativeCheckInputs = [
jinja2
mock
unittestCheckHook
];
propagatedBuildInputs = [
build-system = [ setuptools ];
dependencies = [
chardet
dnspython
lmtpd
python-daemon
six
click
dnspython
python-daemon
];
pythonImportsCheck = [
"salmon"
"salmon.handlers"
];
# Darwin tests fail without this. See:
@ -42,15 +48,13 @@ buildPythonPackage rec {
# The tests use salmon executable installed by salmon itself so we need to add
# that to PATH
checkPhase = ''
# tests fail and pytest is not supported
rm tests/server_tests.py
PATH=$out/bin:$PATH python setup.py test
preCheck = ''
export PATH=$out/bin:$PATH
'';
meta = with lib; {
broken = stdenv.isDarwin;
homepage = "https://salmon-mail.readthedocs.org/";
changelog = "https://github.com/moggers87/salmon/blob/${src.rev}/CHANGELOG.rst";
description = "Pythonic mail application server";
mainProgram = "salmon";
license = licenses.gpl3Only;