about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorOrivej Desh (NixOS) <40807862+orivej-nixos@users.noreply.github.com>2020-09-02 05:10:47 +0000
committerGitHub <noreply@github.com>2020-09-02 05:10:47 +0000
commitae5bd28035d3c0dc96f5118721ca28ba29dc50c6 (patch)
treed5ea9371dff5b2d1c4e20b75dce507f8ba69a731 /pkgs
parent1a68e21d474c5d6005812459c9bce28168625384 (diff)
parent018f0862ba57c7d76573eb22bba90dc934800388 (diff)
Merge pull request #82308 from magnetophon/surge
surge: init at 1.7.1
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/surge/default.nix48
-rw-r--r--pkgs/top-level/all-packages.nix5
2 files changed, 53 insertions, 0 deletions
diff --git a/pkgs/applications/audio/surge/default.nix b/pkgs/applications/audio/surge/default.nix
new file mode 100644
index 0000000000000..1614bbfae6678
--- /dev/null
+++ b/pkgs/applications/audio/surge/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchFromGitHub, cmake, git, pkg-config, python3
+, cairo, libsndfile, libxcb, libxkbcommon, xcbutil, xcbutilcursor, xcbutilkeysyms, zenity
+}:
+
+stdenv.mkDerivation rec {
+  pname = "surge";
+  version = "1.7.1";
+
+  src = fetchFromGitHub {
+    owner = "surge-synthesizer";
+    repo = pname;
+    rev = "release_${version}";
+    sha256 = "1b3ccc78vrpzy18w7070zfa250dnd1bww147xxcnj457vd6n065s";
+    leaveDotGit = true; # for SURGE_VERSION
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake git pkg-config python3 ];
+  buildInputs = [ cairo libsndfile libxcb libxkbcommon xcbutil xcbutilcursor xcbutilkeysyms zenity ];
+
+  postPatch = ''
+    substituteInPlace src/common/SurgeStorage.cpp --replace "/usr/share/Surge" "$out/share/surge"
+    substituteInPlace src/common/gui/PopupEditorDialog.cpp --replace '"zenity' '"${zenity}/bin/zenity'
+    substituteInPlace src/linux/UserInteractionsLinux.cpp --replace '"zenity' '"${zenity}/bin/zenity'
+    substituteInPlace vstgui.surge/vstgui/lib/platform/linux/x11fileselector.cpp --replace /usr/bin/zenity ${zenity}/bin/zenity
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib/lv2 $out/lib/vst3 $out/share/surge
+    cp -r surge_products/Surge.lv2 $out/lib/lv2/
+    cp -r surge_products/Surge.vst3 $out/lib/vst3/
+    cp -r ../resources/data/* $out/share/surge/
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    cd ..
+    build/surge-headless
+  '';
+
+  meta = with stdenv.lib; {
+    description = "LV2 & VST3 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 orivej ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 85a8dadf4d994..ae612d83797e3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -23135,6 +23135,11 @@ in
 
   surf-display = callPackage ../desktops/surf-display { };
 
+  surge = callPackage ../applications/audio/surge {
+    inherit (gnome3) zenity;
+    git = gitMinimal;
+  };
+
   sunvox = callPackage ../applications/audio/sunvox { };
 
   swh_lv2 = callPackage ../applications/audio/swh-lv2 { };