···2 lib,
3 buildPythonPackage,
4 fetchPypi,
5- python,
6 nix-update-script,
78 # build-system
···1920buildPythonPackage rec {
21 pname = "tree-sitter-language-pack";
22- version = "0.7.3";
23 pyproject = true;
2425- # Using the GitHub sources necessitates fetching the treesitter grammar parsers by using a vendored script:
26- # https://github.com/Goldziher/tree-sitter-language-pack/blob/main/scripts/clone_vendors.py
27 # The pypi archive has the benefit of already vendoring those dependencies which makes packaging easier on our side
028 src = fetchPypi {
29 pname = "tree_sitter_language_pack";
30 inherit version;
31- hash = "sha256-SROctgfYE1LTOtGOV1IPwQV6AJlVyczO1WYHzBjmo/0=";
32 };
3300000000034 build-system = [
35 cython
36 setuptools
···44 tree-sitter-yaml
45 ];
4647- prePatch = ''
48- # Remove the packaged bindings, which only work on Linux and prevent the build from succeeding
49- # https://github.com/Goldziher/tree-sitter-language-pack/issues/46
50- rm -rf tree_sitter_language_pack/bindings/*.so
51- '';
5253 pythonImportsCheck = [
54 "tree_sitter_language_pack"
55 "tree_sitter_language_pack.bindings"
56 ];
5758- # No tests in the pypi archive, we add a test to check that all bindings can be imported
59- checkPhase = ''
60- runHook preCheck
61-62- cat <<EOF > test-import-bindings.py
63- import sys
64- import os
65- if (cwd := os.getcwd()) in sys.path:
66- # remove current working directory from sys.path, use PYTHONPATH instead
67- sys.path.remove(cwd)
68-69- from typing import get_args
70- from tree_sitter_language_pack import SupportedLanguage, get_binding
71-72- for lang in get_args(SupportedLanguage):
73- get_binding(lang)
74- EOF
75-76- ${python.interpreter} test-import-bindings.py
77-78- runHook postCheck
79 '';
8081 passthru.updateScript = nix-update-script { };
···2 lib,
3 buildPythonPackage,
4 fetchPypi,
5+ pytestCheckHook,
6 nix-update-script,
78 # build-system
···1920buildPythonPackage rec {
21 pname = "tree-sitter-language-pack";
22+ version = "0.8.0";
23 pyproject = true;
2425+ # Using the GitHub sources necessitates fetching the treesitter grammar parsers by using a vendored script.
026 # The pypi archive has the benefit of already vendoring those dependencies which makes packaging easier on our side
27+ # See: https://github.com/Goldziher/tree-sitter-language-pack/blob/main/scripts/clone_vendors.py
28 src = fetchPypi {
29 pname = "tree_sitter_language_pack";
30 inherit version;
31+ hash = "sha256-Sar+Mi61nvTURXV3IQ+yDBjFU1saQrjnU6ppntO/nu0=";
32 };
3334+ # Upstream bumped the setuptools and typing-extensions dependencies, but we can still use older versions
35+ # since the newer ones aren’t packaged in nixpkgs. We can't use pythonRelaxDepsHook here because it runs
36+ # in postBuild, while the dependency check occurs during the build phase.
37+ postPatch = ''
38+ substituteInPlace pyproject.toml \
39+ --replace-fail "setuptools>=80.9.0" "setuptools>=78.1.0" \
40+ --replace-fail "typing-extensions>=4.14.0" "typing-extensions>=4.13.2"
41+ '';
42+43 build-system = [
44 cython
45 setuptools
···53 tree-sitter-yaml
54 ];
5556+ nativeCheckInputs = [
57+ pytestCheckHook
58+ ];
005960 pythonImportsCheck = [
61 "tree_sitter_language_pack"
62 "tree_sitter_language_pack.bindings"
63 ];
6465+ preCheck = ''
66+ # make sure import the built version, not the source one
67+ rm -r tree_sitter_language_pack
00000000000000000068 '';
6970 passthru.updateScript = nix-update-script { };
···670 fingerd_bsd = bsd-fingerd;
671 fira-code-nerdfont = lib.warnOnInstantiate "fira-code-nerdfont is redundant. Use nerd-fonts.fira-code instead." nerd-fonts.fira-code; # Added 2024-11-10
672 firebird_2_5 = throw "'firebird_2_5' has been removed as it has reached end-of-life and does not build."; # Added 2025-06-10
00673 firefox-esr-115 = throw "The Firefox 115 ESR series has reached its end of life. Upgrade to `firefox-esr` or `firefox-esr-128` instead.";
674 firefox-esr-115-unwrapped = throw "The Firefox 115 ESR series has reached its end of life. Upgrade to `firefox-esr-unwrapped` or `firefox-esr-128-unwrapped` instead.";
675 firefox-wayland = firefox; # Added 2022-11-15
···697 fractal-next = fractal; # added 2023-11-25
698 framework-system-tools = framework-tool; # added 2023-12-09
699 francis = kdePackages.francis; # added 2024-07-13
00700 freerdp3 = freerdp; # added 2025-03-25
701 freerdpUnstable = freerdp; # added 2025-03-25
702 frostwire = throw "frostwire was removed, as it was broken due to reproducibility issues, use `frostwire-bin` package instead."; # added 2024-05-17
···870 gtk-engine-bluecurve = "'gtk-engine-bluecurve' has been removed as it has been archived upstream."; # Added 2024-12-04
871 gtk2fontsel = throw "'gtk2fontsel' has been removed due to lack of maintenance upstream. GTK now has a built-in font chooser so it's no longer needed for newer apps"; # Added 2024-10-19
872 gtkcord4 = dissent; # Added 2024-03-10
0873 gtkperf = throw "'gtkperf' has been removed due to lack of maintenance upstream"; # Added 2024-09-14
874 guardian-agent = throw "'guardian-agent' has been removed, as it hasn't been maintained upstream in years and accumulated many vulnerabilities"; # Added 2024-06-09
875 guile-disarchive = disarchive; # Added 2023-10-27
···2064 wg-bond = throw "'wg-bond' has been removed due to lack of upstream maintenance"; # Added 2025-01-25
2065 whatsapp-for-linux = wasistlos; # Added 2025-01-30
2066 wineWayland = wine-wayland;
02067 win-virtio = virtio-win; # Added 2023-10-17
2068 wireguard-vanity-address = throw "'wireguard-vanity-address' has been removed due to lack of upstream maintenance"; # Added 2025-01-26
2069 wkhtmltopdf-bin = wkhtmltopdf; # Added 2024-07-17
···670 fingerd_bsd = bsd-fingerd;
671 fira-code-nerdfont = lib.warnOnInstantiate "fira-code-nerdfont is redundant. Use nerd-fonts.fira-code instead." nerd-fonts.fira-code; # Added 2024-11-10
672 firebird_2_5 = throw "'firebird_2_5' has been removed as it has reached end-of-life and does not build."; # Added 2025-06-10
673+ firefox-beta-bin = lib.warnOnInstantiate "`firefox-beta-bin` is removed. Please use `firefox-beta` or `firefox-bin` instead." firefox-beta;
674+ firefox-devedition-bin = lib.warnOnInstantiate "`firefox-devedition-bin` is removed. Please use `firefox-devedition` or `firefox-bin` instead." firefox-devedition;
675 firefox-esr-115 = throw "The Firefox 115 ESR series has reached its end of life. Upgrade to `firefox-esr` or `firefox-esr-128` instead.";
676 firefox-esr-115-unwrapped = throw "The Firefox 115 ESR series has reached its end of life. Upgrade to `firefox-esr-unwrapped` or `firefox-esr-128-unwrapped` instead.";
677 firefox-wayland = firefox; # Added 2022-11-15
···699 fractal-next = fractal; # added 2023-11-25
700 framework-system-tools = framework-tool; # added 2023-12-09
701 francis = kdePackages.francis; # added 2024-07-13
702+ freecad-qt6 = freecad; # added 2025-06-14
703+ freecad-wayland = freecad; # added 2025-06-14
704 freerdp3 = freerdp; # added 2025-03-25
705 freerdpUnstable = freerdp; # added 2025-03-25
706 frostwire = throw "frostwire was removed, as it was broken due to reproducibility issues, use `frostwire-bin` package instead."; # added 2024-05-17
···874 gtk-engine-bluecurve = "'gtk-engine-bluecurve' has been removed as it has been archived upstream."; # Added 2024-12-04
875 gtk2fontsel = throw "'gtk2fontsel' has been removed due to lack of maintenance upstream. GTK now has a built-in font chooser so it's no longer needed for newer apps"; # Added 2024-10-19
876 gtkcord4 = dissent; # Added 2024-03-10
877+ gtkextra = throw "'gtkextra' has been removed due to lack of maintenance upstream."; # Added 2025-06-10
878 gtkperf = throw "'gtkperf' has been removed due to lack of maintenance upstream"; # Added 2024-09-14
879 guardian-agent = throw "'guardian-agent' has been removed, as it hasn't been maintained upstream in years and accumulated many vulnerabilities"; # Added 2024-06-09
880 guile-disarchive = disarchive; # Added 2023-10-27
···2069 wg-bond = throw "'wg-bond' has been removed due to lack of upstream maintenance"; # Added 2025-01-25
2070 whatsapp-for-linux = wasistlos; # Added 2025-01-30
2071 wineWayland = wine-wayland;
2072+ winhelpcgi = throw "'winhelpcgi' has been removed as it was unmaintained upstream and broken with GCC 14"; # Added 2025-06-14
2073 win-virtio = virtio-win; # Added 2023-10-17
2074 wireguard-vanity-address = throw "'wireguard-vanity-address' has been removed due to lack of upstream maintenance"; # Added 2025-01-26
2075 wkhtmltopdf-bin = wkhtmltopdf; # Added 2024-07-17