1{
2 lib,
3 beautifulsoup4,
4 buildPythonPackage,
5 compressed-rtf,
6 ebcdic,
7 fetchFromGitHub,
8 olefile,
9 pytestCheckHook,
10 pythonOlder,
11 red-black-tree-mod,
12 rtfde,
13 setuptools,
14 tzlocal,
15}:
16
17buildPythonPackage rec {
18 pname = "extract-msg";
19 version = "0.55.0";
20 pyproject = true;
21
22 disabled = pythonOlder "3.8";
23
24 src = fetchFromGitHub {
25 owner = "TeamMsgExtractor";
26 repo = "msg-extractor";
27 tag = "v${version}";
28 hash = "sha256-n/v3ubgzWlWqLXZfy1O7+FvTJoLMtgL7DFPL39SZnfM=";
29 };
30
31 pythonRelaxDeps = [
32 "olefile"
33 "red-black-tree-mod"
34 ];
35
36 build-system = [
37 setuptools
38 ];
39
40 dependencies = [
41 beautifulsoup4
42 compressed-rtf
43 ebcdic
44 olefile
45 red-black-tree-mod
46 rtfde
47 tzlocal
48 ];
49
50 nativeCheckInputs = [ pytestCheckHook ];
51
52 pythonImportsCheck = [ "extract_msg" ];
53
54 enabledTestPaths = [ "extract_msg_tests/*.py" ];
55
56 meta = with lib; {
57 description = "Extracts emails and attachments saved in Microsoft Outlook's .msg files";
58 homepage = "https://github.com/TeamMsgExtractor/msg-extractor";
59 changelog = "https://github.com/TeamMsgExtractor/msg-extractor/blob/${src.tag}/CHANGELOG.md";
60 license = licenses.gpl3Only;
61 maintainers = with maintainers; [ fab ];
62 };
63}