tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
whatweb: 0.5.5 -> 0.6.2, fix build issues
Braian A. Diez
6 months ago
09f5ca27
c76c91d0
+450
-107
12 changed files
expand all
collapse all
unified
split
pkgs
by-name
wh
whatweb
Gemfile.lock
gems
Gemfile
Gemfile.lock
Gemfile.mongo
Gemfile.mongo.lock
Gemfile.rchardet
Gemfile.rchardet.lock
gemset.mongo.nix
gemset.nix
gemset.rchardet.nix
gemset.nix
package.nix
+3
pkgs/by-name/wh/whatweb/Gemfile
pkgs/by-name/wh/whatweb/gems/Gemfile.mongo
···
1
1
source 'https://rubygems.org'
2
2
+
2
3
gem 'ipaddr'
3
4
gem 'addressable'
4
5
gem 'json'
6
6
+
gem 'getoptlong'
7
7
+
gem 'resolv-replace'
5
8
gem 'mongo'
6
9
gem 'rchardet'
-25
pkgs/by-name/wh/whatweb/Gemfile.lock
···
1
1
-
GEM
2
2
-
remote: https://rubygems.org/
3
3
-
specs:
4
4
-
addressable (2.8.0)
5
5
-
public_suffix (>= 2.0.2, < 5.0)
6
6
-
bson (4.14.1)
7
7
-
ipaddr (1.2.4)
8
8
-
json (2.6.1)
9
9
-
mongo (2.17.1)
10
10
-
bson (>= 4.8.2, < 5.0.0)
11
11
-
public_suffix (4.0.6)
12
12
-
rchardet (1.8.0)
13
13
-
14
14
-
PLATFORMS
15
15
-
ruby
16
16
-
17
17
-
DEPENDENCIES
18
18
-
addressable
19
19
-
ipaddr
20
20
-
json
21
21
-
mongo
22
22
-
rchardet
23
23
-
24
24
-
BUNDLED WITH
25
25
-
2.1.4
+7
pkgs/by-name/wh/whatweb/gems/Gemfile
···
1
1
+
source 'https://rubygems.org'
2
2
+
3
3
+
gem 'ipaddr'
4
4
+
gem 'addressable'
5
5
+
gem 'json'
6
6
+
gem 'getoptlong'
7
7
+
gem 'resolv-replace'
+26
pkgs/by-name/wh/whatweb/gems/Gemfile.lock
···
1
1
+
GEM
2
2
+
remote: https://rubygems.org/
3
3
+
specs:
4
4
+
addressable (2.8.7)
5
5
+
public_suffix (>= 2.0.2, < 7.0)
6
6
+
getoptlong (0.2.1)
7
7
+
ipaddr (1.2.7)
8
8
+
json (2.13.2)
9
9
+
public_suffix (6.0.2)
10
10
+
resolv (0.6.2)
11
11
+
resolv-replace (0.1.1)
12
12
+
resolv
13
13
+
14
14
+
PLATFORMS
15
15
+
ruby
16
16
+
x86_64-linux
17
17
+
18
18
+
DEPENDENCIES
19
19
+
addressable
20
20
+
getoptlong
21
21
+
ipaddr
22
22
+
json
23
23
+
resolv-replace
24
24
+
25
25
+
BUNDLED WITH
26
26
+
2.7.1
+34
pkgs/by-name/wh/whatweb/gems/Gemfile.mongo.lock
···
1
1
+
GEM
2
2
+
remote: https://rubygems.org/
3
3
+
specs:
4
4
+
addressable (2.8.7)
5
5
+
public_suffix (>= 2.0.2, < 7.0)
6
6
+
base64 (0.3.0)
7
7
+
bson (5.1.1)
8
8
+
getoptlong (0.2.1)
9
9
+
ipaddr (1.2.7)
10
10
+
json (2.13.2)
11
11
+
mongo (2.21.3)
12
12
+
base64
13
13
+
bson (>= 4.14.1, < 6.0.0)
14
14
+
public_suffix (6.0.2)
15
15
+
rchardet (1.9.0)
16
16
+
resolv (0.6.2)
17
17
+
resolv-replace (0.1.1)
18
18
+
resolv
19
19
+
20
20
+
PLATFORMS
21
21
+
ruby
22
22
+
x86_64-linux
23
23
+
24
24
+
DEPENDENCIES
25
25
+
addressable
26
26
+
getoptlong
27
27
+
ipaddr
28
28
+
json
29
29
+
mongo
30
30
+
rchardet
31
31
+
resolv-replace
32
32
+
33
33
+
BUNDLED WITH
34
34
+
2.7.1
+8
pkgs/by-name/wh/whatweb/gems/Gemfile.rchardet
···
1
1
+
source 'https://rubygems.org'
2
2
+
3
3
+
gem 'ipaddr'
4
4
+
gem 'addressable'
5
5
+
gem 'json'
6
6
+
gem 'getoptlong'
7
7
+
gem 'resolv-replace'
8
8
+
gem 'rchardet'
+28
pkgs/by-name/wh/whatweb/gems/Gemfile.rchardet.lock
···
1
1
+
GEM
2
2
+
remote: https://rubygems.org/
3
3
+
specs:
4
4
+
addressable (2.8.7)
5
5
+
public_suffix (>= 2.0.2, < 7.0)
6
6
+
getoptlong (0.2.1)
7
7
+
ipaddr (1.2.7)
8
8
+
json (2.13.2)
9
9
+
public_suffix (6.0.2)
10
10
+
rchardet (1.9.0)
11
11
+
resolv (0.6.2)
12
12
+
resolv-replace (0.1.1)
13
13
+
resolv
14
14
+
15
15
+
PLATFORMS
16
16
+
ruby
17
17
+
x86_64-linux
18
18
+
19
19
+
DEPENDENCIES
20
20
+
addressable
21
21
+
getoptlong
22
22
+
ipaddr
23
23
+
json
24
24
+
rchardet
25
25
+
resolv-replace
26
26
+
27
27
+
BUNDLED WITH
28
28
+
2.7.1
+118
pkgs/by-name/wh/whatweb/gems/gemset.mongo.nix
···
1
1
+
{
2
2
+
addressable = {
3
3
+
dependencies = [ "public_suffix" ];
4
4
+
groups = [ "default" ];
5
5
+
platforms = [ ];
6
6
+
source = {
7
7
+
remotes = [ "https://rubygems.org" ];
8
8
+
sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6";
9
9
+
type = "gem";
10
10
+
};
11
11
+
version = "2.8.7";
12
12
+
};
13
13
+
base64 = {
14
14
+
groups = [ "default" ];
15
15
+
platforms = [ ];
16
16
+
source = {
17
17
+
remotes = [ "https://rubygems.org" ];
18
18
+
sha256 = "0yx9yn47a8lkfcjmigk79fykxvr80r4m1i35q82sxzynpbm7lcr7";
19
19
+
type = "gem";
20
20
+
};
21
21
+
version = "0.3.0";
22
22
+
};
23
23
+
bson = {
24
24
+
groups = [ "default" ];
25
25
+
platforms = [ ];
26
26
+
source = {
27
27
+
remotes = [ "https://rubygems.org" ];
28
28
+
sha256 = "02q695963ix1qcdwy205rwd38mv089z54n2i5n3ih1kad864jz55";
29
29
+
type = "gem";
30
30
+
};
31
31
+
version = "5.1.1";
32
32
+
};
33
33
+
getoptlong = {
34
34
+
groups = [ "default" ];
35
35
+
platforms = [ ];
36
36
+
source = {
37
37
+
remotes = [ "https://rubygems.org" ];
38
38
+
sha256 = "198vy9dxyzibqdbw9jg8p2ljj9iknkyiqlyl229vz55rjxrz08zx";
39
39
+
type = "gem";
40
40
+
};
41
41
+
version = "0.2.1";
42
42
+
};
43
43
+
ipaddr = {
44
44
+
groups = [ "default" ];
45
45
+
platforms = [ ];
46
46
+
source = {
47
47
+
remotes = [ "https://rubygems.org" ];
48
48
+
sha256 = "0wmgwqv6c1kq8cxbxddllnrlh5jjmjw73i1sqbnvq55zzn3l0zyb";
49
49
+
type = "gem";
50
50
+
};
51
51
+
version = "1.2.7";
52
52
+
};
53
53
+
json = {
54
54
+
groups = [ "default" ];
55
55
+
platforms = [ ];
56
56
+
source = {
57
57
+
remotes = [ "https://rubygems.org" ];
58
58
+
sha256 = "0s5vklcy2fgdxa9c6da34jbfrqq7xs6mryjglqqb5iilshcg3q82";
59
59
+
type = "gem";
60
60
+
};
61
61
+
version = "2.13.2";
62
62
+
};
63
63
+
mongo = {
64
64
+
dependencies = [
65
65
+
"base64"
66
66
+
"bson"
67
67
+
];
68
68
+
groups = [ "default" ];
69
69
+
platforms = [ ];
70
70
+
source = {
71
71
+
remotes = [ "https://rubygems.org" ];
72
72
+
sha256 = "15f96bg3gr3vahwh9vslgfxl3khma21gaqgdj98jc1447w73xlf1";
73
73
+
type = "gem";
74
74
+
};
75
75
+
version = "2.21.3";
76
76
+
};
77
77
+
public_suffix = {
78
78
+
groups = [ "default" ];
79
79
+
platforms = [ ];
80
80
+
source = {
81
81
+
remotes = [ "https://rubygems.org" ];
82
82
+
sha256 = "1543ap9w3ydhx39ljcd675cdz9cr948x9mp00ab8qvq6118wv9xz";
83
83
+
type = "gem";
84
84
+
};
85
85
+
version = "6.0.2";
86
86
+
};
87
87
+
rchardet = {
88
88
+
groups = [ "default" ];
89
89
+
platforms = [ ];
90
90
+
source = {
91
91
+
remotes = [ "https://rubygems.org" ];
92
92
+
sha256 = "1455yhd1arccrns3ghhvn4dl6gnrf4zn1xxsaa33ffyqrn399216";
93
93
+
type = "gem";
94
94
+
};
95
95
+
version = "1.9.0";
96
96
+
};
97
97
+
resolv = {
98
98
+
groups = [ "default" ];
99
99
+
platforms = [ ];
100
100
+
source = {
101
101
+
remotes = [ "https://rubygems.org" ];
102
102
+
sha256 = "057vj12w6cnzz9kzbnwg17snm9jwr22izrbp9yqv3pnxrr2ybvv1";
103
103
+
type = "gem";
104
104
+
};
105
105
+
version = "0.6.2";
106
106
+
};
107
107
+
resolv-replace = {
108
108
+
dependencies = [ "resolv" ];
109
109
+
groups = [ "default" ];
110
110
+
platforms = [ ];
111
111
+
source = {
112
112
+
remotes = [ "https://rubygems.org" ];
113
113
+
sha256 = "13v8xdmsqlr9822xpcvscnr4b9vzmzhg0l7r6hh4b281baq1jda7";
114
114
+
type = "gem";
115
115
+
};
116
116
+
version = "0.1.1";
117
117
+
};
118
118
+
}
+74
pkgs/by-name/wh/whatweb/gems/gemset.nix
···
1
1
+
{
2
2
+
addressable = {
3
3
+
dependencies = [ "public_suffix" ];
4
4
+
groups = [ "default" ];
5
5
+
platforms = [ ];
6
6
+
source = {
7
7
+
remotes = [ "https://rubygems.org" ];
8
8
+
sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6";
9
9
+
type = "gem";
10
10
+
};
11
11
+
version = "2.8.7";
12
12
+
};
13
13
+
getoptlong = {
14
14
+
groups = [ "default" ];
15
15
+
platforms = [ ];
16
16
+
source = {
17
17
+
remotes = [ "https://rubygems.org" ];
18
18
+
sha256 = "198vy9dxyzibqdbw9jg8p2ljj9iknkyiqlyl229vz55rjxrz08zx";
19
19
+
type = "gem";
20
20
+
};
21
21
+
version = "0.2.1";
22
22
+
};
23
23
+
ipaddr = {
24
24
+
groups = [ "default" ];
25
25
+
platforms = [ ];
26
26
+
source = {
27
27
+
remotes = [ "https://rubygems.org" ];
28
28
+
sha256 = "0wmgwqv6c1kq8cxbxddllnrlh5jjmjw73i1sqbnvq55zzn3l0zyb";
29
29
+
type = "gem";
30
30
+
};
31
31
+
version = "1.2.7";
32
32
+
};
33
33
+
json = {
34
34
+
groups = [ "default" ];
35
35
+
platforms = [ ];
36
36
+
source = {
37
37
+
remotes = [ "https://rubygems.org" ];
38
38
+
sha256 = "0s5vklcy2fgdxa9c6da34jbfrqq7xs6mryjglqqb5iilshcg3q82";
39
39
+
type = "gem";
40
40
+
};
41
41
+
version = "2.13.2";
42
42
+
};
43
43
+
public_suffix = {
44
44
+
groups = [ "default" ];
45
45
+
platforms = [ ];
46
46
+
source = {
47
47
+
remotes = [ "https://rubygems.org" ];
48
48
+
sha256 = "1543ap9w3ydhx39ljcd675cdz9cr948x9mp00ab8qvq6118wv9xz";
49
49
+
type = "gem";
50
50
+
};
51
51
+
version = "6.0.2";
52
52
+
};
53
53
+
resolv = {
54
54
+
groups = [ "default" ];
55
55
+
platforms = [ ];
56
56
+
source = {
57
57
+
remotes = [ "https://rubygems.org" ];
58
58
+
sha256 = "057vj12w6cnzz9kzbnwg17snm9jwr22izrbp9yqv3pnxrr2ybvv1";
59
59
+
type = "gem";
60
60
+
};
61
61
+
version = "0.6.2";
62
62
+
};
63
63
+
resolv-replace = {
64
64
+
dependencies = [ "resolv" ];
65
65
+
groups = [ "default" ];
66
66
+
platforms = [ ];
67
67
+
source = {
68
68
+
remotes = [ "https://rubygems.org" ];
69
69
+
sha256 = "13v8xdmsqlr9822xpcvscnr4b9vzmzhg0l7r6hh4b281baq1jda7";
70
70
+
type = "gem";
71
71
+
};
72
72
+
version = "0.1.1";
73
73
+
};
74
74
+
}
+84
pkgs/by-name/wh/whatweb/gems/gemset.rchardet.nix
···
1
1
+
{
2
2
+
addressable = {
3
3
+
dependencies = [ "public_suffix" ];
4
4
+
groups = [ "default" ];
5
5
+
platforms = [ ];
6
6
+
source = {
7
7
+
remotes = [ "https://rubygems.org" ];
8
8
+
sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6";
9
9
+
type = "gem";
10
10
+
};
11
11
+
version = "2.8.7";
12
12
+
};
13
13
+
getoptlong = {
14
14
+
groups = [ "default" ];
15
15
+
platforms = [ ];
16
16
+
source = {
17
17
+
remotes = [ "https://rubygems.org" ];
18
18
+
sha256 = "198vy9dxyzibqdbw9jg8p2ljj9iknkyiqlyl229vz55rjxrz08zx";
19
19
+
type = "gem";
20
20
+
};
21
21
+
version = "0.2.1";
22
22
+
};
23
23
+
ipaddr = {
24
24
+
groups = [ "default" ];
25
25
+
platforms = [ ];
26
26
+
source = {
27
27
+
remotes = [ "https://rubygems.org" ];
28
28
+
sha256 = "0wmgwqv6c1kq8cxbxddllnrlh5jjmjw73i1sqbnvq55zzn3l0zyb";
29
29
+
type = "gem";
30
30
+
};
31
31
+
version = "1.2.7";
32
32
+
};
33
33
+
json = {
34
34
+
groups = [ "default" ];
35
35
+
platforms = [ ];
36
36
+
source = {
37
37
+
remotes = [ "https://rubygems.org" ];
38
38
+
sha256 = "0s5vklcy2fgdxa9c6da34jbfrqq7xs6mryjglqqb5iilshcg3q82";
39
39
+
type = "gem";
40
40
+
};
41
41
+
version = "2.13.2";
42
42
+
};
43
43
+
public_suffix = {
44
44
+
groups = [ "default" ];
45
45
+
platforms = [ ];
46
46
+
source = {
47
47
+
remotes = [ "https://rubygems.org" ];
48
48
+
sha256 = "1543ap9w3ydhx39ljcd675cdz9cr948x9mp00ab8qvq6118wv9xz";
49
49
+
type = "gem";
50
50
+
};
51
51
+
version = "6.0.2";
52
52
+
};
53
53
+
rchardet = {
54
54
+
groups = [ "default" ];
55
55
+
platforms = [ ];
56
56
+
source = {
57
57
+
remotes = [ "https://rubygems.org" ];
58
58
+
sha256 = "1455yhd1arccrns3ghhvn4dl6gnrf4zn1xxsaa33ffyqrn399216";
59
59
+
type = "gem";
60
60
+
};
61
61
+
version = "1.9.0";
62
62
+
};
63
63
+
resolv = {
64
64
+
groups = [ "default" ];
65
65
+
platforms = [ ];
66
66
+
source = {
67
67
+
remotes = [ "https://rubygems.org" ];
68
68
+
sha256 = "057vj12w6cnzz9kzbnwg17snm9jwr22izrbp9yqv3pnxrr2ybvv1";
69
69
+
type = "gem";
70
70
+
};
71
71
+
version = "0.6.2";
72
72
+
};
73
73
+
resolv-replace = {
74
74
+
dependencies = [ "resolv" ];
75
75
+
groups = [ "default" ];
76
76
+
platforms = [ ];
77
77
+
source = {
78
78
+
remotes = [ "https://rubygems.org" ];
79
79
+
sha256 = "13v8xdmsqlr9822xpcvscnr4b9vzmzhg0l7r6hh4b281baq1jda7";
80
80
+
type = "gem";
81
81
+
};
82
82
+
version = "0.1.1";
83
83
+
};
84
84
+
}
-74
pkgs/by-name/wh/whatweb/gemset.nix
···
1
1
-
{
2
2
-
addressable = {
3
3
-
dependencies = [ "public_suffix" ];
4
4
-
groups = [ "default" ];
5
5
-
platforms = [ ];
6
6
-
source = {
7
7
-
remotes = [ "https://rubygems.org" ];
8
8
-
sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp";
9
9
-
type = "gem";
10
10
-
};
11
11
-
version = "2.8.0";
12
12
-
};
13
13
-
bson = {
14
14
-
groups = [ "default" ];
15
15
-
platforms = [ ];
16
16
-
source = {
17
17
-
remotes = [ "https://rubygems.org" ];
18
18
-
sha256 = "03n3w96vpblaxvk1qk8hq7sbsmg4nv7qdkdr8f7nfvalgpakp5i5";
19
19
-
type = "gem";
20
20
-
};
21
21
-
version = "4.14.1";
22
22
-
};
23
23
-
ipaddr = {
24
24
-
groups = [ "default" ];
25
25
-
platforms = [ ];
26
26
-
source = {
27
27
-
remotes = [ "https://rubygems.org" ];
28
28
-
sha256 = "13qd34nzpgp3fxfjbvaqg3dcnfr0cgl5vjvcqy0hfllbvfcklnbq";
29
29
-
type = "gem";
30
30
-
};
31
31
-
version = "1.2.4";
32
32
-
};
33
33
-
json = {
34
34
-
groups = [ "default" ];
35
35
-
platforms = [ ];
36
36
-
source = {
37
37
-
remotes = [ "https://rubygems.org" ];
38
38
-
sha256 = "1z9grvjyfz16ag55hg522d3q4dh07hf391sf9s96npc0vfi85xkz";
39
39
-
type = "gem";
40
40
-
};
41
41
-
version = "2.6.1";
42
42
-
};
43
43
-
mongo = {
44
44
-
dependencies = [ "bson" ];
45
45
-
groups = [ "default" ];
46
46
-
platforms = [ ];
47
47
-
source = {
48
48
-
remotes = [ "https://rubygems.org" ];
49
49
-
sha256 = "19sihy8ihi3hmdg3gxbf4qvzmjnzx8xygg9534012j9z0wmhs7h1";
50
50
-
type = "gem";
51
51
-
};
52
52
-
version = "2.17.1";
53
53
-
};
54
54
-
public_suffix = {
55
55
-
groups = [ "default" ];
56
56
-
platforms = [ ];
57
57
-
source = {
58
58
-
remotes = [ "https://rubygems.org" ];
59
59
-
sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
60
60
-
type = "gem";
61
61
-
};
62
62
-
version = "4.0.6";
63
63
-
};
64
64
-
rchardet = {
65
65
-
groups = [ "default" ];
66
66
-
platforms = [ ];
67
67
-
source = {
68
68
-
remotes = [ "https://rubygems.org" ];
69
69
-
sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9";
70
70
-
type = "gem";
71
71
-
};
72
72
-
version = "1.8.0";
73
73
-
};
74
74
-
}
+68
-8
pkgs/by-name/wh/whatweb/package.nix
···
3
3
stdenv,
4
4
fetchFromGitHub,
5
5
bundlerEnv,
6
6
-
ruby,
6
6
+
ruby_3_4,
7
7
+
withMongo ? false,
8
8
+
withRchardet ? false,
7
9
}:
8
10
9
11
let
12
12
+
gemdir =
13
13
+
if withMongo && withRchardet then
14
14
+
./gems
15
15
+
else if withMongo then
16
16
+
./gems
17
17
+
else if withRchardet then
18
18
+
./gems
19
19
+
else
20
20
+
./gems;
21
21
+
22
22
+
gemfile =
23
23
+
if withMongo then
24
24
+
gemdir + "/Gemfile.mongo"
25
25
+
else if withRchardet then
26
26
+
gemdir + "/Gemfile.rchardet"
27
27
+
else
28
28
+
gemdir + "/Gemfile";
29
29
+
30
30
+
lockfile =
31
31
+
if withMongo then
32
32
+
gemdir + "/Gemfile.mongo.lock"
33
33
+
else if withRchardet then
34
34
+
gemdir + "/Gemfile.rchardet.lock"
35
35
+
else
36
36
+
gemdir + "/Gemfile.lock";
37
37
+
38
38
+
gemset =
39
39
+
if withMongo then
40
40
+
gemdir + "/gemset.mongo.nix"
41
41
+
else if withRchardet then
42
42
+
gemdir + "/gemset.rchardet.nix"
43
43
+
else
44
44
+
gemdir + "/gemset.nix";
45
45
+
10
46
gems = bundlerEnv {
11
47
name = "whatweb-env";
12
12
-
inherit ruby;
13
13
-
gemdir = ./.;
48
48
+
inherit ruby_3_4;
49
49
+
inherit gemdir;
50
50
+
inherit gemfile lockfile gemset;
14
51
};
15
15
-
16
52
in
17
53
stdenv.mkDerivation rec {
18
54
pname = "whatweb";
19
19
-
version = "0.5.5";
55
55
+
version = "0.6.2";
20
56
21
57
src = fetchFromGitHub {
22
58
owner = "urbanadventurer";
23
59
repo = "whatweb";
24
60
rev = "v${version}";
25
25
-
sha256 = "sha256-HLF55x4C8n8aPO4SI0d6Z9wZe80krtUaGUFmMaYRBIE=";
61
61
+
sha256 = "sha256-EFQ4RHI1+kmlz/Bm+9KXbmY0iEBJnKfdQL5YGDWCfJQ=";
26
62
};
27
63
28
64
prePatch = ''
29
65
substituteInPlace Makefile \
30
66
--replace "/usr/local" "$out" \
31
31
-
--replace "/usr" "$out"
67
67
+
--replace "/usr" "$out" \
68
68
+
--replace "bundle install" "echo 'Skipping bundle install in nix build'"
32
69
'';
33
70
34
71
buildInputs = [ gems ];
···
40
77
rm $out/bin/whatweb
41
78
cat << EOF >> $out/bin/whatweb
42
79
#!/bin/sh -e
43
43
-
exec ${gems}/bin/bundle exec ${ruby}/bin/ruby "$raw" "\$@"
80
80
+
export GEM_PATH="${gems}/lib/ruby/gems/3.3.0"
81
81
+
export RUBYOPT="-W0"
82
82
+
exec ${ruby_3_4}/bin/ruby "$raw" "\$@"
44
83
EOF
45
84
chmod +x $out/bin/whatweb
46
85
47
86
runHook postInstall
48
87
'';
49
88
89
89
+
passthru = {
90
90
+
withMongo = withMongo;
91
91
+
withRchardet = withRchardet;
92
92
+
};
93
93
+
50
94
meta = with lib; {
51
95
description = "Next generation web scanner";
96
96
+
longDescription = ''
97
97
+
WhatWeb is a website fingerprinting tool that identifies web technologies such as CMSs, blogging platforms,
98
98
+
analytics packages, JavaScript libraries, web servers, and embedded devices. With over 1800 plugins, it detects software
99
99
+
versions, email addresses, account IDs, web framework modules, SQL errors, and more. WhatWeb offers adjustable scan
100
100
+
modes, balancing speed and thoroughness, making it suitable for both quick reconnaissance and detailed penetration
101
101
+
testing. Its plugins use multiple detection methods to reliably identify technologies, even when sites attempt to
102
102
+
obscure their software.
103
103
+
''
104
104
+
+ lib.optionalString withMongo ''
105
105
+
106
106
+
This build includes MongoDB support and character set detection capabilities, which may impact performance.
107
107
+
''
108
108
+
+ lib.optionalString (withRchardet && !withMongo) ''
109
109
+
110
110
+
This build includes character set detection capabilities, which may impact performance.
111
111
+
'';
52
112
mainProgram = "whatweb";
53
113
homepage = "https://github.com/urbanadventurer/whatweb";
54
114
license = licenses.gpl2Only;