sfizz-ui: new package, to reflect the upstream split of sfizz (#457744)

This commit is contained in:
Gaétan Lepage
2025-12-15 10:25:18 +00:00
committed by GitHub
2 changed files with 110 additions and 0 deletions
+6
View File
@@ -12777,6 +12777,12 @@
github = "jonocodes";
githubId = 1310468;
};
joostn = {
name = "Joost Nieuwenhuijse";
email = "joost@newhouse.nl";
github = "joostn";
githubId = 1309157;
};
jopejoe1 = {
email = "nixpkgs@missing.ninja";
matrix = "@jopejoe1:matrix.org";
+104
View File
@@ -0,0 +1,104 @@
{
lib,
stdenv,
fetchFromGitHub,
libjack2,
libsndfile,
xorg,
freetype,
libxkbcommon,
cairo,
glib,
zenity,
flac,
libogg,
libvorbis,
libopus,
cmake,
pango,
pkg-config,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "sfizz-ui";
version = "1.2.3";
src = fetchFromGitHub {
owner = "sfztools";
repo = "sfizz-ui";
rev = finalAttrs.version;
# Upstream requires submodules:
# VST3_SDK, vstgui4, sfzt_auwrapper and sfizz
fetchSubmodules = true;
hash = "sha256-Rf1i+tu91bqzO1wWJi7mw2BvbX9K0mDNPqsTUoqPd4U=";
};
buildInputs = [
cairo
flac
freetype
glib
libjack2
libogg
libopus
libsndfile
libvorbis
libxkbcommon
pango
xorg.libX11
xorg.libXau
xorg.libxcb
xorg.libXdmcp
xorg.xcbutil
xorg.xcbutilcursor
xorg.xcbutilimage
xorg.xcbutilkeysyms
xorg.xcbutilrenderutil
zenity
];
nativeBuildInputs = [
cmake
pkg-config
];
cmakeFlags = [
(lib.cmakeBool "SFIZZ_TESTS" true)
];
doCheck = true;
postPatch = ''
# Hard code zenity path (1/2):
substituteInPlace plugins/editor/src/editor/NativeHelpers.cpp \
--replace-fail \
'auto glibPath = g_find_program_in_path("zenity");' \
'auto glibPath = g_strdup("${lib.getExe zenity}");'
# Hard code zenity path (2/2):
substituteInPlace plugins/editor/external/vstgui4/vstgui/lib/platform/linux/x11fileselector.cpp \
--replace-fail \
'zenitypath = "zenity"' \
'zenitypath = "${lib.getExe zenity}"'
# Fix compilation error in GCC 14:
# https://github.com/sfztools/vstgui/pull/5
# https://github.com/steinbergmedia/vstgui/issues/324
# This has been upstreamed into master, remove when we switch to a newer upstream version.
substituteInPlace plugins/editor/external/vstgui4/vstgui/lib/finally.h \
--replace-fail \
"other.invoke (false);" \
"other.invoke = false;"
'';
meta = {
description = "SFZ based sampler, providing AU / LV2 / PD / VST3 plugins using the sfizz library";
homepage = "https://github.com/sfztools/sfizz-ui/";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [
joostn
magnetophon
];
platforms = lib.platforms.linux;
};
})