biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / misc / archivebox / default.nix
blob4344c6e7e91d8c207b42e313f82c3051b38e0729
1 { lib
2 , stdenv
3 , python3
4 , fetchFromGitHub
5 , fetchPypi
6 , curl
7 , wget
8 , git
9 , ripgrep
10 , postlight-parser
11 , readability-extractor
12 , chromium
13 , yt-dlp
16 let
17   python = python3.override {
18     self = python;
19     packageOverrides = self: super: {
20       django = super.django_3.overridePythonAttrs (old: rec {
21         version = "3.1.14";
22         src = old.src.override {
23           inherit version;
24           hash = "sha256-cqSloTaiFMOc8BbM3Wtp4qoIx0ecZtk/OpteS7nYo0c=";
25         };
26         meta = old.meta // {
27           knownVulnerabilities = [
28             "CVE-2021-45115"
29             "CVE-2021-45116"
30             "CVE-2021-45452"
31             "CVE-2022-23833"
32             "CVE-2022-22818"
33             "CVE-2022-28347"
34             "CVE-2022-28346"
35           ];
36         };
37       });
38       django-extensions = super.django-extensions.overridePythonAttrs (old: rec {
39         version = "3.1.5";
40         src = fetchFromGitHub {
41           inherit version;
42           owner = "django-extensions";
43           repo = "django-extensions";
44           rev = "e43f383dae3a35237e42f6acfe1207a8e7e7bdf5";
45           hash = "sha256-NAMa78KhAuoJfp0Cb0Codz84sRfRQ1JhSLNYRI4GBPM=";
46         };
48         # possibly a real issue, but that version is not supported anymore
49         doCheck = false;
50       });
51     };
52   };
55 python.pkgs.buildPythonApplication rec {
56   pname = "archivebox";
57   version = "0.7.2";
58   pyproject = true;
60   src = fetchPypi {
61     inherit pname version;
62     hash = "sha256-hdBUEX2tOWN2b11w6aG3x7MP7KQTj4Rwc2w8XvABGf4=";
63   };
65   nativeBuildInputs = with python.pkgs; [
66     pdm-backend
67   ];
69   propagatedBuildInputs = with python.pkgs; [
70     croniter
71     dateparser
72     django
73     django-extensions
74     ipython
75     mypy-extensions
76     python-crontab
77     requests
78     w3lib
79     yt-dlp
80   ];
82   makeWrapperArgs = [
83     "--set USE_NODE True" # used through dependencies, not needed explicitly
84     "--set READABILITY_BINARY ${lib.meta.getExe readability-extractor}"
85     "--set MERCURY_BINARY ${lib.meta.getExe postlight-parser}"
86     "--set CURL_BINARY ${lib.meta.getExe curl}"
87     "--set RIPGREP_BINARY ${lib.meta.getExe ripgrep}"
88     "--set WGET_BINARY ${lib.meta.getExe wget}"
89     "--set GIT_BINARY ${lib.meta.getExe git}"
90     "--set YOUTUBEDL_BINARY ${lib.meta.getExe yt-dlp}"
91   ] ++ (if (lib.meta.availableOn stdenv.hostPlatform chromium) then [
92     "--set CHROME_BINARY ${chromium}/bin/chromium-browser"
93   ] else [
94     "--set-default USE_CHROME False"
95   ]);
97   meta = with lib; {
98     description = "Open source self-hosted web archiving";
99     homepage = "https://archivebox.io";
100     license = licenses.mit;
101     maintainers = with maintainers; [ siraben viraptor ];
102     platforms = platforms.unix;
103   };