From 654dac0156ba008878d4d209f32e42f65a4d01bf Mon Sep 17 00:00:00 2001 From: Marcel Date: Fri, 21 Nov 2025 03:40:28 +0100 Subject: [PATCH 1/3] lexbor: 2.5.0 -> 2.6.0 --- pkgs/by-name/le/lexbor/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/le/lexbor/package.nix b/pkgs/by-name/le/lexbor/package.nix index f5136271ce9f..132e21fac9ba 100644 --- a/pkgs/by-name/le/lexbor/package.nix +++ b/pkgs/by-name/le/lexbor/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "lexbor"; - version = "2.5.0"; + version = "2.6.0"; src = fetchFromGitHub { owner = "lexbor"; repo = "lexbor"; tag = "v${finalAttrs.version}"; - hash = "sha256-QmD8p6dySLEeHjCmDSTplXwsy2Z7yHKYlXmPCKwaBfU="; + hash = "sha256-l+pIUjHqt+pOyEUKoPQm0i9soQUkxLzLMQDStIiycAw="; }; nativeBuildInputs = [ From 1cd75316d958412f7713a5c82e796423577c71b9 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sun, 2 Nov 2025 18:34:37 +0100 Subject: [PATCH 2/3] python3Packages.selectolax: init at 0.4.3 --- ...-setup.py-devendor-modest-and-lexbor.patch | 40 ++++++++++++ .../python-modules/selectolax/default.nix | 62 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 104 insertions(+) create mode 100644 pkgs/development/python-modules/selectolax/0001-setup.py-devendor-modest-and-lexbor.patch create mode 100644 pkgs/development/python-modules/selectolax/default.nix diff --git a/pkgs/development/python-modules/selectolax/0001-setup.py-devendor-modest-and-lexbor.patch b/pkgs/development/python-modules/selectolax/0001-setup.py-devendor-modest-and-lexbor.patch new file mode 100644 index 000000000000..0e51e5527bf3 --- /dev/null +++ b/pkgs/development/python-modules/selectolax/0001-setup.py-devendor-modest-and-lexbor.patch @@ -0,0 +1,40 @@ +From f0e18a73f15f9cf0d60a25304e212e10bc206c53 Mon Sep 17 00:00:00 2001 +From: Marcel +Date: Fri, 21 Nov 2025 03:29:50 +0100 +Subject: [PATCH] setup.py: devendor modest and lexbor + +--- + setup.py | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/setup.py b/setup.py +index 618e989..bf7028e 100644 +--- a/setup.py ++++ b/setup.py +@@ -163,9 +163,9 @@ def make_extensions(): + files_to_compile, + language="c", + include_dirs=[ +- "modest/include/", ++ "@modest@/include/", + ], +- extra_objects=extra_objects, ++ libraries=["modest"], + extra_compile_args=compile_arguments, + ) + ) +@@ -177,9 +177,9 @@ def make_extensions(): + files_to_compile_lxb, + language="c", + include_dirs=[ +- "lexbor/source/", ++ "@lexbor@/include/", + ], +- extra_objects=extra_objects_lxb, ++ libraries=["lexbor"], + extra_compile_args=compile_arguments_lxb, + ) + ) +-- +2.50.1 + diff --git a/pkgs/development/python-modules/selectolax/default.nix b/pkgs/development/python-modules/selectolax/default.nix new file mode 100644 index 000000000000..d85ce3e620be --- /dev/null +++ b/pkgs/development/python-modules/selectolax/default.nix @@ -0,0 +1,62 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + replaceVars, + setuptools, + cython, + modest, + lexbor, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "selectolax"; + version = "0.4.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "rushter"; + repo = "selectolax"; + tag = "v${version}"; + hash = "sha256-1xoHMQzoO0NYi5gJsV++Ngvkaf/O3U14nYkJLvzzbrQ="; + }; + + patches = [ + (replaceVars ./0001-setup.py-devendor-modest-and-lexbor.patch { + modest = lib.getDev modest; + lexbor = lib.getDev lexbor; + }) + ]; + + build-system = [ + setuptools + cython + ]; + + buildInputs = [ + modest + lexbor + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + preCheck = '' + # shadows name and breaks imports in tests + rm -rf selectolax + ''; + + pythonImportsCheck = [ + "selectolax" + ]; + + meta = { + description = "Python binding to Modest and Lexbor engines. Fast HTML5 parser with CSS selectors for Python"; + homepage = "https://github.com/rushter/selectolax"; + changelog = "https://github.com/rushter/selectolax/blob/${src.tag}/CHANGES.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ marcel ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1ae6d7863b67..46c609ab6e03 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16793,6 +16793,8 @@ self: super: with self; { segyio = callPackage ../development/python-modules/segyio { inherit (pkgs) cmake ninja; }; + selectolax = callPackage ../development/python-modules/selectolax { }; + selenium = callPackage ../development/python-modules/selenium { }; selenium-wire = callPackage ../development/python-modules/selenium-wire { }; From 9fd2a267b7a1f6e867e7894752f7d27be531f0e8 Mon Sep 17 00:00:00 2001 From: Marcel Date: Fri, 31 Oct 2025 14:26:51 +0100 Subject: [PATCH 3/3] python3Packages.mkdocs-glightbox 0.4.0 -> 0.5.2 --- .../mkdocs-glightbox/default.nix | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/mkdocs-glightbox/default.nix b/pkgs/development/python-modules/mkdocs-glightbox/default.nix index 65fdad8f38a8..5baa70cc59be 100644 --- a/pkgs/development/python-modules/mkdocs-glightbox/default.nix +++ b/pkgs/development/python-modules/mkdocs-glightbox/default.nix @@ -2,31 +2,38 @@ lib, buildPythonPackage, fetchFromGitHub, - setuptools, + hatchling, + selectolax, pytestCheckHook, pytest-click, + pytest-timeout, mkdocs-material, }: buildPythonPackage rec { pname = "mkdocs-glightbox"; - version = "0.4.0"; + version = "0.5.2"; pyproject = true; src = fetchFromGitHub { owner = "blueswen"; repo = "mkdocs-glightbox"; tag = "v${version}"; - hash = "sha256-9HgXK7cE2z0fvKwEpCG5PTaaqGiet9KMNN2Ys9VJgeE="; + hash = "sha256-6HkBeZHBLR3HqWh3WjjCqxR85nQuQqq9+7UwbXOZHRk="; }; build-system = [ - setuptools + hatchling + ]; + + dependencies = [ + selectolax ]; nativeCheckInputs = [ pytestCheckHook pytest-click + pytest-timeout mkdocs-material ]; @@ -35,6 +42,11 @@ buildPythonPackage rec { "privacy" ]; + disabledTestPaths = [ + # dont execute benchmarks on hydra + "tests/test_perf.py" + ]; + pythonImportsCheck = [ "mkdocs_glightbox" ];