From 308bb1462b42349817782e2b11b1d32886c05173 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 4 Mar 2024 00:54:47 -0800 Subject: [PATCH] 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`. --- pkgs/applications/audio/lv2lint/default.nix | 28 ++++++++++++++------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/audio/lv2lint/default.nix b/pkgs/applications/audio/lv2lint/default.nix index cc840722cdb9..85d373390562 100644 --- a/pkgs/applications/audio/lv2lint/default.nix +++ b/pkgs/applications/audio/lv2lint/default.nix @@ -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"; }; -} +})