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:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View 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; [ ];
};
}

View 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;
};
}

View 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;
};
}

View 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 = [ ];
};
}

View 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.
'';
};
}

View 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;
};
}

View 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;
};
}

View 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}
''