vscode-extensions.ms-dotnettools.csharp: 2.55.29 -> 2.61.28 (#376090)
[NixPkgs.git] / pkgs / by-name / wh / whoogle-search / package.nix
blobd298a63a33e8094925492480c6479f25998e1f81
2   lib,
3   python3Packages,
4   fetchPypi,
5   nixosTests,
6 }:
8 python3Packages.buildPythonApplication rec {
9   pname = "whoogle-search";
10   version = "0.9.2";
11   pyproject = true;
13   src = fetchPypi {
14     pname = "whoogle_search";
15     inherit version;
16     hash = "sha256-Vp59n8o6hq4q15nuQguLGvQhYWrXpR6ZjDnaBCV4I4M=";
17   };
19   build-system = with python3Packages; [ setuptools ];
21   dependencies = with python3Packages; [
22     attrs
23     beautifulsoup4
24     brotli
25     cachelib
26     certifi
27     cffi
28     chardet
29     click
30     cryptography
31     cssutils
32     defusedxml
33     flask
34     idna
35     itsdangerous
36     jinja2
37     markupsafe
38     more-itertools
39     packaging
40     pluggy
41     pycodestyle
42     pycparser
43     pyopenssl
44     pyparsing
45     pysocks
46     python-dateutil
47     requests
48     soupsieve
49     stem
50     urllib3
51     validators
52     waitress
53     wcwidth
54     werkzeug
55     python-dotenv
56   ];
58   postInstall = ''
59     # This creates renamed versions of the static files for cache busting,
60     # without which whoogle will not run. If we don't do this here, whoogle
61     # will attempt to create them on startup, which fails since the nix store
62     # is read-only.
63     python3 $out/${python3Packages.python.sitePackages}/app/__init__.py
64   '';
66   passthru.tests = {
67     inherit (nixosTests) whoogle-search;
68   };
70   meta = {
71     homepage = "https://github.com/benbusby/whoogle-search";
72     description = "A self-hosted, ad-free, privacy-respecting metasearch engine";
73     license = lib.licenses.mit;
74     maintainers = with lib.maintainers; [ malte-v ];
75     mainProgram = "whoogle-search";
76   };