From 195da989043f2b6b7e2e9ec67b4d31f499fb0714 Mon Sep 17 00:00:00 2001 From: EEva Date: Mon, 6 Dec 2021 23:13:34 +0200 Subject: [PATCH] vcv-rack v2.0.2! --- pkgs/vcv-rack/default.nix | 62 ++++++++++++++++++++++++++++++++++----- 1 file changed, 54 insertions(+), 8 deletions(-) diff --git a/pkgs/vcv-rack/default.nix b/pkgs/vcv-rack/default.nix index 0567f06..eee81ae 100644 --- a/pkgs/vcv-rack/default.nix +++ b/pkgs/vcv-rack/default.nix @@ -1,9 +1,49 @@ -{ gcc11Stdenv, lib, makeWrapper, fetchzip, fetchFromGitHub, pkg-config -, alsa-lib, curl, ghc_filesystem, glew, glfw, gtk3-x11, jansson, jq, libarchive -, libjack2, libpulseaudio, libXext, libXi, rtaudio, rtmidi, speex +{ gcc11Stdenv, lib, makeWrapper, fetchzip, fetchFromGitHub, fetchFromBitbucket +, pkg-config, alsa-lib, curl, ghc_filesystem, glew, glfw, gtk3-x11, jansson, jq +, libarchive, libjack2, libpulseaudio, libXext, libXi, rtaudio, rtmidi, speex , libsamplerate, zstd, wrapGAppsHook }: let + # The package repo vendors some of the package dependencies as submodules. + # Unfortunately, they are not pinned, so we have no guarantee that they + # will be stable, and therefore, we can't use them directly. Instead + # we'll have to fetch them separately ourselves. + pffft-source = fetchFromBitbucket { + owner = "jpommier"; + repo = "pffft"; + rev = "988259a41d1522047a9420e6265a6ba8289c1654"; + sha256 = "Oq5N02UNXsbhcPUfjMtD0cgqAZsGx9ke9A+ArrenzGE="; + }; + fuzzysearchdatabase-source = fetchFromBitbucket { + owner = "j_norberg"; + repo = "fuzzysearchdatabase"; + rev = "fe62479811e503ef3c091f5a859d27bfcf0a44da"; + sha256 = "zgeUzuuInHPeveBIjlivRGIz+NSb7cW/9hMndxm6qOA="; + }; + nanovg-source = fetchFromGitHub { + owner = "VCVRack"; + repo = "nanovg"; + rev = "0bebdb314aff9cfa28fde4744bcb037a2b3fd756"; + sha256 = "HmQhCE/zIKc3f+Zld229s5i5MWzRrBMF9gYrn8JVQzg="; + }; + nanosvg-source = fetchFromGitHub { + owner = "memononen"; + repo = "nanosvg"; + rev = "ccdb1995134d340a93fb20e3a3d323ccb3838dd0"; + sha256 = "ymziU0NgGqxPOKHwGm0QyEdK/8jL/QYk5UdIQ3Tn8jw="; + }; + osdialog-source = fetchFromGitHub { + owner = "AndrewBelt"; + repo = "osdialog"; + rev = "e5faf7ea0fce3104bf0c8f2c0e8a5a2e454ed42f"; + sha256 = "5b+OjaoP5hRs53UED0Z5ro2HD/75K5NyzKQiO5pNBEU="; + }; + oui-blendish-source = fetchFromGitHub { + owner = "AndrewBelt"; + repo = "oui-blendish"; + rev = "2fc6405883f8451944ed080547d073c8f9f31898"; + sha256 = "/QZFZuI5kSsEvSfMJlcqB1HiZ9Vcf3vqLqWIMEgxQK8="; + }; fundamental-source = fetchFromGitHub { owner = "VCVRack"; repo = "Fundamental"; @@ -17,15 +57,13 @@ in # for those plugins which were built with v11 with lib; gcc11Stdenv.mkDerivation rec { pname = "VCV-Rack"; - version = "2.0.1"; + version = "2.0.2"; src = fetchFromGitHub { owner = "VCVRack"; repo = "Rack"; rev = "v${version}"; - sha256 = "gy+YiYhgBO9eoEBP0PmteVjfaJWWIa/Ye9tvJG1b6aw="; - # The project pins some source dependencies (see below) - fetchSubmodules = true; + sha256 = "cK4dZgTx3Gq/UKfnCycLp7Y8fbrgRTHI9Ef19nNWd0o="; }; patches = [ @@ -33,9 +71,17 @@ with lib; gcc11Stdenv.mkDerivation rec { ]; prePatch = '' - # Not sure if it's possible to use make dep yet + # As we can't use `make dep` to set up the dependencies (as explained + # above), we do it here manually mkdir -p dep/include + cp -r ${pffft-source}/* dep/pffft + cp -r ${fuzzysearchdatabase-source}/* dep/fuzzysearchdatabase + cp -r ${nanovg-source}/* dep/nanovg + cp -r ${nanosvg-source}/* dep/nanosvg + cp -r ${osdialog-source}/* dep/osdialog + cp -r ${oui-blendish-source}/* dep/oui-blendish + cp dep/pffft/*.h dep/include cp dep/fuzzysearchdatabase/src/*.hpp dep/include cp dep/nanosvg/**/*.h dep/include