nixpkgs/pkgs/by-name/ja/jackass/package.nix
2024-03-05 15:36:33 -08:00

67 lines
1.9 KiB
Nix

{ lib, stdenv, fetchFromGitHub, fetchzip, pkg-config, wine64, enableJackAssWine64 ? false }:
let
# equal to vst-sdk in ../oxefmsynth/default.nix
vst-sdk = stdenv.mkDerivation (finalAttrs: {
name = "vstsdk3610_11_06_2018_build_37";
src = fetchzip {
url = "https://web.archive.org/web/20181016150224if_/https://download.steinberg.net/sdk_downloads/${finalAttrs.name}.zip";
hash = "sha256-cjYakxnqSDqSZ32FPK3OUhDpslOlavHh5SAVpng0QTU=";
};
installPhase = ''
runHook preInstall
cp -r . $out
runHook postInstall
'';
});
in
stdenv.mkDerivation (finalAttrs: {
pname = "jackass";
version = "1.1";
src = fetchFromGitHub {
owner = "falkTX";
repo = "JackAss";
rev = "v${finalAttrs.version}";
hash = "sha256-6mqG4H6iGvDbGnmMeP/vcvSnvUGClZUl06XpKovt50E=";
};
postPatch = ''
cp -r ${vst-sdk}/VST2_SDK/{public.sdk,pluginterfaces} vstsdk2.4
'';
nativeBuildInputs = [ pkg-config ] ++ lib.optionals enableJackAssWine64 [ wine64 ];
makeFlags = [ "linux" ] ++ lib.optionals enableJackAssWine64 [ "wine64" ];
installPhase = ''
runHook preInstall
install_dir="$out/lib/vst"
mkdir -p $install_dir
for file in JackAss.so JackAssWine64.dll; do
if test -f "$file"; then
cp $file $install_dir
fi
done
runHook postInstall
'';
enableParallelBuilding = true;
meta = with lib; {
description = "JackAss is a VST plugin that provides JACK-MIDI support for VST hosts.";
longDescription = ''
Simply load the plugin in your favourite host to get a JACK-MIDI port.
Optionally includes a special Wine build for running in Wine
applications. Set enableJackAssWine64 to true to enable this output.
'';
homepage = "https://github.com/falkTX/JackAss";
maintainers = with maintainers; [ PowerUser64 ];
license = with licenses; [ mit unfree ];
platforms = platforms.linux;
};
})