From 654cc902b2639be539fdc4aafbd017a94cca811e Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 5 Jul 2024 16:22:22 +0200 Subject: [PATCH] suil: 0.10.6 -> 0.10.20 Disables GTK2 support in favor of GTK3 and migrates the build system to Meson. Co-Authored-By: Emily --- .../libraries/audio/suil/default.nix | 68 ++++++++++++++++--- 1 file changed, 58 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix index 6214b65189d3..df63737474eb 100644 --- a/pkgs/development/libraries/audio/suil/default.nix +++ b/pkgs/development/libraries/audio/suil/default.nix @@ -1,20 +1,68 @@ -{ stdenv, lib, fetchurl, gtk2, lv2, pkg-config, python3, serd, sord, sratom -, wafHook -, withQt5 ? true, qt5 ? null +{ + stdenv, + lib, + fetchFromGitLab, + + # build time + pkg-config, + meson, + ninja, + + # runtime + lv2, + + # options + withGtk2 ? false, + gtk2, + withGtk3 ? true, + gtk3, + withQt5 ? true, + qt5, + withX11 ? !stdenv.isDarwin, }: +let + inherit (lib) mesonEnable; +in + stdenv.mkDerivation rec { pname = "suil"; - version = "0.10.6"; + version = "0.10.20"; - src = fetchurl { - url = "https://download.drobilla.net/${pname}-${version}.tar.bz2"; - sha256 = "0z4v01pjw4wh65x38w6icn28wdwxz13ayl8hvn4p1g9kmamp1z06"; + src = fetchFromGitLab { + owner = "lv2"; + repo = "suil"; + rev = "v${version}"; + hash = "sha256-rP8tq+zmHrAZeuNttakPPfraFXNvnwqbhtt+LtTNV/k="; }; - nativeBuildInputs = [ pkg-config wafHook python3 ]; - buildInputs = [ gtk2 lv2 serd sord sratom ] - ++ lib.optionals withQt5 (with qt5; [ qtbase qttools ]); + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + mesonFlags = [ + # docs require sphinxygen + (mesonEnable "docs" false) + (mesonEnable "gtk2" withGtk2) + (mesonEnable "gtk3" withGtk3) + (mesonEnable "qt5" withQt5) + (mesonEnable "x11" withX11) + ]; + + buildInputs = + [ lv2 ] + ++ lib.optionals withGtk2 [ gtk2 ] + ++ lib.optionals withGtk3 [ gtk3 ] + ++ lib.optionals withQt5 ( + with qt5; + [ + qtbase + qttools + ] + ++ lib.optionals withX11 [ qtx11extras ] + ); dontWrapQtApps = true;