From f68e68497fa6e44a6b7e6e24be918eb94e4025c4 Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Wed, 11 Mar 2020 10:05:29 +0100 Subject: [PATCH 1/3] surge: init at 1.6.6 --- pkgs/applications/audio/surge/default.nix | 59 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 61 insertions(+) create mode 100644 pkgs/applications/audio/surge/default.nix diff --git a/pkgs/applications/audio/surge/default.nix b/pkgs/applications/audio/surge/default.nix new file mode 100644 index 000000000000..014134c43fb7 --- /dev/null +++ b/pkgs/applications/audio/surge/default.nix @@ -0,0 +1,59 @@ +{ stdenv, fetchFromGitHub, premake5, pkgconfig, cmake +,cairo, libxkbcommon, libxcb, xcb-util-cursor, xcbutilkeysyms, ncurses, which, getopt +,python, gnome3, lato }: + +stdenv.mkDerivation rec { + pname = "surge"; + version = "1.6.6"; + + src = fetchFromGitHub { + owner = "surge-synthesizer"; + repo = pname; + rev = "release_${version}"; + sha256 = "0al021f516ybhnp3lhqx8i6c6hpfaw3gqfwwxx3lx3hh4b8kjfjw"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ premake5 pkgconfig cmake ncurses which getopt python ]; + + buildInputs = [ cairo libxkbcommon libxcb xcb-util-cursor xcbutilkeysyms gnome3.zenity lato ]; + + 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 + ''; + + configurePhase = '' + ./build-linux.sh premake + python scripts/linux/emit-vector-piggy.py . + ''; + + installPhase = '' + mkdir -p $out/lib/lv2 + cp -r target/lv2/Release/Surge.lv2/ $out/lib/lv2 + mkdir -p $out/lib/vst + cp target/vst3/Release/Surge.so $out/lib/vst + mkdir -p $out/share/surge + cp -r resources/data/* $out/share/surge/ + ''; + + doInstallCheck = true; + installCheckPhase = '' + ./build-linux.sh build -p headless + ./target/headless/Release/Surge/Surge-Headless + ''; + + 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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 85a8dadf4d99..49c7c45ae274 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23135,6 +23135,8 @@ in surf-display = callPackage ../desktops/surf-display { }; + surge = callPackage ../applications/audio/surge { }; + sunvox = callPackage ../applications/audio/sunvox { }; swh_lv2 = callPackage ../applications/audio/swh-lv2 { }; From e0baa46feac7bd99c07407624ef3edbe29eb8919 Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Fri, 28 Aug 2020 13:47:04 +0200 Subject: [PATCH 2/3] surge: 1.6.6 -> 1.7.1 --- pkgs/applications/audio/surge/default.nix | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/pkgs/applications/audio/surge/default.nix b/pkgs/applications/audio/surge/default.nix index 014134c43fb7..216caec9b1c6 100644 --- a/pkgs/applications/audio/surge/default.nix +++ b/pkgs/applications/audio/surge/default.nix @@ -1,22 +1,22 @@ { stdenv, fetchFromGitHub, premake5, pkgconfig, cmake ,cairo, libxkbcommon, libxcb, xcb-util-cursor, xcbutilkeysyms, ncurses, which, getopt -,python, gnome3, lato }: +,python, gnome3, lato, pcre, libpthreadstubs, libXdmcp, xcbutilrenderutil, xcbutilimage, libsndfile }: stdenv.mkDerivation rec { pname = "surge"; - version = "1.6.6"; + version = "1.7.1"; src = fetchFromGitHub { owner = "surge-synthesizer"; repo = pname; rev = "release_${version}"; - sha256 = "0al021f516ybhnp3lhqx8i6c6hpfaw3gqfwwxx3lx3hh4b8kjfjw"; + sha256 = "1jhk8iaqh89dnci4446b47315v2lc8gclraygk8m9jl20zpjxl0l"; fetchSubmodules = true; }; nativeBuildInputs = [ premake5 pkgconfig cmake ncurses which getopt python ]; - buildInputs = [ cairo libxkbcommon libxcb xcb-util-cursor xcbutilkeysyms gnome3.zenity lato ]; + buildInputs = [ cairo libxkbcommon libxcb xcb-util-cursor xcbutilkeysyms gnome3.zenity lato pcre libpthreadstubs libXdmcp xcbutilrenderutil xcbutilimage libsndfile ]; buildFlags = [ "config=release_x64" ]; @@ -29,16 +29,15 @@ stdenv.mkDerivation rec { substituteInPlace src/common/gui/PopupEditorDialog.cpp --replace zenity ${gnome3.zenity}/bin/zenity ''; - configurePhase = '' - ./build-linux.sh premake - python scripts/linux/emit-vector-piggy.py . - ''; + buildPhase = '' + ./build-linux.sh build; + ''; installPhase = '' mkdir -p $out/lib/lv2 - cp -r target/lv2/Release/Surge.lv2/ $out/lib/lv2 - mkdir -p $out/lib/vst - cp target/vst3/Release/Surge.so $out/lib/vst + 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 mkdir -p $out/share/surge cp -r resources/data/* $out/share/surge/ ''; @@ -46,7 +45,7 @@ stdenv.mkDerivation rec { doInstallCheck = true; installCheckPhase = '' ./build-linux.sh build -p headless - ./target/headless/Release/Surge/Surge-Headless + ./buildlin/surge-headless ''; meta = with stdenv.lib; { From 018f0862ba57c7d76573eb22bba90dc934800388 Mon Sep 17 00:00:00 2001 From: Orivej Desh Date: Wed, 2 Sep 2020 04:05:52 +0000 Subject: [PATCH 3/3] surge: fix build --- pkgs/applications/audio/surge/default.nix | 48 +++++++++-------------- pkgs/top-level/all-packages.nix | 5 ++- 2 files changed, 23 insertions(+), 30 deletions(-) diff --git a/pkgs/applications/audio/surge/default.nix b/pkgs/applications/audio/surge/default.nix index 216caec9b1c6..1614bbfae667 100644 --- a/pkgs/applications/audio/surge/default.nix +++ b/pkgs/applications/audio/surge/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchFromGitHub, premake5, pkgconfig, cmake -,cairo, libxkbcommon, libxcb, xcb-util-cursor, xcbutilkeysyms, ncurses, which, getopt -,python, gnome3, lato, pcre, libpthreadstubs, libXdmcp, xcbutilrenderutil, xcbutilimage, libsndfile }: +{ stdenv, fetchFromGitHub, cmake, git, pkg-config, python3 +, cairo, libsndfile, libxcb, libxkbcommon, xcbutil, xcbutilcursor, xcbutilkeysyms, zenity +}: stdenv.mkDerivation rec { pname = "surge"; @@ -10,49 +10,39 @@ stdenv.mkDerivation rec { owner = "surge-synthesizer"; repo = pname; rev = "release_${version}"; - sha256 = "1jhk8iaqh89dnci4446b47315v2lc8gclraygk8m9jl20zpjxl0l"; + sha256 = "1b3ccc78vrpzy18w7070zfa250dnd1bww147xxcnj457vd6n065s"; + leaveDotGit = true; # for SURGE_VERSION fetchSubmodules = true; }; - nativeBuildInputs = [ premake5 pkgconfig cmake ncurses which getopt python ]; + nativeBuildInputs = [ cmake git pkg-config python3 ]; + buildInputs = [ cairo libsndfile libxcb libxkbcommon xcbutil xcbutilcursor xcbutilkeysyms zenity ]; - buildInputs = [ cairo libxkbcommon libxcb xcb-util-cursor xcbutilkeysyms gnome3.zenity lato pcre libpthreadstubs libXdmcp xcbutilrenderutil xcbutilimage libsndfile ]; - - buildFlags = [ "config=release_x64" ]; - - enableParallelBuilding = true; - - patchPhase = '' - patchShebangs build-linux.sh + postPatch = '' 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 - ''; - - buildPhase = '' - ./build-linux.sh build; + 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 - 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 - mkdir -p $out/share/surge - cp -r resources/data/* $out/share/surge/ + 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 = '' - ./build-linux.sh build -p headless - ./buildlin/surge-headless + cd .. + build/surge-headless ''; meta = with stdenv.lib; { - description = "LV2 & VST Synthesizer plug-in (previously released as Vember Audio Surge)"; + 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 ]; + maintainers = with maintainers; [ magnetophon orivej ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 49c7c45ae274..ae612d83797e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23135,7 +23135,10 @@ in surf-display = callPackage ../desktops/surf-display { }; - surge = callPackage ../applications/audio/surge { }; + surge = callPackage ../applications/audio/surge { + inherit (gnome3) zenity; + git = gitMinimal; + }; sunvox = callPackage ../applications/audio/sunvox { };