From 2151defed00e45c9a4a43cdb6d1119a07be07d0f Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Fri, 30 Jun 2023 21:53:42 +0200 Subject: [PATCH] searx: fix for flask-babel 3.0 The update to flask-babel 3.0 (48958930) broke searx, despite the program apparently building. --- pkgs/servers/web-apps/searx/default.nix | 4 +++ .../web-apps/searx/fix-flask-babel-3.0.patch | 27 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/servers/web-apps/searx/fix-flask-babel-3.0.patch diff --git a/pkgs/servers/web-apps/searx/default.nix b/pkgs/servers/web-apps/searx/default.nix index 60a8e22a4845..995d2d9fee0a 100644 --- a/pkgs/servers/web-apps/searx/default.nix +++ b/pkgs/servers/web-apps/searx/default.nix @@ -14,6 +14,10 @@ toPythonModule (buildPythonApplication rec { sha256 = "sha256-+Wsg1k/h41luk5aVfSn11/lGv8hZYVvpHLbbYHfsExw="; }; + patches = [ + ./fix-flask-babel-3.0.patch + ]; + postPatch = '' sed -i 's/==.*$//' requirements.txt ''; 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 new file mode 100644 index 000000000000..d69cc30b60af --- /dev/null +++ b/pkgs/servers/web-apps/searx/fix-flask-babel-3.0.patch @@ -0,0 +1,27 @@ +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']: