nixpkgs/pkgs/applications/audio/surge/default.nix

59 lines
1.9 KiB
Nix
Raw Normal View History

2020-03-11 09:05:29 +00:00
{ stdenv, fetchFromGitHub, premake5, pkgconfig, cmake
,cairo, libxkbcommon, libxcb, xcb-util-cursor, xcbutilkeysyms, ncurses, which, getopt
2020-08-28 11:47:04 +00:00
,python, gnome3, lato, pcre, libpthreadstubs, libXdmcp, xcbutilrenderutil, xcbutilimage, libsndfile }:
2020-03-11 09:05:29 +00:00
stdenv.mkDerivation rec {
pname = "surge";
2020-08-28 11:47:04 +00:00
version = "1.7.1";
2020-03-11 09:05:29 +00:00
src = fetchFromGitHub {
owner = "surge-synthesizer";
repo = pname;
rev = "release_${version}";
2020-08-28 11:47:04 +00:00
sha256 = "1jhk8iaqh89dnci4446b47315v2lc8gclraygk8m9jl20zpjxl0l";
2020-03-11 09:05:29 +00:00
fetchSubmodules = true;
};
nativeBuildInputs = [ premake5 pkgconfig cmake ncurses which getopt python ];
2020-08-28 11:47:04 +00:00
buildInputs = [ cairo libxkbcommon libxcb xcb-util-cursor xcbutilkeysyms gnome3.zenity lato pcre libpthreadstubs libXdmcp xcbutilrenderutil xcbutilimage libsndfile ];
2020-03-11 09:05:29 +00:00
buildFlags = [ "config=release_x64" ];
enableParallelBuilding = true;
patchPhase = ''
patchShebangs build-linux.sh
substituteInPlace src/common/SurgeStorage.cpp --replace "/usr/share/Surge" "$out/share/surge"
substituteInPlace src/linux/UserInteractionsLinux.cpp --replace 'execlp("zenity"' 'execlp("${gnome3.zenity}/bin/zenity"'
substituteInPlace src/common/gui/PopupEditorDialog.cpp --replace zenity ${gnome3.zenity}/bin/zenity
'';
2020-08-28 11:47:04 +00:00
buildPhase = ''
./build-linux.sh build;
'';
2020-03-11 09:05:29 +00:00
installPhase = ''
mkdir -p $out/lib/lv2
2020-08-28 11:47:04 +00:00
cp -r buildlin/surge_products/Surge.lv2/ $out/lib/lv2
mkdir -p $out/lib/vst3
cp -r buildlin/surge_products/Surge.vst3/ $out/lib/vst3
2020-03-11 09:05:29 +00:00
mkdir -p $out/share/surge
cp -r resources/data/* $out/share/surge/
'';
doInstallCheck = true;
installCheckPhase = ''
./build-linux.sh build -p headless
2020-08-28 11:47:04 +00:00
./buildlin/surge-headless
2020-03-11 09:05:29 +00:00
'';
meta = with stdenv.lib; {
description = "LV2 & VST Synthesizer plug-in (previously released as Vember Audio Surge)";
homepage = "https://surge-synthesizer.github.io";
license = licenses.gpl3;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ magnetophon ];
};
}