about summary refs log tree commit diff
path: root/pkgs/by-name/se/searxng/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/se/searxng/package.nix')
-rw-r--r--pkgs/by-name/se/searxng/package.nix157
1 files changed, 85 insertions, 72 deletions
diff --git a/pkgs/by-name/se/searxng/package.nix b/pkgs/by-name/se/searxng/package.nix
index 7bca3ca181a79..4270088a5d293 100644
--- a/pkgs/by-name/se/searxng/package.nix
+++ b/pkgs/by-name/se/searxng/package.nix
@@ -1,84 +1,97 @@
-{ lib
-, python3
-, fetchFromGitHub
+{
+  lib,
+  python3,
+  fetchFromGitHub,
+  nixosTests
 }:
 
-python3.pkgs.toPythonModule (python3.pkgs.buildPythonApplication rec {
-  pname = "searxng";
-  version = "0-unstable-2024-05-31";
+python3.pkgs.toPythonModule (
+  python3.pkgs.buildPythonApplication rec {
+    pname = "searxng";
+    version = "0-unstable-2024-06-19";
 
-  src = fetchFromGitHub {
-    owner = "searxng";
-    repo = "searxng";
-    rev = "18fb701be225560b3fb1011cc533f785823f26a4";
-    hash = "sha256-okE/Uxl7YqcM99kLJ4KAlMQi50x5m0bPfYp5bv62WEw=";
-  };
+    src = fetchFromGitHub {
+      owner = "searxng";
+      repo = "searxng";
+      rev = "acf3f109b2a99a5e6f25f5f2975016a36673c6ef";
+      hash = "sha256-NdFnB5JEaWo7gt+RwxKxkVtEL8uGLlc4z0ROHN+zoL4=";
+    };
 
-  postPatch = ''
-    sed -i 's/==.*$//' requirements.txt
+    postPatch = ''
+      sed -i 's/==.*$//' requirements.txt
+    '';
 
-    # can't be fetchpatched as it is essentially empty and it complains about that
-    # TODO: drop when updating to a version that includes https://github.com/searxng/searxng/pull/3563
-    touch searx/answerers/random/__init__.py
-    touch searx/answerers/statistics/__init__.py
-  '';
+    preBuild =
+      let
+        versionString = lib.concatStringsSep "." (
+          builtins.tail (lib.splitString "-" (lib.removePrefix "0-" version))
+        );
+        commitAbbrev = builtins.substring 0 8 src.rev;
+      in
+      ''
+        export SEARX_DEBUG="true";
 
-  preBuild =
-    let
-      versionString = lib.concatStringsSep "." (builtins.tail (lib.splitString "-" (lib.removePrefix "0-" version)));
-      commitAbbrev = builtins.substring 0 8 src.rev;
-    in
-    ''
-      export SEARX_DEBUG="true";
+        cat > searx/version_frozen.py <<EOF
+        VERSION_STRING="${versionString}+${commitAbbrev}"
+        VERSION_TAG="${versionString}+${commitAbbrev}"
+        DOCKER_TAG="${versionString}-${commitAbbrev}"
+        GIT_URL="https://github.com/searxng/searxng"
+        GIT_BRANCH="master"
+        EOF
+      '';
 
-      cat > searx/version_frozen.py <<EOF
-      VERSION_STRING="${versionString}+${commitAbbrev}"
-      VERSION_TAG="${versionString}+${commitAbbrev}"
-      DOCKER_TAG="${versionString}-${commitAbbrev}"
-      GIT_URL="https://github.com/searxng/searxng"
-      GIT_BRANCH="master"
-      EOF
-    '';
+    dependencies =
+      with python3.pkgs;
+      [
+        babel
+        certifi
+        python-dateutil
+        fasttext-predict
+        flask
+        flask-babel
+        brotli
+        jinja2
+        lxml
+        pygments
+        pytomlpp
+        pyyaml
+        redis
+        uvloop
+        setproctitle
+        httpx
+        httpx-socks
+        markdown-it-py
+      ]
+      ++ httpx.optional-dependencies.http2
+      ++ httpx-socks.optional-dependencies.asyncio;
 
-  propagatedBuildInputs = with python3.pkgs; [
-    babel
-    certifi
-    python-dateutil
-    fasttext-predict
-    flask
-    flask-babel
-    brotli
-    jinja2
-    lxml
-    pygments
-    pytomlpp
-    pyyaml
-    redis
-    uvloop
-    setproctitle
-    httpx
-    httpx-socks
-    markdown-it-py
-  ] ++ httpx.optional-dependencies.http2
-  ++ httpx-socks.optional-dependencies.asyncio;
+    # tests try to connect to network
+    doCheck = false;
 
-  # tests try to connect to network
-  doCheck = false;
+    postInstall = ''
+      # Create a symlink for easier access to static data
+      mkdir -p $out/share
+      ln -s ../${python3.sitePackages}/searx/static $out/share/
 
-  postInstall = ''
-    # Create a symlink for easier access to static data
-    mkdir -p $out/share
-    ln -s ../${python3.sitePackages}/searx/static $out/share/
+      # copy config schema for the limiter
+      cp searx/limiter.toml $out/${python3.sitePackages}/searx/limiter.toml
+    '';
 
-    # copy config schema for the limiter
-    cp searx/limiter.toml $out/${python3.sitePackages}/searx/limiter.toml
-  '';
+    passthru = {
+      tests = {
+        searxng = nixosTests.searx;
+      };
+    };
 
-  meta = with lib; {
-    homepage = "https://github.com/searxng/searxng";
-    description = "Fork of Searx, a privacy-respecting, hackable metasearch engine";
-    license = licenses.agpl3Plus;
-    mainProgram = "searxng-run";
-    maintainers = with maintainers; [ SuperSandro2000 _999eagle ];
-  };
-})
+    meta = with lib; {
+      homepage = "https://github.com/searxng/searxng";
+      description = "Fork of Searx, a privacy-respecting, hackable metasearch engine";
+      license = licenses.agpl3Plus;
+      mainProgram = "searxng-run";
+      maintainers = with maintainers; [
+        SuperSandro2000
+        _999eagle
+      ];
+    };
+  }
+)