uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
33
pkgs/development/tools/profiling/EZTrace/default.nix
Normal file
33
pkgs/development/tools/profiling/EZTrace/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib,
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
gfortran,
|
||||
libelf,
|
||||
libiberty,
|
||||
zlib,
|
||||
libbfd,
|
||||
libopcodes,
|
||||
buildPackages,
|
||||
autoreconfHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "EZTrace";
|
||||
version = "1.1-11";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "eztrace";
|
||||
repo = "eztrace";
|
||||
rev = "eztrace-${version}";
|
||||
sha256 = "sha256-A6HMr4ib5Ka1lTbbTQOdq3kIdCoN/CwAKRdXdv9wpfU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gfortran autoreconfHook ];
|
||||
buildInputs = [ libelf libiberty zlib libbfd libopcodes ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool that aims at generating automatically execution trace from HPC programs";
|
||||
license = licenses.cecill-b;
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
31
pkgs/development/tools/profiling/heaptrack/default.nix
Normal file
31
pkgs/development/tools/profiling/heaptrack/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
lib, mkDerivation, fetchFromGitHub, cmake, extra-cmake-modules,
|
||||
zlib, boost, libunwind, elfutils, sparsehash, zstd,
|
||||
qtbase, kio, kitemmodels, threadweaver, kconfigwidgets, kcoreaddons, kdiagram
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "heaptrack";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KDE";
|
||||
repo = "heaptrack";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-GXwlauLspbY+h/Y75zlHPoP27pr3xVl05LuDW+WVYxU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake extra-cmake-modules ];
|
||||
buildInputs = [
|
||||
zlib boost libunwind elfutils sparsehash zstd
|
||||
qtbase kio kitemmodels threadweaver kconfigwidgets kcoreaddons kdiagram
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Heap memory profiler for Linux";
|
||||
homepage = "https://github.com/KDE/heaptrack";
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [ gebner ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
34
pkgs/development/tools/profiling/malt/default.nix
Normal file
34
pkgs/development/tools/profiling/malt/default.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ stdenv, lib
|
||||
, fetchFromGitHub
|
||||
, cmake, nodejs, libelf, libunwind
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "malt";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "memtt";
|
||||
repo = "malt";
|
||||
rev = "v${version}";
|
||||
sha256 = "1yh9gmf7cggf3mx15cwmm99dha34aibkzhnpd0ckl0fkc6w17xqg";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i s,@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@,@CMAKE_INSTALL_LIBDIR@, \
|
||||
src/integration/malt.sh.in
|
||||
sed -i -e 's,^NODE=""$,NODE=${nodejs}/bin/node,' -e s,^detectNodeJS$,, \
|
||||
src/integration/malt-{webview,passwd}.sh.in
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ libelf libunwind ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Memory tool to find where you allocate your memory";
|
||||
homepage = "https://github.com/memtt/malt";
|
||||
license = licenses.cecill-c;
|
||||
maintainers = with maintainers; [ viric ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
49
pkgs/development/tools/profiling/oprofile/default.nix
Normal file
49
pkgs/development/tools/profiling/oprofile/default.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{ lib, stdenv, buildPackages
|
||||
, fetchurl, pkg-config
|
||||
, libbfd, popt, zlib, linuxHeaders, libiberty_static
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "oprofile";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/oprofile/${pname}-${version}.tar.gz";
|
||||
sha256 = "04m46ni0ryk4sqmzd6mahwzp7iwhwqzfbmfi42fki261sycnz83v";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace opjitconv/opjitconv.c \
|
||||
--replace "/bin/rm" "${buildPackages.coreutils}/bin/rm" \
|
||||
--replace "/bin/cp" "${buildPackages.coreutils}/bin/cp"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ libbfd zlib popt linuxHeaders libiberty_static ];
|
||||
|
||||
configureFlags = [
|
||||
"--with-kernel=${linuxHeaders}"
|
||||
"--disable-shared" # needed because only the static libbfd is available
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "System-wide profiler for Linux";
|
||||
longDescription = ''
|
||||
OProfile is a system-wide profiler for Linux systems, capable of
|
||||
profiling all running code at low overhead. It consists of a
|
||||
kernel driver and a daemon for collecting sample data, and
|
||||
several post-profiling tools for turning data into information.
|
||||
|
||||
OProfile leverages the hardware performance counters of the CPU
|
||||
to enable profiling of a wide variety of interesting statistics,
|
||||
which can also be used for basic time-spent profiling. All code
|
||||
is profiled: hardware and software interrupt handlers, kernel
|
||||
modules, the kernel, shared libraries, and applications.
|
||||
'';
|
||||
license = lib.licenses.gpl2;
|
||||
homepage = "http://oprofile.sourceforge.net/";
|
||||
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
44
pkgs/development/tools/profiling/pprof/default.nix
Normal file
44
pkgs/development/tools/profiling/pprof/default.nix
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "pprof";
|
||||
version = "unstable-2022-05-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "pprof";
|
||||
rev = "59ca7ad80af3faf4f87f4d82ff02f5d390c08ed6";
|
||||
sha256 = "0jni73ila3glg7rl11v0al947d94dd0syhkjqnliaryh8dkxbx80";
|
||||
};
|
||||
|
||||
vendorSha256 = "0vr8jp3kxgadb73g67plfrl5dkxfwrxaxjs664918jssy25vyk2y";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool for visualization and analysis of profiling data";
|
||||
homepage = "https://github.com/google/pprof";
|
||||
license = licenses.asl20;
|
||||
longDescription = ''
|
||||
pprof reads a collection of profiling samples in profile.proto format and
|
||||
generates reports to visualize and help analyze the data. It can generate
|
||||
both text and graphical reports (through the use of the dot visualization
|
||||
package).
|
||||
|
||||
profile.proto is a protocol buffer that describes a set of callstacks and
|
||||
symbolization information. A common usage is to represent a set of sampled
|
||||
callstacks from statistical profiling. The format is described on the
|
||||
proto/profile.proto file. For details on protocol buffers, see
|
||||
https://developers.google.com/protocol-buffers
|
||||
|
||||
Profiles can be read from a local file, or over http. Multiple profiles of
|
||||
the same type can be aggregated or compared.
|
||||
|
||||
If the profile samples contain machine addresses, pprof can symbolize them
|
||||
through the use of the native binutils tools (addr2line and nm).
|
||||
|
||||
This is not an official Google product.
|
||||
'';
|
||||
};
|
||||
}
|
||||
32
pkgs/development/tools/profiling/sysprof/capture.nix
Normal file
32
pkgs/development/tools/profiling/sysprof/capture.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, stdenv
|
||||
, meson
|
||||
, ninja
|
||||
, sysprof
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libsysprof-capture";
|
||||
|
||||
inherit (sysprof) src version;
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dwith_sysprofd=none"
|
||||
"-Dlibsysprof=false"
|
||||
"-Dlibunwind=false"
|
||||
"-Dhelp=false"
|
||||
"-Denable_tools=false"
|
||||
"-Denable_tests=false"
|
||||
"-Denable_examples=false"
|
||||
];
|
||||
|
||||
meta = sysprof.meta // {
|
||||
description = "Static library for Sysprof capture data generation";
|
||||
license = lib.licenses.bsd2Patent;
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
84
pkgs/development/tools/profiling/sysprof/default.nix
Normal file
84
pkgs/development/tools/profiling/sysprof/default.nix
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, desktop-file-utils
|
||||
, fetchurl
|
||||
, gettext
|
||||
, glib
|
||||
, gtk3
|
||||
, json-glib
|
||||
, itstool
|
||||
, libdazzle
|
||||
, libunwind
|
||||
, libxml2
|
||||
, meson
|
||||
, ninja
|
||||
, pango
|
||||
, pkg-config
|
||||
, polkit
|
||||
, shared-mime-info
|
||||
, systemd
|
||||
, wrapGAppsHook
|
||||
, gnome
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sysprof";
|
||||
version = "3.44.0";
|
||||
|
||||
outputs = [ "out" "lib" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "q12fW3GXOzCI1Yob/fHcI8OaAvX85OXpxz4DSxeLAFs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils
|
||||
gettext
|
||||
itstool
|
||||
libxml2
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
shared-mime-info
|
||||
wrapGAppsHook
|
||||
gnome.adwaita-icon-theme
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
json-glib
|
||||
pango
|
||||
polkit
|
||||
systemd
|
||||
libdazzle
|
||||
libunwind
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dsystemdunitdir=lib/systemd/system"
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
versionPolicy = "odd-unstable";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "System-wide profiler for Linux";
|
||||
homepage = "https://wiki.gnome.org/Apps/Sysprof";
|
||||
longDescription = ''
|
||||
Sysprof is a sampling CPU profiler for Linux that uses the perf_event_open
|
||||
system call to profile the entire system, not just a single
|
||||
application. Sysprof handles shared libraries and applications
|
||||
do not need to be recompiled. In fact they don't even have to
|
||||
be restarted.
|
||||
'';
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = teams.gnome.members;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
58
pkgs/development/tools/profiling/systemtap/default.nix
Normal file
58
pkgs/development/tools/profiling/systemtap/default.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
{ lib, fetchgit, pkg-config, gettext, runCommand, makeWrapper
|
||||
, cpio, elfutils, kernel, gnumake, python3
|
||||
}:
|
||||
|
||||
let
|
||||
## fetchgit info
|
||||
url = "git://sourceware.org/git/systemtap.git";
|
||||
rev = "release-${version}";
|
||||
sha256 = "sha256-3LgqMBCnUG2UmsekaIvV43lBpSPEocEXmFV9WpE7wE0=";
|
||||
version = "4.5";
|
||||
|
||||
inherit (kernel) stdenv;
|
||||
|
||||
## stap binaries
|
||||
stapBuild = stdenv.mkDerivation {
|
||||
pname = "systemtap";
|
||||
inherit version;
|
||||
src = fetchgit { inherit url rev sha256; };
|
||||
nativeBuildInputs = [ pkg-config cpio python3 python3.pkgs.setuptools ];
|
||||
buildInputs = [ elfutils gettext ];
|
||||
enableParallelBuilding = true;
|
||||
};
|
||||
|
||||
## a kernel build dir as expected by systemtap
|
||||
kernelBuildDir = runCommand "kbuild-${kernel.version}-merged" { } ''
|
||||
mkdir -p $out
|
||||
for f in \
|
||||
${kernel}/System.map \
|
||||
${kernel.dev}/vmlinux \
|
||||
${kernel.dev}/lib/modules/${kernel.modDirVersion}/build/{*,.*}
|
||||
do
|
||||
ln -s $(readlink -f $f) $out
|
||||
done
|
||||
'';
|
||||
|
||||
pypkgs = with python3.pkgs; makePythonPath [ pyparsing ];
|
||||
|
||||
in runCommand "systemtap-${kernel.version}-${version}" {
|
||||
inherit stapBuild kernelBuildDir;
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
meta = {
|
||||
homepage = "https://sourceware.org/systemtap/";
|
||||
description = "Provides a scripting language for instrumentation on a live kernel plus user-space";
|
||||
license = lib.licenses.gpl2;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
} ''
|
||||
mkdir -p $out/bin
|
||||
for bin in $stapBuild/bin/*; do
|
||||
ln -s $bin $out/bin
|
||||
done
|
||||
rm $out/bin/stap $out/bin/dtrace
|
||||
makeWrapper $stapBuild/bin/stap $out/bin/stap \
|
||||
--add-flags "-r $kernelBuildDir" \
|
||||
--prefix PATH : ${lib.makeBinPath [ stdenv.cc.cc stdenv.cc.bintools elfutils gnumake ]}
|
||||
makeWrapper $stapBuild/bin/dtrace $out/bin/dtrace \
|
||||
--prefix PYTHONPATH : ${pypkgs}
|
||||
''
|
||||
Loading…
Add table
Add a link
Reference in a new issue