blix/pkgs/beef/default.nix
xfnw a8d3faea4f fix some broken beef dependencies
this fix depends on some bits of nixpkgs, so it is unlikely to be able
to be merged back with upstream nur
2022-02-26 21:40:14 -05:00

45 lines
1.2 KiB
Nix

{ pkgs, stdenv, bundlerEnv, ruby, fetchFromGitHub, nodejs }:
# nix-shell --command "bundler install && bundix" in the clone, copy gemset.nix, Gemfile and Gemfile.lock
let
gems = bundlerEnv {
name = "beef-env";
inherit ruby;
gemdir = ./.;
};
in stdenv.mkDerivation {
name = "beef-2018-09-21";
src = fetchFromGitHub {
owner = "beefproject";
repo = "beef";
rev = "d237c95";
sha256 = "1mykbjwjcbd2a18wycaf35hi3b9rmvqz1jnk2v55sd4c39f0jpf2";
};
prePatch = ''
ls -alhtr
'';
patches = [ ./db-in-homedir.patch ];
buildInputs = [gems pkgs.rubyPackages.nokogiri ruby];
installPhase = ''
mkdir -p $out/{bin,share/beef}
cp -r * $out/share/beef
# set the default db path, unfortunately setting to /tmp does not seem to work
# sed -i 's#db_file: .*#db_file: "/tmp/beef.db"#' $out/share/beef/config.yaml
bin=$out/bin/beef
cat > $bin <<EOF
#!/bin/sh -e
PATH=$PATH:${nodejs}/bin/
exec ${gems}/bin/bundle exec ${ruby}/bin/ruby $out/share/beef/beef "\$@"
EOF
chmod +x $bin
'';
meta = with stdenv.lib; {
homepage = https://beefproject.com/;
description = "The Browser Exploitation Framework";
platforms = platforms.linux;
maintainers = with maintainers; [ makefu ];
};
}