nixpkgs/pkgs/development/tools/misc/strace/default.nix
Ben Siraphob 1d2e7637b6
strace: assert isLinux to avoid eval error on darwin (#114974)
libunwind.supportsHost is not available on darwin because it uses a different libunwind package (https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/darwin/apple-source-releases/default.nix#L270) and changing the stdenv is a big overkill.
2021-04-02 20:03:31 +02:00

32 lines
1,016 B
Nix

{ lib, stdenv, fetchurl, perl, libunwind, buildPackages }:
# libunwind does not have the supportsHost attribute on darwin, thus
# when this package is evaluated it causes an evaluation error
assert stdenv.isLinux;
stdenv.mkDerivation rec {
pname = "strace";
version = "5.11";
src = fetchurl {
url = "https://strace.io/files/${version}/${pname}-${version}.tar.xz";
sha256 = "sha256-/+NAsQwUWg+Fc0Jx6czlZFfSPyGn6lkxqzL4z055OHk=";
};
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [ perl ];
buildInputs = [ perl.out ] ++ lib.optional libunwind.supportsHost libunwind; # support -k
postPatch = "patchShebangs --host strace-graph";
configureFlags = [ "--enable-mpers=check" ];
meta = with lib; {
homepage = "https://strace.io/";
description = "A system call tracer for Linux";
license = with licenses; [ lgpl21Plus gpl2Plus ]; # gpl2Plus is for the test suite
platforms = platforms.linux;
maintainers = with maintainers; [ globin ma27 ];
};
}