diff options
author | Jörg Thalheim <joerg@thalheim.io> | 2017-05-14 21:52:58 +0100 |
---|---|---|
committer | Jörg Thalheim <joerg@thalheim.io> | 2017-05-15 21:44:00 +0100 |
commit | cf726bc31abac068180173b0de8a899c2f3edd40 (patch) | |
tree | f9519a640670bfd78f4156660955f51252ac288e /pkgs/tools/security/metasploit/default.nix | |
parent | ae9e73125f8ea5055ad8da63719831cab1c3e1f0 (diff) | |
download | nixpkgs-cf726bc31abac068180173b0de8a899c2f3edd40.tar nixpkgs-cf726bc31abac068180173b0de8a899c2f3edd40.tar.gz nixpkgs-cf726bc31abac068180173b0de8a899c2f3edd40.tar.bz2 nixpkgs-cf726bc31abac068180173b0de8a899c2f3edd40.tar.lz nixpkgs-cf726bc31abac068180173b0de8a899c2f3edd40.tar.xz nixpkgs-cf726bc31abac068180173b0de8a899c2f3edd40.tar.zst nixpkgs-cf726bc31abac068180173b0de8a899c2f3edd40.zip |
metasploit: 3.3.1 -> 4.14.17
use bundler env now fixes #8870
Diffstat (limited to 'pkgs/tools/security/metasploit/default.nix')
-rw-r--r-- | pkgs/tools/security/metasploit/default.nix | 51 |
1 files changed, 34 insertions, 17 deletions
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix index 41d9934191d..5e21996caac 100644 --- a/pkgs/tools/security/metasploit/default.nix +++ b/pkgs/tools/security/metasploit/default.nix @@ -1,34 +1,51 @@ -{ stdenv, fetchurl, makeWrapper, ruby }: - -stdenv.mkDerivation rec { +{ stdenv, fetchFromGitHub, makeWrapper, ruby, bundlerEnv, ncurses }: + +# Maintainer notes for updating: +# 1. increment version number in expression and in Gemfile +# 2. run $ nix-shell --command "bundler install && bundix" +# in metasploit in nixpkgs + +let + env = bundlerEnv { + inherit ruby; + name = "metasploit-bundler-env"; + gemdir = ./.; + }; +in stdenv.mkDerivation rec { name = "metasploit-framework-${version}"; - version = "3.3.1"; + version = "4.14.17"; - src = fetchurl { - url = "http://downloads.metasploit.com/data/releases/archive/framework-${version}.tar.bz2"; - sha256 = "07clzw1zfnqjhyydsc4mza238isai58p7aygh653qxsqb9a0j7qw"; + src = fetchFromGitHub { + owner = "rapid7"; + repo = "metasploit-framework"; + rev = version; + sha256 = "0g666lxin9f0v9vhfh3s913ym8fnh32rpfl1rpj8d8n1azch5fn0"; }; - buildInputs = [makeWrapper]; + buildInputs = [ makeWrapper ]; + + dontPatchelf = true; # stay away from exploit executables installPhase = '' - mkdir -p $out/share/msf - mkdir -p $out/bin + mkdir -p $out/{bin,share/msf} cp -r * $out/share/msf for i in $out/share/msf/msf*; do - makeWrapper $i $out/bin/$(basename $i) --prefix RUBYLIB : $out/share/msf/lib + bin=$out/bin/$(basename $i) + cat > $bin <<EOF +#!/bin/sh -e +exec ${env}/bin/bundle exec ${ruby}/bin/ruby $i "\$@" +EOF + chmod +x $bin done ''; - postInstall = '' - patchShebangs $out/share/msf - ''; - - meta = { + meta = with stdenv.lib; { description = "Metasploit Framework - a collection of exploits"; homepage = https://github.com/rapid7/metasploit-framework/wiki; - platforms = stdenv.lib.platforms.unix; + platforms = platforms.unix; + license = licenses.bsd3; + maintainers = [ maintainers.makefu ]; }; } |