depot/third_party/nixpkgs/pkgs/by-name/ba/babeltrace2/package.nix
Default email bcb2f287e1 Project import generated by Copybara.
GitOrigin-RevId: d603719ec6e294f034936c0d0dc06f689d91b6c3
2024-06-20 20:27:18 +05:30

101 lines
2.4 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
autoreconfHook,
pkg-config,
glib,
elfutils,
bison,
flex,
asciidoc,
xmlto,
docbook_xml_dtd_45,
docbook_xsl,
enablePython ? false,
python ? null,
pythonPackages ? null,
swig,
ensureNewerSourcesForZipFilesHook,
}:
stdenv.mkDerivation rec {
pname = "babeltrace2";
version = "2.0.6";
src = fetchFromGitHub {
owner = "efficios";
repo = "babeltrace";
rev = "v${version}";
hash = "sha256-L4YTqPxvWynUBnmAQnlJ2RNbEv9MhBxQOsqbWix8ZwU=";
};
patches = [
# Patches needed for Python 3.12
(fetchpatch {
# python: Use standalone 'sysconfig' module
url = "https://github.com/efficios/babeltrace/commit/452480eb6820df9973d50431a479ca547815ae08.patch";
hash = "sha256-YgUKHJzdliNUsTY29E0xxcUjqVWn4EvxyTs0B+O+jrI=";
})
(fetchpatch {
# python: replace distutils with setuptools
url = "https://github.com/efficios/babeltrace/commit/6ec97181a525a3cd64cedbcd0df905ed9e84ba03.patch";
hash = "sha256-1hlEkPcRUpf2+iEXqHXcCDOaLTg+eaVcahqZlA8m5QY=";
})
(fetchpatch {
# fix: python: monkey patch the proper sysconfig implementation
url = "https://github.com/efficios/babeltrace/commit/927263e4ea62877af7240cfdb1514ae949dbfc2e.patch";
hash = "sha256-HNRQ7uw26FUKCQ/my6//OL2xsHdOGlQUq5zIKtg9OGw=";
})
];
outputs = [
"out"
"man"
"dev"
];
nativeBuildInputs =
[
autoreconfHook
pkg-config
glib
bison
flex
asciidoc
xmlto
docbook_xml_dtd_45
docbook_xsl
]
++ lib.optionals enablePython [
swig
pythonPackages.setuptools
ensureNewerSourcesForZipFilesHook
];
buildInputs = [
glib
elfutils
] ++ lib.optional enablePython python;
configureFlags = [
(lib.enableFeature enablePython "python-bindings")
(lib.enableFeature enablePython "python-plugins")
(lib.enableFeature (stdenv.hostPlatform == stdenv.buildPlatform) "debug-info")
];
# For cross-compilation of Python bindings
makeFlags = [ "CFLAGS=-Wno-error=stringop-truncation -Wno-error=null-dereference" ];
enableParallelBuilding = true;
meta = {
description = "Babeltrace /ˈbæbəltreɪs/ is an open-source trace manipulation toolkit";
homepage = "https://babeltrace.org";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ wentasah ];
mainProgram = "babeltrace2";
platforms = lib.platforms.all;
};
}