diff --git a/pkgs/development/tools/analysis/makefile2graph/default.nix b/pkgs/development/tools/analysis/makefile2graph/default.nix new file mode 100644 index 000000000000..7afa71429a75 --- /dev/null +++ b/pkgs/development/tools/analysis/makefile2graph/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, makeWrapper, bash, gnumake }: + +stdenv.mkDerivation rec { + name = "makefile2graph-2018-01-03"; + + src = fetchFromGitHub { + owner = "lindenb"; + repo = "makefile2graph"; + rev = "61fb95a5ba91c20236f5e4deb11127c34b47091f"; + sha256 = "07hq40bl48i8ka35fcciqcafpd8k9rby1wf4vl2p53v0665xaghr"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + makeFlags = [ "prefix=$(out)" ]; + + fixupPhase = '' + substituteInPlace $out/bin/makefile2graph \ + --replace '/bin/sh' ${bash}/bin/bash \ + --replace 'make2graph' "$out/bin/make2graph" + wrapProgram $out/bin/makefile2graph \ + --set PATH ${stdenv.lib.makeBinPath [ gnumake ]} + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/lindenb/makefile2graph"; + description = "Creates a graph of dependencies from GNU-Make; Output is a graphiz-dot file or a Gexf-XML file"; + maintainers = with maintainers; [ cmcdragonkai ]; + license = licenses.mit; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 247dc7558f5f..0b995e561f2d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3927,6 +3927,8 @@ with pkgs; makerpm = callPackage ../development/tools/makerpm { }; + makefile2graph = callPackage ../development/tools/analysis/makefile2graph { }; + # See https://github.com/NixOS/nixpkgs/issues/15849. I'm switching on isLinux because # it looks like gnulib is broken on non-linux, so it seems likely that this would cause # trouble on bsd and/or cygwin as well.