diff --git a/pkgs/development/tools/misc/ltrace/default.nix b/pkgs/development/tools/misc/ltrace/default.nix new file mode 100644 index 00000000000..54ea940ed2f --- /dev/null +++ b/pkgs/development/tools/misc/ltrace/default.nix @@ -0,0 +1,30 @@ +args : with args; + with builderDefs { + src = /* put a fetchurl here */ + fetchurl { + url = ftp://ftp.debian.org/debian/pool/main/l/ltrace/ltrace_0.5.orig.tar.gz; + sha256 = "1nbjcnizc0w3p41g7hqf1qiany8qk4xs9g4zrlq4fpxdykdwla3v"; + }; + + buildInputs = [elfutils ]; + configureFlags = []; + goSrcDir = " + cd ltrace-*; + "; + } null; /* null is a terminator for sumArgs */ + with stringsWithDeps; +let + preConfigure = FullDepEntry (" + sed -e 's@-o root -g root@@' -i Makefile.in; + ") [doUnpack minInit]; +in +stdenv.mkDerivation rec { + name = "ltrace-0.5"; + builder = writeScript (name + "-builder") + (textClosure [preConfigure doConfigure doMakeInstall doForceShare]); + meta = { + description = " + Library call tracer. +"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2043ffc4383..9f07037852c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1353,6 +1353,11 @@ rec { inherit fetchurl stdenv; }; + ltrace = import ../development/tools/misc/ltrace { + inherit fetchurl stdenv builderDefs stringsWithDeps lib + elfutils; + }; + mk = import ../development/tools/build-managers/mk { inherit fetchurl stdenv; }; diff --git a/pkgs/top-level/builder-defs.nix b/pkgs/top-level/builder-defs.nix index c164aaae4fd..dbedc27c39a 100644 --- a/pkgs/top-level/builder-defs.nix +++ b/pkgs/top-level/builder-defs.nix @@ -117,7 +117,7 @@ rec } ") [minInit]; - toSrcDir = s : FullDepEntry (if (archiveType s) == "tar" then " + toSrcDir = s : FullDepEntry ((if (archiveType s) == "tar" then " tar xvf ${s} cd \"\$(tar tf ${s} | head -1 | sed -e 's@/.*@@' )\" " else if (archiveType s) == "tgz" then " @@ -126,7 +126,9 @@ rec " else if (archiveType s) == "tbz2" then " tar xvjf ${s} cd \"\$(tar tjf ${s} | head -1 | sed -e 's@/.*@@' )\" - " else (abort "unknown archive type : ${s}")) [minInit]; + " else (abort "unknown archive type : ${s}"))+ + (if args ? goSrcDir then args.goSrcDir else "") + ) [minInit]; doConfigure = FullDepEntry (" ./configure --prefix=\"\$prefix\" ${toString (getAttr ["configureFlags"] "" args)}