lol

whatweb: 0.5.5 -> 0.6.2, fix build issues

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