From a72c8a1d1c9785c037981c6c74cbc7e4a0df9b42 Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Sat, 22 May 2021 00:11:59 +0200 Subject: [PATCH] surge: 1.8.1 -> 1.9.0 --- pkgs/applications/audio/surge/default.nix | 41 +++++++++++++---------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/pkgs/applications/audio/surge/default.nix b/pkgs/applications/audio/surge/default.nix index ed15d49cfe0..849b07d67e1 100644 --- a/pkgs/applications/audio/surge/default.nix +++ b/pkgs/applications/audio/surge/default.nix @@ -1,41 +1,46 @@ -{ lib, stdenv, fetchFromGitHub, cmake, git, pkg-config, python3 +{ stdenv, lib, fetchurl, fetchFromGitHub, cmake, git, pkg-config, python3 , cairo, libsndfile, libxcb, libxkbcommon, xcbutil, xcbutilcursor, xcbutilkeysyms, zenity +, curl, rsync }: stdenv.mkDerivation rec { pname = "surge"; - version = "1.8.1"; + version = "1.9.0"; - src = fetchFromGitHub { - owner = "surge-synthesizer"; - repo = pname; - rev = "release_${version}"; - sha256 = "0lla860g7zgn9n1zgy14g4j72d5n5y7isyxz2w5xy2fzdpdg24ql"; - leaveDotGit = true; # for SURGE_VERSION - fetchSubmodules = true; + src = fetchurl { + url = "https://github.com/surge-synthesizer/releases/releases/download/${version}/SurgeSrc_${version}.tgz"; + sha256 = "00af4lfcipl0rn0dn4gfipx7nbk8ym1mrmji8v0ar98frsrpxg4k"; }; + extraContent = fetchFromGitHub { + owner = "surge-synthesizer"; + repo = "surge-extra-content"; + # rev from: https://github.com/surge-synthesizer/surge/blob/release_1.8.1/cmake/stage-extra-content.cmake#L6 + # or: https://github.com/surge-synthesizer/surge/blob/main/cmake/stage-extra-content.cmake + # SURGE_EXTRA_CONTENT_HASH + rev = "afc591cc06d9adc3dc8dc515a55c66873fa10296"; + sha256 = "1wqv86l70nwlrb10n47rib80f47a96j9qqg8w5dv46ys1sq2nz7z"; + }; nativeBuildInputs = [ cmake git pkg-config python3 ]; - buildInputs = [ cairo libsndfile libxcb libxkbcommon xcbutil xcbutilcursor xcbutilkeysyms zenity ]; + buildInputs = [ cairo libsndfile libxcb libxkbcommon xcbutil xcbutilcursor xcbutilkeysyms zenity curl rsync ]; postPatch = '' substituteInPlace src/common/SurgeStorage.cpp --replace "/usr/share/Surge" "$out/share/surge" 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 - patchShebangs scripts/linux/emit-vector-piggy - patchShebangs scripts/linux/generate-lv2-ttl + patchShebangs scripts/linux/ + cp -r $extraContent/Skins/ resources/data/skins ''; + 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/ + cd .. + cmake --build build --config Release --target install-everything-global ''; doInstallCheck = true; installCheckPhase = '' - cd .. + export HOME=$(mktemp -d) + export SURGE_DISABLE_NETWORK_TESTS=TRUE build/surge-headless '';