zlequalizer: init at 1.0.0 (#459902)
This commit is contained in:
120
pkgs/by-name/zl/zlequalizer/package.nix
Normal file
120
pkgs/by-name/zl/zlequalizer/package.nix
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
clangStdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
|
||||||
|
# nativeBuildInputs
|
||||||
|
cmake,
|
||||||
|
darwin,
|
||||||
|
ninja,
|
||||||
|
pkg-config,
|
||||||
|
writableTmpDirAsHomeHook,
|
||||||
|
|
||||||
|
# buildInputs
|
||||||
|
alsa-lib,
|
||||||
|
curl,
|
||||||
|
expat,
|
||||||
|
fontconfig,
|
||||||
|
freetype,
|
||||||
|
libGL,
|
||||||
|
libXcursor,
|
||||||
|
libXext,
|
||||||
|
libXinerama,
|
||||||
|
libXrandr,
|
||||||
|
libepoxy,
|
||||||
|
libjack2,
|
||||||
|
libxkbcommon,
|
||||||
|
lv2,
|
||||||
|
}:
|
||||||
|
|
||||||
|
clangStdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "zlequalizer";
|
||||||
|
version = "1.0.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ZL-Audio";
|
||||||
|
repo = "ZLEqualizer";
|
||||||
|
tag = "${finalAttrs.version}";
|
||||||
|
hash = "sha256-9TmvjBXTrvR0+qnGDFhCczanxiry3d43QVn/pJLUREY=";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
writableTmpDirAsHomeHook
|
||||||
|
]
|
||||||
|
++ lib.optionals clangStdenv.hostPlatform.isDarwin [ darwin.sigtool ];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
curl
|
||||||
|
expat
|
||||||
|
fontconfig
|
||||||
|
freetype
|
||||||
|
lv2
|
||||||
|
]
|
||||||
|
++ lib.optionals clangStdenv.hostPlatform.isLinux [
|
||||||
|
alsa-lib
|
||||||
|
libGL
|
||||||
|
libXcursor
|
||||||
|
libXext
|
||||||
|
libXinerama
|
||||||
|
libXrandr
|
||||||
|
libepoxy
|
||||||
|
libjack2
|
||||||
|
libxkbcommon
|
||||||
|
];
|
||||||
|
|
||||||
|
# JUCE dlopen's these at runtime, crashes without them
|
||||||
|
NIX_LDFLAGS = lib.optionalString clangStdenv.hostPlatform.isLinux (toString [
|
||||||
|
"-lX11"
|
||||||
|
"-lXext"
|
||||||
|
"-lXcursor"
|
||||||
|
"-lXinerama"
|
||||||
|
"-lXrandr"
|
||||||
|
]);
|
||||||
|
|
||||||
|
# LTO needs special setup on Linux
|
||||||
|
postPatch = lib.optionalString clangStdenv.hostPlatform.isLinux ''
|
||||||
|
substituteInPlace CMakeLists.txt \
|
||||||
|
--replace-fail 'juce::juce_recommended_lto_flags' '# Not forcing LTO'
|
||||||
|
'';
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
# see: https://github.com/ZL-Audio/ZLEqualizer#clone-and-build
|
||||||
|
(lib.cmakeFeature "KFR_ARCHS" (
|
||||||
|
if clangStdenv.hostPlatform.isAarch64 then "neon64" else "sse2;avx;avx2"
|
||||||
|
))
|
||||||
|
(lib.cmakeBool "ZL_JUCE_COPY_PLUGIN" false)
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
''
|
||||||
|
+ lib.optionalString clangStdenv.hostPlatform.isLinux ''
|
||||||
|
mkdir -p $out/lib/{lv2,vst3}
|
||||||
|
mkdir -p $out/bin/
|
||||||
|
cp -r "ZLEqualizer_artefacts/Release/LV2/ZL Equalizer 2.lv2" $out/lib/lv2/
|
||||||
|
cp -r "ZLEqualizer_artefacts/Release/VST3/ZL Equalizer 2.vst3" $out/lib/vst3/
|
||||||
|
install -Dm755 "ZLEqualizer_artefacts/Release/Standalone/ZL Equalizer 2" $out/bin/
|
||||||
|
''
|
||||||
|
+ lib.optionalString clangStdenv.hostPlatform.isDarwin ''
|
||||||
|
mkdir -p $out/Applications
|
||||||
|
cp -r ZLEqualizer_artefacts/Release/{AU,VST3} $out/
|
||||||
|
cp -r ZLEqualizer_artefacts/Release/Standalone/* $out/Applications/
|
||||||
|
''
|
||||||
|
+ ''
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://zl-audio.github.io/plugins/zlequalizer2/";
|
||||||
|
description = "Versatile equalizer plugin for VST3, LV2 and standalone";
|
||||||
|
license = lib.licenses.agpl3Plus;
|
||||||
|
maintainers = with lib.maintainers; [
|
||||||
|
magnetophon
|
||||||
|
];
|
||||||
|
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||||
|
};
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user