Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / rs / rspamd-trainer / package.nix
blob56e6f9e9ce8e35db35afa64e6acbc66f732b0925
1 { lib
2 , python3
3 , python3Packages
4 , fetchFromGitLab
5 , fetchpatch
6 , rspamd
7 }:
9 python3Packages.buildPythonApplication {
10   pname = "rspamd-trainer";
11   version = "unstable-2023-11-27";
12   format = "pyproject";
14   src = fetchFromGitLab {
15     owner = "onlime";
16     repo = "rspamd-trainer";
17     rev = "eb6639a78a019ade6781f3a8418eddc030f8fa14";
18     hash = "sha256-Me6WZhQ6SvDGGBQQtSA/7bIfKtsz6D5rvQeU12sVzgY=";
19   };
21   patches = [
22     # Refactor pyproject.toml
23     # https://gitlab.com/onlime/rspamd-trainer/-/merge_requests/2
24     (fetchpatch {
25       url = "https://gitlab.com/onlime/rspamd-trainer/-/commit/8824bfb9a9826988a90a401b8e51c20f5366ed70.patch";
26       hash = "sha256-qiXfwMUfM/iV+fHba8xdwQD92RQz627+HdUTgwgRZdc=";
27       name = "refactor_pyproject.patch";
28     })
29   ];
31   postPatch = ''
32     # Fix module path not applied by patch
33     mv helper src/
34     touch src/helper/__init__.py
35     mv settings.py src/rspamd_trainer/
36     sed -i 's/from settings/from .settings/' src/rspamd_trainer/run.py
38     # Fix rspamc path
39     sed -i "s|/usr/bin/rspamc|${rspamd}/bin/rspamc|" src/rspamd_trainer/run.py
40   '';
42   nativeBuildInputs = with python3.pkgs; [
43     setuptools-scm
44   ];
46   propagatedBuildInputs = with python3.pkgs; [
47     python-dotenv
48     imapclient
49   ];
51   meta = {
52     homepage = "https://gitlab.com/onlime/rspamd-trainer";
53     description = "Grabs messages from a spam mailbox via IMAP and feeds them to Rspamd for training";
54     mainProgram = "rspamd-trainer";
55     license = lib.licenses.gpl3Only;
56     maintainers = with lib.maintainers; [ onny ];
57   };