From 0e2b222c246b1b93619d8ff1ca8c0bbb082facad Mon Sep 17 00:00:00 2001 From: Jörg Thalheim Date: Tue, 10 Apr 2018 14:37:35 +0100 Subject: linuxPackages.perf: use prefix instead of DESTDIR Otherwise the build system computes incorrect references and looks for perf-core in /libexec. DESTDIR for normal buildsystems is never the right choice for nixpkgs. --- pkgs/os-specific/linux/kernel/perf.nix | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'pkgs/os-specific/linux/kernel/perf.nix') diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix index 06552eb35799..b386bebddf39 100644 --- a/pkgs/os-specific/linux/kernel/perf.nix +++ b/pkgs/os-specific/linux/kernel/perf.nix @@ -12,7 +12,7 @@ assert versionAtLeast kernel.version "3.12"; stdenv.mkDerivation { name = "perf-linux-${kernel.version}"; - inherit (kernel) src makeFlags; + inherit (kernel) src; preConfigure = '' cd tools/perf @@ -24,17 +24,21 @@ stdenv.mkDerivation { substituteInPlace $x --replace /usr/lib/debug /run/current-system/sw/lib/debug done - [ -f bash_completion ] && sed -i 's,^have perf,_have perf,' bash_completion - export makeFlags="DESTDIR=$out WERROR=0 $makeFlags" - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -DTIPDIR=\"$out/share/doc/perf-tip\"" + if [ -f bash_completion ]; then + sed -i 's,^have perf,_have perf,' bash_completion + fi ''; + makeFlags = ["prefix=$(out)" "WERROR=0"] ++ kernel.makeFlags; + # perf refers both to newt and slang - nativeBuildInputs = [ asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt - flex bison libiberty libaudit makeWrapper pkgconfig python perl ]; - buildInputs = - [ elfutils newt slang libunwind libbfd zlib openssl systemtap.stapBuild numactl - ] ++ stdenv.lib.optional withGtk gtk2; + nativeBuildInputs = [ + asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt + flex bison libiberty libaudit makeWrapper pkgconfig python perl + ]; + buildInputs = [ + elfutils newt slang libunwind libbfd zlib openssl systemtap.stapBuild numactl + ] ++ stdenv.lib.optional withGtk gtk2; # Note: we don't add elfutils to buildInputs, since it provides a # bad `ld' and other stuff. @@ -43,6 +47,7 @@ stdenv.mkDerivation { "-Wno-error=bool-compare" "-Wno-error=deprecated-declarations" "-DOBJDUMP_PATH=\"${binutils}/bin/objdump\"" + "-DTIPDIR=\"$(out)/share/doc/perf-tip\"" ] # gcc before 6 doesn't know these options ++ stdenv.lib.optionals (hasPrefix "gcc-6" stdenv.cc.cc.name) [ @@ -50,7 +55,7 @@ stdenv.mkDerivation { ]; separateDebugInfo = true; - installFlags = "install install-man ASCIIDOC8=1"; + installFlags = "install install-man ASCIIDOC8=1 prefix=$(out)"; preFixup = '' wrapProgram $out/bin/perf \ -- cgit 1.4.1