nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 75 lines 1.6 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 makeWrapper, 6 bundlerEnv, 7 bundlerUpdateScript, 8 writeText, 9 krb5, 10 sslLegacyProvider ? false, 11}: 12let 13 rubyEnv = bundlerEnv { 14 name = "evil-winrm"; 15 gemfile = ./Gemfile; 16 lockfile = ./Gemfile.lock; 17 gemset = ./gemset.nix; 18 }; 19 openssl_conf = writeText "openssl.conf" '' 20 openssl_conf = openssl_init 21 22 [openssl_init] 23 providers = provider_sect 24 25 [provider_sect] 26 default = default_sect 27 legacy = legacy_sect 28 29 [default_sect] 30 activate = 1 31 32 [legacy_sect] 33 activate = 1 34 ''; 35in 36stdenv.mkDerivation (finalAttrs: { 37 pname = "evil-winrm"; 38 version = "3.7"; 39 40 src = fetchFromGitHub { 41 owner = "Hackplayers"; 42 repo = "evil-winrm"; 43 tag = "v${finalAttrs.version}"; 44 hash = "sha256-jr8glS732UvSt+qFkhhLFZUB7OIRpRj3SzXm6mVikrE="; 45 }; 46 47 nativeBuildInputs = [ 48 makeWrapper 49 ]; 50 51 buildInputs = [ 52 rubyEnv.wrappedRuby 53 ]; 54 55 installPhase = '' 56 mkdir -p $out/bin 57 cp evil-winrm.rb $out/bin/evil-winrm 58 ''; 59 60 postFixup = lib.optionalString sslLegacyProvider '' 61 wrapProgram $out/bin/evil-winrm \ 62 --prefix OPENSSL_CONF : "${openssl_conf}" \ 63 --prefix LD_LIBRARY_PATH : ${krb5.lib}/lib 64 ''; 65 66 passthru.updateScript = bundlerUpdateScript "evil-winrm"; 67 68 meta = { 69 description = "WinRM shell for hacking/pentesting"; 70 mainProgram = "evil-winrm"; 71 homepage = "https://github.com/Hackplayers/evil-winrm"; 72 changelog = "https://github.com/Hackplayers/evil-winrm/blob/v${finalAttrs.version}/CHANGELOG.md"; 73 license = lib.licenses.lgpl3Plus; 74 }; 75})