From 87e7d05a2924f6654c6b700796bf3db87c351cf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Fri, 10 May 2024 14:31:59 +0200 Subject: [PATCH 1/5] python31{1,2}Packages.duckduckgo-search: fix build failure --- .../duckduckgo-search/default.nix | 83 +++++++++++-------- 1 file changed, 49 insertions(+), 34 deletions(-) diff --git a/pkgs/development/python-modules/duckduckgo-search/default.nix b/pkgs/development/python-modules/duckduckgo-search/default.nix index 708762bb2622..2fa13a3049e2 100644 --- a/pkgs/development/python-modules/duckduckgo-search/default.nix +++ b/pkgs/development/python-modules/duckduckgo-search/default.nix @@ -1,20 +1,43 @@ -{ lib -, aiofiles -, buildPythonPackage -, click -, fetchFromGitHub -, h2 -, httpx -, lxml -, pythonOlder -, requests -, setuptools -, socksio +{ + lib, + buildPythonPackage, + click, + fetchFromGitHub, + pythonOlder, + setuptools, + orjson, + curl-cffi, + rustPlatform, }: +let + curl-cffi_0_7_0 = curl-cffi.overrideAttrs (oldAttrs: rec { + version = "0.7.0b4"; + src = fetchFromGitHub { + owner = "yifeikong"; + repo = "curl_cffi"; + rev = "v${version}"; + hash = "sha256-txrJNUzswAPeH4Iazn0iKJI0Rqk0HHRoDrtTfDHKMoo="; + }; + }); + orjson_3_10_3 = orjson.overrideAttrs (oldAttrs: rec { + version = "3.10.3"; + src = fetchFromGitHub { + owner = "ijl"; + repo = "orjson"; + rev = "refs/tags/${version}"; + hash = "sha256-bK6wA8P/IXEbiuJAx7psd0nUUKjR1jX4scFfJr1MBAk="; + }; + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${oldAttrs.pname}-${version}"; + hash = "sha256-ilGq+/gPSuNwURUWy2ZxInzmUv+PxYMxd8esxrMpr2o="; + }; + }); +in buildPythonPackage rec { pname = "duckduckgo-search"; - version = "5.0"; + version = "v5.3.1"; pyproject = true; disabled = pythonOlder "3.8"; @@ -22,36 +45,28 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "deedy5"; repo = "duckduckgo_search"; - rev = "refs/tags/v${version}"; - hash = "sha256-OZFkSFyXC2MFP2MbKwF/qR8zvCFzPKgLmX+nuIztOpw="; + rev = version; + hash = "sha256-T7rlB3dU7y+HbHr1Ss9KkejlXFORhnv9Va7cFTRtfQU="; }; - nativeBuildInputs = [ - setuptools - ]; + nativeBuildInputs = [ setuptools ]; propagatedBuildInputs = [ - aiofiles click - h2 - httpx - lxml - requests - socksio - ] ++ httpx.optional-dependencies.brotli - ++ httpx.optional-dependencies.http2 - ++ httpx.optional-dependencies.socks; - - pythonImportsCheck = [ - "duckduckgo_search" + orjson_3_10_3 + curl-cffi_0_7_0 ]; - meta = with lib; { + doCheck = false; # tests require network access + + pythonImportsCheck = [ "duckduckgo_search" ]; + + meta = { description = "Python CLI and library for searching for words, documents, images, videos, news, maps and text translation using the DuckDuckGo.com search engine"; mainProgram = "ddgs"; homepage = "https://github.com/deedy5/duckduckgo_search"; - changelog = "https://github.com/deedy5/duckduckgo_search/releases/tag/v${version}"; - license = licenses.mit; - maintainers = with maintainers; [ ]; + changelog = "https://github.com/deedy5/duckduckgo_search/releases/tag/${version}"; + license = lib.licenses.mit; + maintainers = [ ]; }; } From 76764f6f5fb62e15c054b2d85b2c09e6f1233256 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Fri, 10 May 2024 14:32:08 +0200 Subject: [PATCH 2/5] python31{1,2}Packages.duckduckgo-search: add drawbu to meta.maintainers --- pkgs/development/python-modules/duckduckgo-search/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/duckduckgo-search/default.nix b/pkgs/development/python-modules/duckduckgo-search/default.nix index 2fa13a3049e2..c201d56c5036 100644 --- a/pkgs/development/python-modules/duckduckgo-search/default.nix +++ b/pkgs/development/python-modules/duckduckgo-search/default.nix @@ -67,6 +67,6 @@ buildPythonPackage rec { homepage = "https://github.com/deedy5/duckduckgo_search"; changelog = "https://github.com/deedy5/duckduckgo_search/releases/tag/${version}"; license = lib.licenses.mit; - maintainers = [ ]; + maintainers = with lib.maintainers; [ drawbu ]; }; } From 83b2f02de32e822853b3e2cc29158ea2a3f0a53b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Fri, 10 May 2024 17:13:59 +0200 Subject: [PATCH 3/5] python31{1,2}Packages.duckduckgo-search: use `final: old:` instead of rec in overrideAttrs Co-authored-by: Yohann Boniface --- .../python-modules/duckduckgo-search/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/duckduckgo-search/default.nix b/pkgs/development/python-modules/duckduckgo-search/default.nix index c201d56c5036..ce5089d82a39 100644 --- a/pkgs/development/python-modules/duckduckgo-search/default.nix +++ b/pkgs/development/python-modules/duckduckgo-search/default.nix @@ -10,27 +10,27 @@ rustPlatform, }: let - curl-cffi_0_7_0 = curl-cffi.overrideAttrs (oldAttrs: rec { + curl-cffi_0_7_0 = curl-cffi.overrideAttrs (final: old: { version = "0.7.0b4"; src = fetchFromGitHub { owner = "yifeikong"; repo = "curl_cffi"; - rev = "v${version}"; + rev = "v${final.version}"; hash = "sha256-txrJNUzswAPeH4Iazn0iKJI0Rqk0HHRoDrtTfDHKMoo="; }; }); - orjson_3_10_3 = orjson.overrideAttrs (oldAttrs: rec { + orjson_3_10_3 = orjson.overrideAttrs (final: old: { version = "3.10.3"; src = fetchFromGitHub { owner = "ijl"; - repo = "orjson"; - rev = "refs/tags/${version}"; + repo = old.pname; + rev = "refs/tags/${final.version}"; hash = "sha256-bK6wA8P/IXEbiuJAx7psd0nUUKjR1jX4scFfJr1MBAk="; }; cargoDeps = rustPlatform.fetchCargoTarball { - inherit src; - name = "${oldAttrs.pname}-${version}"; + inherit (final) src; + name = "${old.pname}-${final.version}"; hash = "sha256-ilGq+/gPSuNwURUWy2ZxInzmUv+PxYMxd8esxrMpr2o="; }; }); From 4157ec3ea60494401d84566f3c50975115d28752 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Fri, 10 May 2024 18:49:57 +0200 Subject: [PATCH 4/5] python31{1,2}Packages.duckduckgo-search: format with nixfmt-rfc-style --- .../duckduckgo-search/default.nix | 50 ++++++++++--------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/pkgs/development/python-modules/duckduckgo-search/default.nix b/pkgs/development/python-modules/duckduckgo-search/default.nix index ce5089d82a39..cb09514920f6 100644 --- a/pkgs/development/python-modules/duckduckgo-search/default.nix +++ b/pkgs/development/python-modules/duckduckgo-search/default.nix @@ -10,30 +10,34 @@ rustPlatform, }: let - curl-cffi_0_7_0 = curl-cffi.overrideAttrs (final: old: { - version = "0.7.0b4"; - src = fetchFromGitHub { - owner = "yifeikong"; - repo = "curl_cffi"; - rev = "v${final.version}"; - hash = "sha256-txrJNUzswAPeH4Iazn0iKJI0Rqk0HHRoDrtTfDHKMoo="; - }; - }); + curl-cffi_0_7_0 = curl-cffi.overrideAttrs ( + final: old: { + version = "0.7.0b4"; + src = fetchFromGitHub { + owner = "yifeikong"; + repo = "curl_cffi"; + rev = "v${final.version}"; + hash = "sha256-txrJNUzswAPeH4Iazn0iKJI0Rqk0HHRoDrtTfDHKMoo="; + }; + } + ); - orjson_3_10_3 = orjson.overrideAttrs (final: old: { - version = "3.10.3"; - src = fetchFromGitHub { - owner = "ijl"; - repo = old.pname; - rev = "refs/tags/${final.version}"; - hash = "sha256-bK6wA8P/IXEbiuJAx7psd0nUUKjR1jX4scFfJr1MBAk="; - }; - cargoDeps = rustPlatform.fetchCargoTarball { - inherit (final) src; - name = "${old.pname}-${final.version}"; - hash = "sha256-ilGq+/gPSuNwURUWy2ZxInzmUv+PxYMxd8esxrMpr2o="; - }; - }); + orjson_3_10_3 = orjson.overrideAttrs ( + final: old: { + version = "3.10.3"; + src = fetchFromGitHub { + owner = "ijl"; + repo = "orjson"; + rev = "refs/tags/${final.version}"; + hash = "sha256-bK6wA8P/IXEbiuJAx7psd0nUUKjR1jX4scFfJr1MBAk="; + }; + cargoDeps = rustPlatform.fetchCargoTarball { + inherit (final) src; + name = "${old.pname}-${final.version}"; + hash = "sha256-ilGq+/gPSuNwURUWy2ZxInzmUv+PxYMxd8esxrMpr2o="; + }; + } + ); in buildPythonPackage rec { pname = "duckduckgo-search"; From 28440a293f47d0e160b069aaeaa56ef55ae2caec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Fri, 10 May 2024 18:51:45 +0200 Subject: [PATCH 5/5] python31{1,2}Packages.duckduckgo-search: add passthru optinal dependency lxml --- .../python-modules/duckduckgo-search/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/python-modules/duckduckgo-search/default.nix b/pkgs/development/python-modules/duckduckgo-search/default.nix index cb09514920f6..a06c16586b0a 100644 --- a/pkgs/development/python-modules/duckduckgo-search/default.nix +++ b/pkgs/development/python-modules/duckduckgo-search/default.nix @@ -7,7 +7,12 @@ setuptools, orjson, curl-cffi, + + # To build orjson rustPlatform, + + # Optional dependencies + lxml, }: let curl-cffi_0_7_0 = curl-cffi.overrideAttrs ( @@ -61,6 +66,10 @@ buildPythonPackage rec { curl-cffi_0_7_0 ]; + passthru.optional-dependencies = { + lxml = [ lxml ]; + }; + doCheck = false; # tests require network access pythonImportsCheck = [ "duckduckgo_search" ];