Files
Emily fdb820602b treewide: drop simple x86_64-darwin mentions
To reproduce:

    $ nix run nixpkgs/3b32825de172d0bc85664f495edb096b10862524#ast-grep \
        -- scan --update-all --inline-rules '
          id: nix-x86_64-darwin
          language: nix
          rule:
            any:
              - pattern: "\"x86_64-darwin\""
                kind: list_expression > string_expression
              - pattern:
                  context: "{ \"x86_64-darwin\" = $EXPR; }"
                  selector: binding
              - pattern:
                  context: "{ x86_64-darwin = $EXPR; }"
                  selector: binding
          fix:
            template: ""
        ' pkgs
    $ nix run nixpkgs/3b32825de172d0bc85664f495edb096b10862524#ast-grep \
        -- scan --update-all --inline-rules '
          id: json-first-x86_64-darwin
          language: json
          rule:
            kind: object > pair:nth-child(1)
            has:
              pattern: "\"x86_64-darwin\""
              field: key
          fix:
            template: ""
            expandEnd: { regex: "," }
        ' pkgs
    $ nix run nixpkgs/3b32825de172d0bc85664f495edb096b10862524#ast-grep \
        -- scan --update-all --inline-rules '
          id: json-x86_64-darwin
          language: json
          rule:
            kind: object > pair
            has:
              pattern: "\"x86_64-darwin\""
              field: key
          fix:
            template: ""
            expandStart: { regex: "," }
        ' pkgs
    $ git restore pkgs/by-name/om/omnix/package.nix
    $ git diff --name-only -z \
        | nix shell nixpkgs/3b32825de172d0bc85664f495edb096b10862524#gnused \
            -c xargs -0 sed -i '/^$/N; /^\n\? \+$/d'
    $ treefmt
2026-07-15 03:58:16 +01:00

67 lines
1.3 KiB
Nix

{
lib,
pkgs,
buildPythonPackage,
fetchFromGitHub,
symlinkJoin,
cmake,
ninja,
pathspec,
pcre,
scikit-build-core,
pytestCheckHook,
pytest-mock,
}:
let
lib-deps = symlinkJoin {
name = "hyperscan-static-deps";
paths = [
(pkgs.hyperscan.override { withStatic = true; })
(pcre.overrideAttrs { dontDisableStatic = 0; }).out
];
};
in
buildPythonPackage rec {
pname = "hyperscan";
version = "0.8.0";
pyproject = true;
src = fetchFromGitHub {
owner = "darvid";
repo = "python-hyperscan";
tag = "v${version}";
hash = "sha256-on++eSNaVY2Q6yT/O+unvE0x/Pt/SsIQFQblIqii2sM=";
};
env.CMAKE_ARGS = "-DHS_SRC_ROOT=${pkgs.hyperscan.src} -DHS_BUILD_LIB_ROOT=${lib-deps}/lib";
dontUseCmakeConfigure = true;
build-system = [
cmake
pathspec
ninja
scikit-build-core
];
pythonImportsCheck = [ "hyperscan" ];
enabledTestPaths = [ "tests" ];
nativeCheckInputs = [
pytestCheckHook
pytest-mock
];
meta = {
description = "CPython extension for the Hyperscan regular expression matching library";
homepage = "https://github.com/darvid/python-hyperscan";
changelog = "https://github.com/darvid/python-hyperscan/blob/${src.tag}/CHANGELOG.md";
platforms = [
"x86_64-linux"
];
license = lib.licenses.mit;
maintainers = [ ];
};
}