diff --git a/pkgs/development/libraries/libndctl/default.nix b/pkgs/development/libraries/libndctl/default.nix index 6e82191e7558..d2ccec80a570 100644 --- a/pkgs/development/libraries/libndctl/default.nix +++ b/pkgs/development/libraries/libndctl/default.nix @@ -1,50 +1,76 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook -, asciidoc, pkg-config, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt -, json_c, kmod, which, util-linux, udev, keyutils +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + asciidoctor, + iniparser, + json_c, + keyutils, + kmod, + udev, + util-linux, }: stdenv.mkDerivation rec { pname = "libndctl"; - version = "71.1"; + version = "79"; src = fetchFromGitHub { - owner = "pmem"; - repo = "ndctl"; - rev = "v${version}"; - sha256 = "sha256-osux3DiKRh8ftHwyfFI+WSFx20+yJsg1nVx5nuoKJu4="; + owner = "pmem"; + repo = "ndctl"; + rev = "v${version}"; + sha256 = "sha256-gG1Rz5AtDLzikGFr8A3l25ypd+VoLw2oWjszy9ogDLk="; }; - outputs = [ "out" "lib" "man" "dev" ]; + outputs = [ + "out" + "man" + "dev" + ]; - nativeBuildInputs = - [ autoreconfHook asciidoc pkg-config xmlto docbook_xml_dtd_45 docbook_xsl libxslt - which - ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + asciidoctor + ]; - buildInputs = - [ json_c kmod util-linux udev keyutils - ]; + buildInputs = [ + iniparser + json_c + keyutils + kmod + udev + util-linux + ]; - configureFlags = - [ "--without-bash" - "--without-systemd" - "--disable-asciidoctor" # depends on ruby 2.7, use asciidoc instead - ]; + mesonFlags = [ + (lib.mesonOption "rootprefix" "${placeholder "out"}") + (lib.mesonOption "sysconfdir" "${placeholder "out"}/etc/ndctl.conf.d") + (lib.mesonEnable "libtracefs" false) + # Use asciidoctor due to xmlto errors + (lib.mesonEnable "asciidoctor" true) + (lib.mesonEnable "systemd" false) + (lib.mesonOption "iniparserdir" "${iniparser}") + ]; - patchPhase = '' + postPatch = '' patchShebangs test - substituteInPlace git-version --replace /bin/bash ${stdenv.shell} - substituteInPlace git-version-gen --replace /bin/sh ${stdenv.shell} + substituteInPlace git-version --replace-fail /bin/bash ${stdenv.shell} + substituteInPlace git-version-gen --replace-fail /bin/sh ${stdenv.shell} echo "m4_define([GIT_VERSION], [${version}])" > version.m4; ''; - meta = with lib; { + meta = { description = "Tools for managing the Linux Non-Volatile Memory Device sub-system"; - homepage = "https://github.com/pmem/ndctl"; - license = licenses.lgpl21; - maintainers = with maintainers; [ thoughtpolice ]; - platforms = platforms.linux; + homepage = "https://github.com/pmem/ndctl"; + license = lib.licenses.lgpl21; + maintainers = with lib.maintainers; [ thoughtpolice ]; + platforms = lib.platforms.linux; }; }