mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-16 17:14:00 +00:00
Merge pull request #326176 from xal-0/uftrace-optional-deps
uftrace: add optional dependencies
This commit is contained in:
commit
7d76db3fe5
@ -1,4 +1,17 @@
|
||||
{lib, stdenv, fetchFromGitHub}:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, pandoc
|
||||
, capstone
|
||||
, elfutils
|
||||
, libtraceevent
|
||||
, ncurses
|
||||
, withLuaJIT ? false
|
||||
, luajit
|
||||
, withPython ? false
|
||||
, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "uftrace";
|
||||
@ -11,8 +24,23 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-JuBwyE6JH3CpJH863LbnWELUIIEKVaAcz8h8beeABGQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config pandoc ];
|
||||
buildInputs =
|
||||
[ capstone elfutils libtraceevent ncurses ]
|
||||
++ lib.optional withLuaJIT luajit
|
||||
++ lib.optional withPython python3;
|
||||
|
||||
# libmcount.so dlopens python and luajit, make sure they're in the RUNPATH
|
||||
preBuild =
|
||||
let
|
||||
libs = lib.optional withLuaJIT "luajit" ++ lib.optional withPython "python3-embed";
|
||||
in
|
||||
lib.optionalString (withLuaJIT || withPython) ''
|
||||
makeFlagsArray+=(LDFLAGS_lib="$(pkg-config --libs ${lib.concatStringsSep " " libs})")
|
||||
'';
|
||||
|
||||
postUnpack = ''
|
||||
patchShebangs .
|
||||
patchShebangs .
|
||||
'';
|
||||
|
||||
meta = {
|
||||
@ -21,6 +49,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://github.com/namhyung/uftrace";
|
||||
license = lib.licenses.gpl2;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = [lib.maintainers.nthorne];
|
||||
maintainers = [ lib.maintainers.nthorne ];
|
||||
};
|
||||
}
|
||||
|
@ -13778,6 +13778,11 @@ with pkgs;
|
||||
|
||||
uftrace = callPackage ../development/tools/uftrace { };
|
||||
|
||||
uftraceFull = uftrace.override {
|
||||
withLuaJIT = true;
|
||||
withPython = true;
|
||||
};
|
||||
|
||||
uftpd = callPackage ../servers/ftp/uftpd {};
|
||||
|
||||
uget = callPackage ../tools/networking/uget { };
|
||||
|
Loading…
Reference in New Issue
Block a user