libtraceevent: switch to meson build system

Changes/benefits:

- Simpler to package
- Test are run during package build
- HTML documentation added to the doc output
This commit is contained in:
Michal Sojka 2023-06-17 00:06:38 +02:00
parent 65a6969246
commit 91785f14b4

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchgit, pkg-config, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, coreutils }:
{ lib, stdenv, fetchgit, pkg-config, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, meson, ninja, cunit }:
stdenv.mkDerivation rec {
pname = "libtraceevent";
@ -10,24 +10,18 @@ stdenv.mkDerivation rec {
sha256 = "sha256-poF+Cqcdj0KIgEJWW7XDAlRLz2/Egi948s1M24ETvBo=";
};
# Don't build and install html documentation
postPatch = ''
sed -i -e '/^all:/ s/html//' -e '/^install:/ s/install-html//' Documentation/Makefile
substituteInPlace scripts/utils.mk --replace /bin/pwd ${coreutils}/bin/pwd
patchShebangs --build check-manpages.sh
chmod +x Documentation/install-docs.sh.in
patchShebangs --build check-manpages.sh Documentation/install-docs.sh.in
'';
outputs = [ "out" "dev" "devman" ];
enableParallelBuilding = true;
nativeBuildInputs = [ pkg-config asciidoc xmlto docbook_xml_dtd_45 docbook_xsl ];
makeFlags = [
"prefix=${placeholder "out"}"
"doc" # build docs
];
installFlags = [
"pkgconfig_dir=${placeholder "out"}/lib/pkgconfig"
"doc-install"
];
outputs = [ "out" "dev" "devman" "doc" ];
nativeBuildInputs = [ meson ninja pkg-config asciidoc xmlto docbook_xml_dtd_45 docbook_xsl ];
ninjaFlags = [ "all" "docs" ];
doCheck = true;
checkInputs = [ cunit ];
meta = with lib; {
description = "Linux kernel trace event library";