1{ lib
2, stdenv
3, fetchFromGitHub
4, openssl
5, pkg-config
6, rustPlatform
7, Security
8}:
9
10rustPlatform.buildRustPackage rec {
11 pname = "feroxbuster";
12 version = "2.10.0";
13
14 src = fetchFromGitHub {
15 owner = "epi052";
16 repo = pname;
17 rev = "refs/tags/v${version}";
18 hash = "sha256-u2c+s5kCAYOKwl5eb1zY7xdl4pD6eAjiyRj6JFkA07M=";
19 };
20
21 # disable linker overrides on aarch64-linux
22 postPatch = ''
23 rm .cargo/config
24 '';
25
26 cargoHash = "sha256-rPFj53KQkucz1/yAr6U2nk6gTdxcBxyRHVqGeawBYZU=";
27
28 OPENSSL_NO_VENDOR = true;
29
30 nativeBuildInputs = [
31 pkg-config
32 ];
33
34 buildInputs = [
35 openssl
36 ] ++ lib.optionals stdenv.isDarwin [
37 Security
38 ];
39
40 # Tests require network access
41 doCheck = false;
42
43 meta = with lib; {
44 description = "Fast, simple, recursive content discovery tool";
45 homepage = "https://github.com/epi052/feroxbuster";
46 changelog = "https://github.com/epi052/feroxbuster/releases/tag/v${version}";
47 license = with licenses; [ mit ];
48 maintainers = with maintainers; [ fab ];
49 platforms = platforms.unix;
50 };
51}
52