2020-04-24 23:36:52 +00:00
|
|
|
{ lib, buildPythonPackage, python, pythonOlder, glibcLocales, fetchFromGitHub, ipaddress, six, simplejson }:
|
|
|
|
|
|
|
|
buildPythonPackage rec {
|
|
|
|
pname = "mail-parser";
|
2021-04-26 19:14:03 +00:00
|
|
|
version = "3.15.0";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
# no tests in PyPI tarball
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "SpamScope";
|
|
|
|
repo = pname;
|
|
|
|
rev = "v${version}";
|
2021-04-26 19:14:03 +00:00
|
|
|
sha256 = "0da2qr4p8jnjw6jdhbagm6slfcjnjyyjkszwfcfqvcywh1zm1sdw";
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
LC_ALL = "en_US.utf-8";
|
|
|
|
|
2020-05-15 21:57:56 +00:00
|
|
|
# remove version bounds
|
|
|
|
prePatch = ''
|
|
|
|
sed -i -e 's/==.*//g' requirements.txt
|
|
|
|
''
|
2020-04-24 23:36:52 +00:00
|
|
|
# ipaddress is part of the standard library of Python 3.3+
|
2020-05-15 21:57:56 +00:00
|
|
|
+ lib.optionalString (!pythonOlder "3.3") ''
|
2020-04-24 23:36:52 +00:00
|
|
|
substituteInPlace requirements.txt \
|
|
|
|
--replace "ipaddress" ""
|
|
|
|
'';
|
|
|
|
|
|
|
|
nativeBuildInputs = [ glibcLocales ];
|
|
|
|
propagatedBuildInputs = [ simplejson six ] ++ lib.optional (pythonOlder "3.3") ipaddress;
|
|
|
|
|
|
|
|
# Taken from .travis.yml
|
|
|
|
checkPhase = ''
|
|
|
|
${python.interpreter} tests/test_main.py
|
|
|
|
${python.interpreter} -m mailparser -v
|
|
|
|
${python.interpreter} -m mailparser -h
|
|
|
|
${python.interpreter} -m mailparser -f tests/mails/mail_malformed_3 -j
|
|
|
|
cat tests/mails/mail_malformed_3 | ${python.interpreter} -m mailparser -k -j
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
description = "A mail parser for python 2 and 3";
|
|
|
|
homepage = "https://github.com/SpamScope/mail-parser";
|
|
|
|
license = licenses.asl20;
|
|
|
|
maintainers = with maintainers; [ psyanticy ];
|
|
|
|
};
|
|
|
|
}
|