nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 gibberish-detector,
6 mock,
7 pkgs,
8 pyahocorasick,
9 pytest7CheckHook,
10 pyyaml,
11 requests,
12 responses,
13 setuptools,
14 unidiff,
15 writableTmpDirAsHomeHook,
16}:
17
18buildPythonPackage rec {
19 pname = "detect-secrets";
20 version = "1.5.0";
21 pyproject = true;
22
23 src = fetchFromGitHub {
24 owner = "Yelp";
25 repo = "detect-secrets";
26 tag = "v${version}";
27 hash = "sha256-pNLAZUJhjZ3b01XaltJUJ9O7Blv6/pHQrRvURe7MJ5A=";
28 leaveDotGit = true;
29 };
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 gibberish-detector
35 pyyaml
36 pyahocorasick
37 requests
38 ];
39
40 nativeCheckInputs = [
41 mock
42 pytest7CheckHook
43 responses
44 unidiff
45 pkgs.gitMinimal
46 writableTmpDirAsHomeHook
47 ];
48
49 disabledTests = [
50 # Tests are failing for various reasons. Needs to be adjusted with the next update
51 "test_basic"
52 "test_handles_each_path_separately"
53 "test_handles_multiple_directories"
54 "test_load_and_output"
55 "test_make_decisions"
56 "test_restores_line_numbers"
57 "test_saves_to_baseline"
58 "test_scan_all_files"
59 "test_start_halfway"
60 ];
61
62 pythonImportsCheck = [ "detect_secrets" ];
63
64 meta = {
65 description = "Enterprise friendly way of detecting and preventing secrets in code";
66 homepage = "https://github.com/Yelp/detect-secrets";
67 changelog = "https://github.com/Yelp/detect-secrets/releases/tag/${src.tag}";
68 license = lib.licenses.asl20;
69 maintainers = [ ];
70 };
71}