From ad1f57095f775995a53335523e24348d1184f836 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Tue, 3 Oct 2023 16:56:19 +0200 Subject: [PATCH 1/2] searx: drop searx has been removed as it is unmaintained. Please switch to searxng. --- nixos/modules/services/networking/searx.nix | 16 +---- pkgs/servers/web-apps/searx/default.nix | 72 ------------------- .../web-apps/searx/fix-flask-babel-3.0.patch | 27 ------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 - 5 files changed, 4 insertions(+), 114 deletions(-) delete mode 100644 pkgs/servers/web-apps/searx/default.nix delete mode 100644 pkgs/servers/web-apps/searx/fix-flask-babel-3.0.patch diff --git a/nixos/modules/services/networking/searx.nix b/nixos/modules/services/networking/searx.nix index 40648c724812..575631a64d23 100644 --- a/nixos/modules/services/networking/searx.nix +++ b/nixos/modules/services/networking/searx.nix @@ -149,8 +149,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."; }; @@ -194,17 +194,6 @@ 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 = @@ -270,6 +259,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}" diff --git a/pkgs/servers/web-apps/searx/default.nix b/pkgs/servers/web-apps/searx/default.nix deleted file mode 100644 index 995d2d9fee0a..000000000000 --- a/pkgs/servers/web-apps/searx/default.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ 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 ]; - }; -}) diff --git a/pkgs/servers/web-apps/searx/fix-flask-babel-3.0.patch b/pkgs/servers/web-apps/searx/fix-flask-babel-3.0.patch deleted file mode 100644 index d69cc30b60af..000000000000 --- a/pkgs/servers/web-apps/searx/fix-flask-babel-3.0.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 38b3a4f70e3226a091c53300659752c595b120f9 -Author: rnhmjoj -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']: diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 9f3f3db52e5a..767ee26c804c 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -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 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c9d64d118196..11e0848e817f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27408,8 +27408,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 { }; From e793d18455b876f8273e94f8de602966f6fd9c5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Tue, 3 Oct 2023 16:57:12 +0200 Subject: [PATCH 2/2] nixos/searx: little makeover --- nixos/modules/services/networking/searx.nix | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/nixos/modules/services/networking/searx.nix b/nixos/modules/services/networking/searx.nix index 575631a64d23..8054f01d705f 100644 --- a/nixos/modules/services/networking/searx.nix +++ b/nixos/modules/services/networking/searx.nix @@ -43,12 +43,8 @@ in [ "services" "searx" "settingsFile" ]) ]; - ###### interface - options = { - services.searx = { - enable = mkOption { type = types.bool; default = false; @@ -190,9 +186,6 @@ in }; - - ###### implementation - config = mkIf cfg.enable { environment.systemPackages = [ cfg.package ]; @@ -234,10 +227,10 @@ in }; }; - systemd.services.uwsgi = mkIf (cfg.runInUwsgi) - { requires = [ "searx-init.service" ]; - after = [ "searx-init.service" ]; - }; + systemd.services.uwsgi = mkIf cfg.runInUwsgi { + requires = [ "searx-init.service" ]; + after = [ "searx-init.service" ]; + }; services.searx.settings = { # merge NixOS settings with defaults settings.yml @@ -245,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" ];