diff --git a/pkgs/by-name/lt/lttng-ust/package.nix b/pkgs/by-name/lt/lttng-ust/package.nix index 4b5cb17a9c7f..b2f4b71e4535 100644 --- a/pkgs/by-name/lt/lttng-ust/package.nix +++ b/pkgs/by-name/lt/lttng-ust/package.nix @@ -1,11 +1,16 @@ { lib, stdenv, - fetchurl, + fetchFromGitHub, + autoreconfHook, pkg-config, + asciidoc, + xmlto, liburcu, numactl, python3, + testers, + nix-update-script, }: # NOTE: @@ -19,13 +24,15 @@ # # Debian builds with std.h (systemtap). -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "lttng-ust"; - version = "2.13.8"; + version = "2.13.9"; - src = fetchurl { - url = "https://lttng.org/files/lttng-ust/${pname}-${version}.tar.bz2"; - sha256 = "sha256-1O+Y2rmjetT1JMyv39UK9PJmA5tSjdWvq8545JAk2Tc="; + src = fetchFromGitHub { + owner = "lttng"; + repo = "lttng-ust"; + tag = "v${finalAttrs.version}"; + hash = "sha256-iwMhXUH569ey16C8F4HzU1ebZbn1oyDWOGpSIIokuGA="; }; outputs = [ @@ -35,35 +42,64 @@ stdenv.mkDerivation rec { "devdoc" ]; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + asciidoc + xmlto + ]; + + propagatedBuildInputs = [ liburcu ]; + buildInputs = [ numactl python3 ]; + postPatch = '' + # to build the manpages, xmlto uses xmllint which tries to fetch a dtd schema + # from the internet - just don't validate to work around this + substituteInPlace doc/man/Makefile.am \ + --replace-fail '$(XMLTO)' '$(XMLTO) --skip-validation' + ''; + preConfigure = '' patchShebangs . ''; - hardeningDisable = [ "trivialautovarinit" ]; - configureFlags = [ "--disable-examples" ]; - propagatedBuildInputs = [ liburcu ]; + doCheck = true; + + strictDeps = true; enableParallelBuilding = true; - meta = with lib; { + passthru = { + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "v(.+)" + ]; + }; + }; + + meta = { description = "LTTng Userspace Tracer libraries"; mainProgram = "lttng-gen-tp"; homepage = "https://lttng.org/"; - license = with licenses; [ + changelog = "https://github.com/lttng/lttng-ust/blob/v${finalAttrs.version}/ChangeLog"; + license = with lib.licenses; [ lgpl21Only gpl2Only mit ]; - platforms = lib.intersectLists platforms.linux liburcu.meta.platforms; - maintainers = [ maintainers.bjornfor ]; + platforms = lib.intersectLists lib.platforms.linux liburcu.meta.platforms; + pkgConfigModules = [ + "lttng-ust-ctl" + "lttng-ust" + ]; + maintainers = [ lib.maintainers.bjornfor ]; }; - -} +})