Unverified Commit c3a3b38c authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #258813 from SuperSandro2000/drop-searx

 searx: drop 
parents 1cdfe7f5 e793d184
Loading
Loading
Loading
Loading
+8 −25
Original line number Diff line number Diff line
@@ -43,12 +43,8 @@ in
      [ "services" "searx" "settingsFile" ])
  ];

  ###### interface

  options = {

    services.searx = {

      enable = mkOption {
        type = types.bool;
        default = false;
@@ -149,8 +145,8 @@ in

      package = mkOption {
        type = types.package;
        default = pkgs.searx;
        defaultText = literalExpression "pkgs.searx";
        default = pkgs.searxng;
        defaultText = literalExpression "pkgs.searxng";
        description = lib.mdDoc "searx package to use.";
      };

@@ -190,21 +186,7 @@ in

  };


  ###### implementation

  config = mkIf cfg.enable {
    assertions = [
      {
        assertion = (cfg.limiterSettings != { }) -> cfg.package.pname == "searxng";
        message = "services.searx.limiterSettings requires services.searx.package to be searxng.";
      }
      {
        assertion = cfg.redisCreateLocally -> cfg.package.pname == "searxng";
        message = "services.searx.redisCreateLocally requires services.searx.package to be searxng.";
      }
    ];

    environment.systemPackages = [ cfg.package ];

    users.users.searx =
@@ -245,8 +227,8 @@ in
      };
    };

    systemd.services.uwsgi = mkIf (cfg.runInUwsgi)
      { requires = [ "searx-init.service" ];
    systemd.services.uwsgi = mkIf cfg.runInUwsgi {
      requires = [ "searx-init.service" ];
      after = [ "searx-init.service" ];
    };

@@ -256,7 +238,7 @@ in
      redis.url = lib.mkIf cfg.redisCreateLocally "unix://${config.services.redis.servers.searx.unixSocket}";
    };

    services.uwsgi = mkIf (cfg.runInUwsgi) {
    services.uwsgi = mkIf cfg.runInUwsgi {
      enable = true;
      plugins = [ "python3" ];

@@ -270,6 +252,7 @@ in
        enable-threads = true;
        module = "searx.webapp";
        env = [
          # TODO: drop this as it is only required for searx
          "SEARX_SETTINGS_PATH=${cfg.settingsFile}"
          # searxng compatibility https://github.com/searxng/searxng/issues/1519
          "SEARXNG_SETTINGS_PATH=${cfg.settingsFile}"
+0 −72
Original line number Diff line number Diff line
{ lib, nixosTests, python3, python3Packages, fetchFromGitHub, fetchpatch }:

with python3Packages;

toPythonModule (buildPythonApplication rec {
  pname = "searx";
  version = "1.1.0";

  # pypi doesn't receive updates
  src = fetchFromGitHub {
    owner = "searx";
    repo = "searx";
    rev = "v${version}";
    sha256 = "sha256-+Wsg1k/h41luk5aVfSn11/lGv8hZYVvpHLbbYHfsExw=";
  };

  patches = [
   ./fix-flask-babel-3.0.patch
  ];

  postPatch = ''
    sed -i 's/==.*$//' requirements.txt
  '';

  preBuild = ''
    export SEARX_DEBUG="true";
  '';

  propagatedBuildInputs = [
    babel
    certifi
    python-dateutil
    flask
    flask-babel
    gevent
    grequests
    jinja2
    langdetect
    lxml
    ndg-httpsclient
    pyasn1
    pyasn1-modules
    pygments
    pysocks
    pytz
    pyyaml
    requests
    speaklater
    setproctitle
    werkzeug
  ];

  # tests try to connect to network
  doCheck = false;

  pythonImportsCheck = [ "searx" ];

  postInstall = ''
    # Create a symlink for easier access to static data
    mkdir -p $out/share
    ln -s ../${python3.sitePackages}/searx/static $out/share/
  '';

  passthru.tests = { inherit (nixosTests) searx; };

  meta = with lib; {
    homepage = "https://github.com/searx/searx";
    description = "A privacy-respecting, hackable metasearch engine";
    license = licenses.agpl3Plus;
    maintainers = with maintainers; [ matejc globin danielfullmer ];
  };
})
+0 −27
Original line number Diff line number Diff line
commit 38b3a4f70e3226a091c53300659752c595b120f9
Author: rnhmjoj <rnhmjoj@inventati.org>
Date:   Fri Jun 30 21:48:35 2023 +0200

    Fix for flask-babel 3.0

diff --git a/searx/webapp.py b/searx/webapp.py
index 2027e72d..f3174a45 100755
--- a/searx/webapp.py
+++ b/searx/webapp.py
@@ -167,7 +167,7 @@ _flask_babel_get_translations = flask_babel.get_translations
 def _get_translations():
     if has_request_context() and request.form.get('use-translation') == 'oc':
         babel_ext = flask_babel.current_app.extensions['babel']
-        return Translations.load(next(babel_ext.translation_directories), 'oc')
+        return Translations.load(babel_ext.translation_directories[0], 'oc')
 
     return _flask_babel_get_translations()
 
@@ -188,7 +188,6 @@ def _get_browser_or_settings_language(request, lang_list):
     return settings['search']['default_lang'] or 'en'
 
 
-@babel.localeselector
 def get_locale():
     if 'locale' in request.form\
        and request.form['locale'] in settings['locales']:
+1 −0
Original line number Diff line number Diff line
@@ -781,6 +781,7 @@ mapAliases ({
  sane-backends-git = sane-backends; # Added 2021-02-19
  scantailor = scantailor-advanced; # Added 2022-05-26
  sdlmame = throw "'sdlmame' has been renamed to/replaced by 'mame'"; # Converted to throw 2023-09-10
  searx = throw "'searx' has been removed as it is unmaintained. Please switch to searxng"; # Added 2023-10-03
  session-desktop-appimage = session-desktop;
  sequoia = sequoia-sq; # Added 2023-06-26
  sexp = sexpp; # Added 2023-07-03
+0 −2
Original line number Diff line number Diff line
@@ -27380,8 +27380,6 @@ with pkgs;
  rss-bridge = callPackage ../servers/web-apps/rss-bridge { };
  searx = callPackage ../servers/web-apps/searx { };
  selfoss = callPackage ../servers/web-apps/selfoss { };
  shaarli = callPackage ../servers/web-apps/shaarli { };