lv2lint: fix build and update to libelf (#292904)

* lv2lint: fix build and switch to elfutils

1. The homepage and source had rotted. Update to the new ones, and use `fetchFromSourcehut`.
2. The package didn't (and to the best of my trying, won't) build on Darwin, so mark it as `platforms = platforms.linux;`
3. The appropriate Meson flags for turning on the possible lint tests weren't set. Set them and enable the features if possible.
4. Switch from using unmaintained `libelf` to `elfutils`.
This commit is contained in:
Philip Taron 2024-03-04 00:54:47 -08:00 committed by GitHub
parent 40bebc8749
commit 308bb1462b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,23 +1,33 @@
{ stdenv, lib, fetchurl, pkg-config, meson, ninja, lv2, lilv, curl, libelf }:
{ stdenv, lib, fetchFromSourcehut, pkg-config, meson, ninja, lv2, lilv, curl, elfutils, xorg }:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "lv2lint";
version = "0.16.2";
src = fetchurl {
url = "https://git.open-music-kontrollers.ch/lv2/${pname}/snapshot/${pname}-${version}.tar.xz";
sha256 = "sha256-sjgQVx8uGNPWcUwKzGUhChpfzXj/8D8cggVTpcHEXPQ=";
src = fetchFromSourcehut {
domain = "open-music-kontrollers.ch";
owner = "~hp";
repo = "lv2lint";
rev = finalAttrs.version;
hash = "sha256-NkzbKteLZ+P+Py+CMOYYipvu6psDslWnM1MAV1XB0TM=";
};
nativeBuildInputs = [ pkg-config meson ninja ];
buildInputs = [ lv2 lilv curl libelf ];
buildInputs = [ lv2 lilv curl elfutils xorg.libX11 ];
mesonFlags = [
(lib.mesonEnable "online-tests" true)
(lib.mesonEnable "elf-tests" true)
(lib.mesonEnable "x11-tests" true)
];
meta = with lib; {
description = "Check whether a given LV2 plugin is up to the specification";
homepage = "https://open-music-kontrollers.ch/lv2/${pname}:";
homepage = "https://git.open-music-kontrollers.ch/~hp/lv2lint";
license = licenses.artistic2;
maintainers = [ maintainers.magnetophon ];
platforms = platforms.all;
platforms = platforms.linux;
mainProgram = "lv2lint";
};
}
})